O'Reilly logo

Java Examples in a Nutshell, 3rd Edition by David Flanagan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

ListManager Model Classes

The ListManager web application uses a User object to model a mailing list subscriber and her mail delivery preferences. The User class does not have a public constructor, however. Instead, User objects are returned from a UserFactory object, which uses a database backend to provide a persistent store for subscriptions and delivery preferences. The four public methods of UserFactory are:

insert( )

Adds a subscription to the database and returns a User object for it

select( )

Looks up the User object that corresponds to a specified email address and password

update( )

Updates email delivery preferences in the database to match the current state of the specified User object

delete( )

Deletes a subscription from the database, unsubscribing the specified User from the mailing list

Note that these four methods are named after the SQL statements they each use. The source code for User and UserFactory are listed in Examples Example 20-7 and Example 20-8.

Example 20-7. User.java

package je3.servlet; /** * This class represents a mailing list subscriber. * It has JavaBeans-style property accessor methods. */ public class User { String email; // The user's e-mail address boolean html; // Whether the user wants HTML-formatted messages boolean digest; // Whether the user wants digests boolean deleted; // Set by UserFactory.delete( ); tested by insert( ) // The constructor is package-private. // See UserFactory for public methods to obtain a User object. User(String email, boolean ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required