Openfire 3.5.0.rc1 Javadoc

org.jivesoftware.openfire.user
Class User

java.lang.Object
  extended by org.jivesoftware.openfire.user.User
All Implemented Interfaces:
Externalizable, Serializable, Result, Cacheable

public class User
extends Object
implements Cacheable, Externalizable, Result

Encapsulates information about a user. New users are created using UserManager.createUser(String, String, String, String). All user properties are loaded on demand and are read from the jiveUserProp database table. The currently-installed UserProvider is used for setting all other user data and some operations may not be supported depending on the capabilities of the UserProvider.

Author:
Matt Tucker
See Also:
Serialized Form

Constructor Summary
User()
          Constructor added for Externalizable.
User(String username, String name, String email, Date creationDate, Date modificationDate)
          Constructs a new user.
 
Method Summary
 boolean equals(Object object)
           
 int getCachedSize()
          Returns the approximate size of the Object in bytes.
 Date getCreationDate()
           
 String getEmail()
          Returns the email address of the user or null if none is defined.
 Date getModificationDate()
           
 String getName()
           
 Map<String,String> getProperties()
          Returns all extended properties of the user.
static String getPropertyValue(String username, String propertyName)
          Returns the value of the specified property for the given username.
 Roster getRoster()
          Returns the user's roster.
 String getUID()
          Returns a unique identifier for this Result.
 String getUsername()
          Returns this user's username.
 int hashCode()
           
 boolean isEmailVisible()
          Returns true if email is visible to everyone or not.
 boolean isNameVisible()
          Returns true if name is visible to everyone or not.
 void readExternal(ObjectInput in)
           
 void setCreationDate(Date creationDate)
           
 void setEmail(String email)
           
 void setEmailVisible(boolean visible)
          Sets if the email is visible to everyone or not.
 void setModificationDate(Date modificationDate)
           
 void setName(String name)
           
 void setNameVisible(boolean visible)
          Sets if name is visible to everyone or not.
 void setPassword(String password)
          Sets a new password for this user.
 String toString()
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

User

public User()
Constructor added for Externalizable. Do not use this constructor.


User

public User(String username,
            String name,
            String email,
            Date creationDate,
            Date modificationDate)
Constructs a new user. Normally, all arguments can be null except the username. However, a UserProvider -may- require a name or email address. In those cases, the isNameRequired or isEmailRequired UserProvider tests indicate whether null is allowed. Typically, User objects should not be constructed by end-users of the API. Instead, user objects should be retrieved using UserManager.getUser(String).

Parameters:
username - the username.
name - the name.
email - the email address.
creationDate - the date the user was created.
modificationDate - the date the user was last modified.
Method Detail

getPropertyValue

public static String getPropertyValue(String username,
                                      String propertyName)
Returns the value of the specified property for the given username. This method is an optimization to avoid loading a user to get a specific property.

Parameters:
username - the username of the user to get a specific property value.
propertyName - the name of the property to return its value.
Returns:
the value of the specified property for the given username.

getUsername

public String getUsername()
Returns this user's username.

Returns:
the username..

setPassword

public void setPassword(String password)
Sets a new password for this user.

Parameters:
password - the new password for the user.

getName

public String getName()

setName

public void setName(String name)

isNameVisible

public boolean isNameVisible()
Returns true if name is visible to everyone or not.

Returns:
true if name is visible to everyone, false if not.

setNameVisible

public void setNameVisible(boolean visible)
Sets if name is visible to everyone or not.

Parameters:
visible - true if name is visible, false if not.

getEmail

public String getEmail()
Returns the email address of the user or null if none is defined.

Returns:
the email address of the user or nullif none is defined.

setEmail

public void setEmail(String email)

isEmailVisible

public boolean isEmailVisible()
Returns true if email is visible to everyone or not.

Returns:
true if email is visible to everyone, false if not.

setEmailVisible

public void setEmailVisible(boolean visible)
Sets if the email is visible to everyone or not.

Parameters:
visible - true if the email is visible, false if not.

getCreationDate

public Date getCreationDate()

setCreationDate

public void setCreationDate(Date creationDate)

getModificationDate

public Date getModificationDate()

setModificationDate

public void setModificationDate(Date modificationDate)

getProperties

public Map<String,String> getProperties()
Returns all extended properties of the user. Users have an arbitrary number of extended properties. The returned collection can be modified to add new properties or remove existing ones.

Returns:
the extended properties.

getRoster

public Roster getRoster()
Returns the user's roster. A roster is a list of users that the user wishes to know if they are online. Rosters are similar to buddy groups in popular IM clients.

Returns:
the user's roster.

getCachedSize

public int getCachedSize()
Description copied from interface: Cacheable
Returns the approximate size of the Object in bytes. The size should be considered to be a best estimate of how much memory the Object occupies and may be based on empirical trials or dynamic calculations.

Specified by:
getCachedSize in interface Cacheable
Returns:
the size of the Object in bytes.

toString

public String toString()
Overrides:
toString in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object object)
Overrides:
equals in class Object

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException

getUID

public String getUID()
Description copied from interface: Result
Returns a unique identifier for this Result. Each element in a ResultSet must have a distinct UIDs. XEP-0059 says: (...) the UIDs are unique in the context of all possible members of the full result set. Each UID MAY be based on part of the content of its associated item (...) or on an internal table index. Another possible method is to serialize the XML of the item and then hash it to generate the UID. Note: The requesting entity MUST treat all UIDs as opaque.

Specified by:
getUID in interface Result
Returns:
Unique ID of the Result

Openfire 3.5.0.rc1 Javadoc

Copyright © 2003-2007 Jive Software.