bootstrapP
Class UsersDatabase

java.lang.Object
  extended by bootstrapP.UsersDatabase

public class UsersDatabase
extends java.lang.Object

The database of users registered on the Bootstrap server.

Author:
Marco Cornolti

Field Summary
(package private) static java.util.List<RegisteredUser> users
           
 
Constructor Summary
UsersDatabase()
           
 
Method Summary
static void deleteUser(java.lang.String nick)
          Deletes a user from the database.
static RegisteredUser getUser(java.lang.String nick)
          Returns a Registered User contained in the database from a given user nickname.
static RegisteredUser getUser(User user)
          Returns a Registered User contained in the database from a given User.
static java.util.List<RegisteredUser> getUsers()
          Returns the list of registered users.
static int getUsersNumber()
          Gets the total number of registered users.
static void refreshMovedUser(RegisteredUser reg, ManagedMessageServer ms)
           
static void registerUser(java.lang.String pw, java.lang.String nick, ManagedMessageServer ms)
          Registers a new user into the database.
static void restoreData(java.util.List<RegisteredUser> restoredUsers)
          Restores the working users with those given by argument.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

users

static java.util.List<RegisteredUser> users
Constructor Detail

UsersDatabase

public UsersDatabase()
Method Detail

getUser

public static RegisteredUser getUser(User user)
Returns a Registered User contained in the database from a given User. Takes log(n) where n is the number of registered users.

Parameters:
user - the user to search for (only the nickname is considered)
Returns:
null if the user is not contained in the database, the Registered User otherwise.

getUser

public static RegisteredUser getUser(java.lang.String nick)
Returns a Registered User contained in the database from a given user nickname. Takes log(n) where n is the number of registered users.

Parameters:
nick - the nickname of the user to search for.
Returns:
null if the user is not contained in the database, the Registered User otherwise.

registerUser

public static void registerUser(java.lang.String pw,
                                java.lang.String nick,
                                ManagedMessageServer ms)
Registers a new user into the database.

Parameters:
pw - the user password.
nick - the user nickname.
ms - the message server the user is assignet to.

deleteUser

public static void deleteUser(java.lang.String nick)
Deletes a user from the database.

Parameters:
nick - the nickname of the user to delete.

getUsersNumber

public static int getUsersNumber()
Gets the total number of registered users.

Returns:
the total number of registered users.

restoreData

public static void restoreData(java.util.List<RegisteredUser> restoredUsers)
Restores the working users with those given by argument. Should only be used at boot time!

Parameters:
restoredUsers - the new users.

getUsers

public static java.util.List<RegisteredUser> getUsers()
Returns the list of registered users. For backup purposals only. The returned list must not be modified.

Returns:
the list of registered users.

refreshMovedUser

public static void refreshMovedUser(RegisteredUser reg,
                                    ManagedMessageServer ms)