Class User

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

public class User extends Object implements Cacheable, Externalizable, org.xmpp.resultsetmanagement.Result
Encapsulates information about a user. New users are created using UserManager.createUser(String, String, String, String). 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. All user properties are loaded on demand from the currently-installed UserPropertyProvider.
Author:
Matt Tucker
See Also:
  • Constructor Details

    • 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 Details

    • getPropertyValue

      public static String getPropertyValue(String username, String propertyName) throws UserNotFoundException
      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.
      Throws:
      UserNotFoundException - Depending on the installed user provider (some will return null instead).
    • getUsername

      public String getUsername()
      Returns this user's username.
      Returns:
      the username..
    • setPassword

      public void setPassword(String password) throws UnsupportedOperationException
      Sets a new password for this user.
      Parameters:
      password - the new password for the user.
      Throws:
      UnsupportedOperationException - exception
    • getStoredKey

      public String getStoredKey()
    • setStoredKey

      public void setStoredKey(String storedKey)
    • getServerKey

      public String getServerKey()
    • setServerKey

      public void setServerKey(String serverKey)
    • getSalt

      public String getSalt()
    • setSalt

      public void setSalt(String salt)
    • getIterations

      public int getIterations()
    • setIterations

      public void setIterations(int iterations)
    • 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 null if 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() throws CannotCalculateSizeException
      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.
      Throws:
      CannotCalculateSizeException - if the size cannot be calculated
    • 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()
      Specified by:
      getUID in interface org.xmpp.resultsetmanagement.Result