blather.controller
Interface AppControllerInterface

All Known Implementing Classes:
AppController

public interface AppControllerInterface


Field Summary
static java.lang.String DEFAULT_FILENAME
           
 
Method Summary
 UserControllerInterface getUser(java.lang.String username, java.lang.String sessionID)
          Returns a newly-allocated UserController for the given username.
 java.lang.String[] getUserList()
          Returns a list of all valid user names in the user database.
 boolean load()
          Loads a user database from the default filename.
 boolean loadFromFile(java.lang.String filename)
          Loads a user database from the given filename.
 java.lang.String login(java.lang.String username, java.lang.String password)
          Logs the given user in to the session database
 void logout(java.lang.String session)
          Logs out the user with the given session ID.
 boolean newUser(java.lang.String username, java.lang.String password, java.lang.String email)
          Creates a new user with the specified username, password, and email address.
 boolean save()
          Saves the user database to the default filename.
 boolean saveToFile(java.lang.String filename)
          Saves the user database to the given filename.
 boolean userExists(java.lang.String username)
          Returns true if the given username is valid, false otherwise.
 

Field Detail

DEFAULT_FILENAME

static final java.lang.String DEFAULT_FILENAME
See Also:
Constant Field Values
Method Detail

newUser

boolean newUser(java.lang.String username,
                java.lang.String password,
                java.lang.String email)
Creates a new user with the specified username, password, and email address. The username must not already be taken in the user database, the email address must be valid (as given by EmailAddress.isValid()), and the password must be at least four characters. If these conditions are met, a new BlatherUser is created and added to the UserDB.

Returns:
true on success, false on failure

login

java.lang.String login(java.lang.String username,
                       java.lang.String password)
Logs the given user in to the session database

Parameters:
username -
password -
Returns:
a session ID if login was successful; null if login fails (e.g. wrong username or password).

logout

void logout(java.lang.String session)
Logs out the user with the given session ID.

Parameters:
session -

userExists

boolean userExists(java.lang.String username)
Returns true if the given username is valid, false otherwise.

Parameters:
username -
Returns:

getUser

UserControllerInterface getUser(java.lang.String username,
                                java.lang.String sessionID)
Returns a newly-allocated UserController for the given username. If username is not valid, throws a new BogusParameterException. If the person using the application is logged in, you must pass a valid session ID to this method.

Parameters:
username -
sessionID -
Returns:

getUserList

java.lang.String[] getUserList()
Returns a list of all valid user names in the user database.

Returns:

save

boolean save()
Saves the user database to the default filename. Returns true on success, false on failure.


load

boolean load()
Loads a user database from the default filename. Returns true on success, false on failure.


saveToFile

boolean saveToFile(java.lang.String filename)
Saves the user database to the given filename.

Parameters:
filename -
Returns:
true on success, false on failure

loadFromFile

boolean loadFromFile(java.lang.String filename)
Loads a user database from the given filename.

Parameters:
filename -
Returns:
true on success, false on failure