Package org.apache.wiki.auth.user
Class DefaultUserProfile
java.lang.Object
org.apache.wiki.auth.user.DefaultUserProfile
- All Implemented Interfaces:
java.io.Serializable
,UserProfile
public final class DefaultUserProfile extends java.lang.Object implements UserProfile
Default implementation for representing wiki user information, such as the login name, full name, wiki name, and e-mail address.
- Since:
- 2.3
- See Also:
- Serialized Form
-
Method Summary
Modifier and Type Method Description boolean
equals(java.lang.Object o)
java.util.Map<java.lang.String,java.io.Serializable>
getAttributes()
Returns the attributes associated with this profile as a Map of key/value pairs.java.util.Date
getCreated()
Returns the creation datejava.lang.String
getEmail()
Returns the user's e-mail address.java.lang.String
getFullname()
Returns the user's full name.java.util.Date
getLastModified()
Returns the last-modified date.java.util.Date
getLockExpiry()
Returns the date/time of expiration of the profile's lock, if it has been previously locked viaUserProfile.setLockExpiry(Date)
and the lock is still active.java.lang.String
getLoginName()
Returns the user's login name.java.lang.String
getPassword()
Returns the user password for use with custom authentication.java.lang.String
getUid()
Returns the unique identifier for the user profile.java.lang.String
getWikiName()
Returns the user's wiki name.int
hashCode()
boolean
isLocked()
Returnstrue
if the profile is currently locked (disabled);false
otherwise.boolean
isNew()
Returnstrue
if the user profile is new.void
setCreated(java.util.Date date)
Sets the created date.void
setEmail(java.lang.String email)
Sets the user's e-mail address.void
setFullname(java.lang.String arg)
Sets the user's full name.void
setLastModified(java.util.Date date)
Sets the last-modified date.void
setLockExpiry(java.util.Date expiry)
Locks the profile until a specified lock expiration date.void
setLoginName(java.lang.String name)
Sets the name by which the user logs in.void
setPassword(java.lang.String arg)
Sets the user's password for use with custom authentication.void
setUid(java.lang.String uid)
Sets the unique identifier for the user profile.java.lang.String
toString()
Returns a string representation of this user profile.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Method Details
-
equals
- Overrides:
equals
in classjava.lang.Object
-
hashCode
- Overrides:
hashCode
in classjava.lang.Object
-
getCreated
Returns the creation date- Specified by:
getCreated
in interfaceUserProfile
- Returns:
- the creation date
- See Also:
UserProfile.getCreated()
-
getEmail
Returns the user's e-mail address.- Specified by:
getEmail
in interfaceUserProfile
- Returns:
- the e-mail address
-
getFullname
Returns the user's full name.- Specified by:
getFullname
in interfaceUserProfile
- Returns:
- the full name
-
getLastModified
Returns the last-modified date.- Specified by:
getLastModified
in interfaceUserProfile
- Returns:
- the last-modified date
- See Also:
UserProfile.getLastModified()
-
getLoginName
Returns the user's login name.- Specified by:
getLoginName
in interfaceUserProfile
- Returns:
- the login name
-
getPassword
Returns the user password for use with custom authentication. Note that the password field is not meaningful for container authentication; the user's private credentials are generally stored elsewhere. While it depends on theUserDatabase
implementation, in most cases the value returned by this method will be a password hash, not the password itself.- Specified by:
getPassword
in interfaceUserProfile
- Returns:
- the password
-
getWikiName
Returns the user's wiki name.- Specified by:
getWikiName
in interfaceUserProfile
- Returns:
- the wiki name.
-
isNew
Returnstrue
if the user profile is new. This implementation checks whethergetLastModified()
returnsnull
to determine the status.- Specified by:
isNew
in interfaceUserProfile
- Returns:
- whether the profile is new
- See Also:
UserProfile.isNew()
-
setCreated
Description copied from interface:UserProfile
Sets the created date.- Specified by:
setCreated
in interfaceUserProfile
- Parameters:
date
- the creation date- See Also:
UserProfile.setCreated(java.util.Date)
-
setEmail
Sets the user's e-mail address.- Specified by:
setEmail
in interfaceUserProfile
- Parameters:
email
- the e-mail address
-
setFullname
Sets the user's full name. For example, "Janne Jalkanen."- Specified by:
setFullname
in interfaceUserProfile
- Parameters:
arg
- the full name
-
setLastModified
Sets the last-modified date.- Specified by:
setLastModified
in interfaceUserProfile
- Parameters:
date
- the last-modified date- See Also:
UserProfile.setLastModified(java.util.Date)
-
setLoginName
Sets the name by which the user logs in. The login name is used as the username for custom authentication (seeAuthenticationManager.login(org.apache.wiki.api.core.Session,HttpServletRequest, String, String)
). The login name is typically a short name ("jannej"). In contrast, the wiki name is typically of type FirstnameLastName ("JanneJalkanen").- Specified by:
setLoginName
in interfaceUserProfile
- Parameters:
name
- the login name
-
setPassword
Sets the user's password for use with custom authentication. It is not the responsibility of implementing classes to hash the password; that responsibility is borne by the UserDatabase implementation during save operations (seeUserDatabase.save(UserProfile)
). Note that the password field is not meaningful for container authentication; the user's private credentials are generally stored elsewhere.- Specified by:
setPassword
in interfaceUserProfile
- Parameters:
arg
- the password
-
toString
Returns a string representation of this user profile.- Specified by:
toString
in interfaceUserProfile
- Overrides:
toString
in classjava.lang.Object
- Returns:
- the string
-
getAttributes
Returns the attributes associated with this profile as a Map of key/value pairs. The Map should generally be a "live" Map; changes to the keys or values will be reflected in the UserProfile.- Specified by:
getAttributes
in interfaceUserProfile
- Returns:
- the attributes
-
getLockExpiry
Returns the date/time of expiration of the profile's lock, if it has been previously locked viaUserProfile.setLockExpiry(Date)
and the lock is still active. If the profile is unlocked, this method returnsnull
. Note that calling this method after the expiration date, even if had previously been set explicitly byUserProfile.setLockExpiry(Date)
, will always returnnull.
- Specified by:
getLockExpiry
in interfaceUserProfile
- Returns:
- the lock expiration date
-
getUid
Returns the unique identifier for the user profile. If not previously set, the value will benull
.- Specified by:
getUid
in interfaceUserProfile
- Returns:
- the unique ID.
-
isLocked
Returnstrue
if the profile is currently locked (disabled);false
otherwise. By default, profiles are created unlocked. Strictly speaking, calling this method is equivalent to callingUserProfile.getLockExpiry()
and, if it returns a non-null
value, checking if the date returned is later than the current time.- Specified by:
isLocked
in interfaceUserProfile
- Returns:
- the result
-
setLockExpiry
Locks the profile until a specified lock expiration date.- Specified by:
setLockExpiry
in interfaceUserProfile
- Parameters:
expiry
- the date the lock expires; setting this value tonull
will cause the lock to be cleared.
-
setUid
Sets the unique identifier for the user profile. Note that UserDatabase implementations are required not to change the unique identifier after the initial save.- Specified by:
setUid
in interfaceUserProfile
- Parameters:
uid
- the unique identifier to set
-