com.solidstategroup.user
Class User

java.lang.Object
  extended by com.solidstategroup.user.User
All Implemented Interfaces:
com.solidstategroup.handles.Identifiable
Direct Known Subclasses:
WebUser

public class User
extends java.lang.Object
implements com.solidstategroup.handles.Identifiable


Field Summary
protected  java.util.Date dateOfLogin
           
protected  java.util.Date firstInvalidLogin
           
protected  boolean isLoggedIn
           
protected  java.util.Date lockedOut
           
static int LOGIN_ATTEMPT_ALREADYLOGGEDIN
           
static int LOGIN_ATTEMPT_INVALIDUSERNAMEORPASSWORD
           
static int LOGIN_ATTEMPT_SUCCESSFUL
           
static int LOGIN_ATTEMPT_USER_EXPIRED
           
static int LOGIN_ATTEMPT_USER_IP_RESTRICTED
           
static int LOGIN_ATTEMPT_USER_SESSION_EXPIRED
           
static int LOGIN_ATTEMPT_USERLOCKEDOUT
           
static int LOGIN_ATTEMPT_USERNAMEORPASSWORDNOTSUPPLIED
           
static int LOGIN_FAILED_ATTEMPTS
           
static int LOGIN_LOCKOUT_PERIOD
           
protected  int numberOfInvalidAttempts
           
static int RESET_PASSWORD_NEW_PASSWORD_GRACE_PERIOD
           
 
Constructor Summary
User()
           
 
Method Summary
 boolean checkEmailAddressIsAvailable(java.lang.String emailAddress)
           
 boolean checkEmailAddressIsAvailable(java.lang.String emailAddress, int belongsTo)
          Optinally check that it doesn't belong to this user
 boolean checkUsernameIsAvailable(java.lang.String username)
           
 boolean checkUsernameIsAvailable(java.lang.String username, int belongsTo)
           
 void clear()
           
 User copyUser()
           
 int countNumberOfNonAlphabetChars(java.lang.String stringToCount)
           
protected  java.lang.String generateRandomPassword(int totalNumberOfChars, int numberOfNonAlphabetChars)
           
 java.lang.String getEmailAddress()
           
 java.lang.String getForename()
           
 java.lang.String getFullname()
           
 java.lang.String getFullname(int numberOfCharsToDisplay)
           
 int getId()
           
 boolean getIsLoggedIn()
           
static int getMinimumNonAlphabetPasswordChars()
           
static int getMinimumPasswordChars()
           
 java.lang.String getMobilePhoneNumber()
           
 java.lang.String getPassword()
           
 java.lang.String getPasswordMD5()
           
 boolean getRequiresPassword()
           
 java.lang.String getSurname()
           
 int getUserId()
           
 java.lang.String getUserIdEncrypted()
           
 java.lang.String getUsername()
           
 void logout()
           
 void setEmailAddress(java.lang.String emailAddress)
           
 boolean setEmailAddressWithValidation(java.lang.String emailAddress)
           
 void setForename(java.lang.String forename)
           
 void setIsLoggedIn(boolean loggedIn)
           
static void setMinimumNonAlphabetPasswordChars(int minimumNonAlphabetPasswordChars)
           
static void setMinimumPasswordChars(int minimumPasswordChars)
           
 void setMobilePhoneNumber(java.lang.String mobilePhoneNumber)
           
 void setPassword(java.lang.String password)
           
 void setRequiresPassword(boolean requiresPassword)
           
 void setSurname(java.lang.String surname)
           
 void setUserId(int userId)
           
 void setUserIdEncrypted(java.lang.String userIdEncrypted)
           
 void setUsername(java.lang.String username)
           
 boolean storePassword(java.lang.String newPassword)
           
 boolean storePassword(java.lang.String newPassword, boolean validate)
           
 boolean validatePassword()
           
 boolean validatePassword(java.lang.String password)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGIN_FAILED_ATTEMPTS

public static final int LOGIN_FAILED_ATTEMPTS
See Also:
Constant Field Values

LOGIN_LOCKOUT_PERIOD

public static final int LOGIN_LOCKOUT_PERIOD
See Also:
Constant Field Values

RESET_PASSWORD_NEW_PASSWORD_GRACE_PERIOD

public static final int RESET_PASSWORD_NEW_PASSWORD_GRACE_PERIOD
See Also:
Constant Field Values

LOGIN_ATTEMPT_SUCCESSFUL

public static final int LOGIN_ATTEMPT_SUCCESSFUL
See Also:
Constant Field Values

LOGIN_ATTEMPT_INVALIDUSERNAMEORPASSWORD

public static final int LOGIN_ATTEMPT_INVALIDUSERNAMEORPASSWORD
See Also:
Constant Field Values

LOGIN_ATTEMPT_ALREADYLOGGEDIN

public static final int LOGIN_ATTEMPT_ALREADYLOGGEDIN
See Also:
Constant Field Values

LOGIN_ATTEMPT_USERLOCKEDOUT

public static final int LOGIN_ATTEMPT_USERLOCKEDOUT
See Also:
Constant Field Values

LOGIN_ATTEMPT_USERNAMEORPASSWORDNOTSUPPLIED

public static final int LOGIN_ATTEMPT_USERNAMEORPASSWORDNOTSUPPLIED
See Also:
Constant Field Values

LOGIN_ATTEMPT_USER_EXPIRED

public static final int LOGIN_ATTEMPT_USER_EXPIRED
See Also:
Constant Field Values

LOGIN_ATTEMPT_USER_SESSION_EXPIRED

public static final int LOGIN_ATTEMPT_USER_SESSION_EXPIRED
See Also:
Constant Field Values

LOGIN_ATTEMPT_USER_IP_RESTRICTED

public static final int LOGIN_ATTEMPT_USER_IP_RESTRICTED
See Also:
Constant Field Values

isLoggedIn

protected boolean isLoggedIn

firstInvalidLogin

protected java.util.Date firstInvalidLogin

numberOfInvalidAttempts

protected int numberOfInvalidAttempts

lockedOut

protected java.util.Date lockedOut

dateOfLogin

protected java.util.Date dateOfLogin
Constructor Detail

User

public User()
Method Detail

clear

public void clear()

checkUsernameIsAvailable

public boolean checkUsernameIsAvailable(java.lang.String username)

checkUsernameIsAvailable

public boolean checkUsernameIsAvailable(java.lang.String username,
                                        int belongsTo)

checkEmailAddressIsAvailable

public boolean checkEmailAddressIsAvailable(java.lang.String emailAddress)

checkEmailAddressIsAvailable

public boolean checkEmailAddressIsAvailable(java.lang.String emailAddress,
                                            int belongsTo)
Optinally check that it doesn't belong to this user


storePassword

public boolean storePassword(java.lang.String newPassword)

storePassword

public boolean storePassword(java.lang.String newPassword,
                             boolean validate)

generateRandomPassword

protected java.lang.String generateRandomPassword(int totalNumberOfChars,
                                                  int numberOfNonAlphabetChars)

validatePassword

public boolean validatePassword()

validatePassword

public boolean validatePassword(java.lang.String password)

countNumberOfNonAlphabetChars

public int countNumberOfNonAlphabetChars(java.lang.String stringToCount)

copyUser

public User copyUser()

getUserIdEncrypted

public java.lang.String getUserIdEncrypted()

setUserIdEncrypted

public void setUserIdEncrypted(java.lang.String userIdEncrypted)

getUserId

public int getUserId()

setUserId

public void setUserId(int userId)

getId

public int getId()
Specified by:
getId in interface com.solidstategroup.handles.Identifiable

setEmailAddress

public void setEmailAddress(java.lang.String emailAddress)

getEmailAddress

public java.lang.String getEmailAddress()

setEmailAddressWithValidation

public boolean setEmailAddressWithValidation(java.lang.String emailAddress)

setRequiresPassword

public void setRequiresPassword(boolean requiresPassword)

getRequiresPassword

public boolean getRequiresPassword()

getForename

public java.lang.String getForename()

setForename

public void setForename(java.lang.String forename)

getSurname

public java.lang.String getSurname()

setSurname

public void setSurname(java.lang.String surname)

getUsername

public java.lang.String getUsername()

setUsername

public void setUsername(java.lang.String username)

getFullname

public java.lang.String getFullname()

getFullname

public java.lang.String getFullname(int numberOfCharsToDisplay)

getPassword

public java.lang.String getPassword()

getPasswordMD5

public java.lang.String getPasswordMD5()

setPassword

public void setPassword(java.lang.String password)

getMobilePhoneNumber

public java.lang.String getMobilePhoneNumber()

setMobilePhoneNumber

public void setMobilePhoneNumber(java.lang.String mobilePhoneNumber)

setIsLoggedIn

public void setIsLoggedIn(boolean loggedIn)

getIsLoggedIn

public boolean getIsLoggedIn()

logout

public void logout()

getMinimumPasswordChars

public static int getMinimumPasswordChars()

setMinimumPasswordChars

public static void setMinimumPasswordChars(int minimumPasswordChars)

getMinimumNonAlphabetPasswordChars

public static int getMinimumNonAlphabetPasswordChars()

setMinimumNonAlphabetPasswordChars

public static void setMinimumNonAlphabetPasswordChars(int minimumNonAlphabetPasswordChars)