net.sf.colossus.webcommon
Class User
java.lang.Object
net.sf.colossus.webcommon.User
public class User
- extends java.lang.Object
One user at the WebServer side.
Also used on client side, because interface requires so, but
basically only to store the username, everything else is unused.
The class statically contains a list of all user registered at the
Public Game Server; this list is read from a file (later a DB??)
into a HashMap to quickly look up all users.
- Author:
- Clemens Katzer
Constructor Summary |
|
User(java.lang.String name)
|
private |
User(java.lang.String name,
java.lang.String password,
java.lang.String email,
boolean isAdmin,
java.lang.String created,
java.lang.String lastLogin,
java.lang.String lastLogout,
long onlineSecs)
|
Method Summary |
private static long |
atLeast10(long original)
|
static java.lang.String |
changeProperties(java.lang.String username,
java.lang.String oldPW,
java.lang.String newPW,
java.lang.String email,
java.lang.Boolean isAdmin)
|
static void |
cleanup()
|
private static java.lang.String |
confirmIfCorrectCode(java.lang.String username,
java.lang.String tryConfirmationCode)
|
static java.lang.String |
confirmRegistration(java.lang.String username,
java.lang.String confirmationCode)
|
static User |
findUserByName(java.lang.String name)
|
static java.util.Collection<User> |
getAllUsers()
|
static int |
getDeadCount()
|
java.lang.String |
getEmail()
|
static int |
getEnrolledCount()
|
private java.lang.String |
getLastConfirmationCode()
|
static int |
getLoggedInCount()
|
static java.lang.String |
getLoggedInNamesAsString(java.lang.String useSeparator)
|
static java.util.Collection<User> |
getLoggedInUsers()
|
java.lang.String |
getName()
|
static int |
getPlayingCount()
|
static int |
getUserCount()
|
IWebClient |
getWebserverClient()
|
boolean |
isAdmin()
|
static boolean |
isUserOnline(User u)
|
private static java.lang.String |
makeConfirmationCode()
|
java.lang.String |
makeLine()
|
private static java.lang.String |
makeUserlineDate(long when)
|
static void |
parseUserLine(java.lang.String line)
|
static void |
readUsersFromFile(java.lang.String filename,
int maxUsersVal)
|
static java.lang.String |
registerUser(java.lang.String username,
java.lang.String password,
java.lang.String email,
IColossusMail mailObject)
|
static java.lang.String |
sendConfirmationMail(java.lang.String username,
java.lang.String email,
java.lang.String confCode,
IColossusMail mailObject)
|
void |
setIsAdmin(boolean val)
|
void |
setProperties(java.lang.String pw,
java.lang.String email,
java.lang.Boolean isAdminObj)
|
void |
setWebClient(IWebClient wsc)
|
static void |
storeUser(User u)
|
static void |
storeUsersToFile()
|
void |
updateLastLogin()
|
void |
updateLastLogout()
|
static java.lang.String |
verifyLogin(java.lang.String username,
java.lang.String password)
Given a username and password, verifies that the user
is allowed to login with that password. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOGGER
private static final java.util.logging.Logger LOGGER
userMap
private static java.util.HashMap<java.lang.String,User> userMap
loggedInUserMap
private static java.util.HashMap<java.lang.String,User> loggedInUserMap
ulSep
private static final java.lang.String ulSep
- See Also:
- Constant Field Values
usersFile
private static java.lang.String usersFile
typeUser
private static final java.lang.String typeUser
- See Also:
- Constant Field Values
typeAdmin
private static final java.lang.String typeAdmin
- See Also:
- Constant Field Values
maxUsers
private static int maxUsers
name
private final java.lang.String name
password
private java.lang.String password
email
private java.lang.String email
isAdmin
private boolean isAdmin
created
private java.lang.String created
lastLogin
private java.lang.String lastLogin
lastLogout
private java.lang.String lastLogout
onlineSecs
private long onlineSecs
sessionStarted
private long sessionStarted
lastSentConfirmationCode
private java.lang.String lastSentConfirmationCode
pendingRegistrations
private static final java.util.HashMap<java.lang.String,User> pendingRegistrations
webserverClient
private IWebClient webserverClient
MAX_RANDOM
private static final int MAX_RANDOM
- See Also:
- Constant Field Values
PROVIDE_CONFCODE
public static final java.lang.String PROVIDE_CONFCODE
- See Also:
- Constant Field Values
WRONG_CONFCODE
public static final java.lang.String WRONG_CONFCODE
- See Also:
- Constant Field Values
TEMPLATE_CONFCODE
public static final java.lang.String TEMPLATE_CONFCODE
- See Also:
- Constant Field Values
TEMPLATE_CONFCODE_REPLACEMENT
public static final java.lang.String TEMPLATE_CONFCODE_REPLACEMENT
- See Also:
- Constant Field Values
USERLINE_DATE_FORMAT
public static final java.lang.String USERLINE_DATE_FORMAT
- See Also:
- Constant Field Values
userlineDateFormatter
private static java.text.SimpleDateFormat userlineDateFormatter
User
public User(java.lang.String name)
User
private User(java.lang.String name,
java.lang.String password,
java.lang.String email,
boolean isAdmin,
java.lang.String created,
java.lang.String lastLogin,
java.lang.String lastLogout,
long onlineSecs)
getName
public java.lang.String getName()
getEmail
public java.lang.String getEmail()
getLastConfirmationCode
private java.lang.String getLastConfirmationCode()
isAdmin
public boolean isAdmin()
setIsAdmin
public void setIsAdmin(boolean val)
setProperties
public void setProperties(java.lang.String pw,
java.lang.String email,
java.lang.Boolean isAdminObj)
getWebserverClient
public IWebClient getWebserverClient()
setWebClient
public void setWebClient(IWebClient wsc)
verifyLogin
public static java.lang.String verifyLogin(java.lang.String username,
java.lang.String password)
- Given a username and password, verifies that the user
is allowed to login with that password.
- Parameters:
username
- password
-
- Returns:
- reasonLoginFailed (String), null if login ok
storeUser
public static void storeUser(User u)
getAllUsers
public static java.util.Collection<User> getAllUsers()
getUserCount
public static int getUserCount()
findUserByName
public static User findUserByName(java.lang.String name)
isUserOnline
public static boolean isUserOnline(User u)
getLoggedInUsers
public static java.util.Collection<User> getLoggedInUsers()
getLoggedInNamesAsString
public static java.lang.String getLoggedInNamesAsString(java.lang.String useSeparator)
getLoggedInCount
public static int getLoggedInCount()
getEnrolledCount
public static int getEnrolledCount()
getPlayingCount
public static int getPlayingCount()
getDeadCount
public static int getDeadCount()
registerUser
public static java.lang.String registerUser(java.lang.String username,
java.lang.String password,
java.lang.String email,
IColossusMail mailObject)
sendConfirmationMail
public static java.lang.String sendConfirmationMail(java.lang.String username,
java.lang.String email,
java.lang.String confCode,
IColossusMail mailObject)
atLeast10
private static long atLeast10(long original)
makeConfirmationCode
private static java.lang.String makeConfirmationCode()
confirmRegistration
public static java.lang.String confirmRegistration(java.lang.String username,
java.lang.String confirmationCode)
confirmIfCorrectCode
private static java.lang.String confirmIfCorrectCode(java.lang.String username,
java.lang.String tryConfirmationCode)
changeProperties
public static java.lang.String changeProperties(java.lang.String username,
java.lang.String oldPW,
java.lang.String newPW,
java.lang.String email,
java.lang.Boolean isAdmin)
makeUserlineDate
private static java.lang.String makeUserlineDate(long when)
updateLastLogin
public void updateLastLogin()
updateLastLogout
public void updateLastLogout()
parseUserLine
public static void parseUserLine(java.lang.String line)
readUsersFromFile
public static void readUsersFromFile(java.lang.String filename,
int maxUsersVal)
makeLine
public java.lang.String makeLine()
storeUsersToFile
public static void storeUsersToFile()
cleanup
public static void cleanup()