Class DefaultUserImpl

java.lang.Object
org.apache.turbine.om.security.DefaultUserImpl
All Implemented Interfaces:
jakarta.servlet.http.HttpSessionBindingListener, Serializable, EventListener, org.apache.fulcrum.security.entity.ExtendedUser, org.apache.fulcrum.security.entity.SecurityEntity, org.apache.fulcrum.security.entity.User, org.apache.fulcrum.security.model.turbine.entity.TurbineUser, org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRoleEntity, TurbineUserDelegate, User

public class DefaultUserImpl extends Object implements User
This is the Default user implementation. It is a wrapper around a TurbineUser object
Version:
$Id: TorqueUser.java 1199856 2011-11-09 17:06:04Z tv $
Author:
Thomas Vandahl
See Also:
  • Constructor Details

    • DefaultUserImpl

      public DefaultUserImpl(org.apache.fulcrum.security.model.turbine.entity.TurbineUser user)
      Constructor
      Parameters:
      user - the user object to wrap
  • Method Details

    • valueBound

      public void valueBound(jakarta.servlet.http.HttpSessionBindingEvent hsbe)
      Implement this method if you wish to be notified when the User has been Bound to the session.
      Specified by:
      valueBound in interface jakarta.servlet.http.HttpSessionBindingListener
      Parameters:
      hsbe - Indication of value/session binding.
    • valueUnbound

      public void valueUnbound(jakarta.servlet.http.HttpSessionBindingEvent hsbe)
      Implement this method if you wish to be notified when the User has been Unbound from the session.
      Specified by:
      valueUnbound in interface jakarta.servlet.http.HttpSessionBindingListener
      Parameters:
      hsbe - Indication of value/session unbinding.
    • getName

      public String getName()
      Get the Name of the SecurityEntity.
      Specified by:
      getName in interface org.apache.fulcrum.security.entity.SecurityEntity
      Returns:
      The Name of the SecurityEntity.
    • setName

      public void setName(String name)
      Sets the Name of the SecurityEntity.
      Specified by:
      setName in interface org.apache.fulcrum.security.entity.SecurityEntity
      Parameters:
      name - Name of the SecurityEntity.
    • getId

      public Object getId()
      Get the Id of the SecurityEntity.
      Specified by:
      getId in interface org.apache.fulcrum.security.entity.SecurityEntity
      Returns:
      The Id of the SecurityEntity.
    • setId

      public void setId(Object id)
      Sets the Id of the SecurityEntity.
      Specified by:
      setId in interface org.apache.fulcrum.security.entity.SecurityEntity
      Parameters:
      id - The new Id of the SecurityEntity
    • getPassword

      public String getPassword()
      Returns the user's password. This method should not be used by the application directly, because it's meaning depends upon the implementation of UserManager that manages this particular user object. Some implementations will use this attribute for storing a password encrypted in some way, other will not use it at all, when user entered password is presented to some external authority (like NT domain controller) to validate it. See also UserManager.authenticate(User,String).
      Specified by:
      getPassword in interface org.apache.fulcrum.security.entity.User
      Returns:
      A String with the password for the user.
    • setPassword

      public void setPassword(String password)
      Set password. Application should not use this method directly, see getPassword(). See also UserManager.changePassword(User,String,String).
      Specified by:
      setPassword in interface org.apache.fulcrum.security.entity.User
      Parameters:
      password - The new password.
    • getFirstName

      public String getFirstName()
      Returns the first name for this user.
      Specified by:
      getFirstName in interface org.apache.fulcrum.security.entity.ExtendedUser
      Returns:
      A String with the user's first name.
    • setFirstName

      public void setFirstName(String firstName)
      Sets the first name for this user.
      Specified by:
      setFirstName in interface org.apache.fulcrum.security.entity.ExtendedUser
      Parameters:
      firstName - User's first name.
    • getLastName

      public String getLastName()
      Returns the last name for this user.
      Specified by:
      getLastName in interface org.apache.fulcrum.security.entity.ExtendedUser
      Returns:
      A String with the user's last name.
    • setLastName

      public void setLastName(String lastName)
      Sets the last name for this user.
      Specified by:
      setLastName in interface org.apache.fulcrum.security.entity.ExtendedUser
      Parameters:
      lastName - User's last name.
    • getEmail

      public String getEmail()
      Returns the email address for this user.
      Specified by:
      getEmail in interface org.apache.fulcrum.security.entity.ExtendedUser
      Returns:
      A String with the user's email address.
    • setEmail

      public void setEmail(String address)
      Sets the email address.
      Specified by:
      setEmail in interface org.apache.fulcrum.security.entity.ExtendedUser
      Parameters:
      address - The email address.
    • getObjectdata

      public byte[] getObjectdata()
      Returns the value of the objectdata for this user. Objectdata is a storage area used to store the permanent storage table from the User object.
      Specified by:
      getObjectdata in interface org.apache.fulcrum.security.entity.ExtendedUser
      Returns:
      The bytes in the objectdata for this user
    • setObjectdata

      public void setObjectdata(byte[] objectdata)
      Sets the value of the objectdata for the user
      Specified by:
      setObjectdata in interface org.apache.fulcrum.security.entity.ExtendedUser
      Parameters:
      objectdata - The new permanent storage for the user
    • getUserGroupRoleSet

      public <T extends org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole> Set<T> getUserGroupRoleSet() throws org.apache.fulcrum.security.util.DataBackendException
      Get the User/Group/Role set associated with this entity
      Specified by:
      getUserGroupRoleSet in interface org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRoleEntity
      Returns:
      a set of User/Group/Role relations
      Throws:
      org.apache.fulcrum.security.util.DataBackendException - if there was an error accessing the data backend.
    • setUserGroupRoleSet

      public <T extends org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole> void setUserGroupRoleSet(Set<T> userGroupRoleSet)
      Set the User/Group/Role set associated with this entity
      Specified by:
      setUserGroupRoleSet in interface org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRoleEntity
      Parameters:
      userGroupRoleSet - a set of User/Group/Role relations
    • addUserGroupRole

      public void addUserGroupRole(org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole userGroupRole) throws org.apache.fulcrum.security.util.DataBackendException
      Add a User/Group/Role relation to this entity
      Specified by:
      addUserGroupRole in interface org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRoleEntity
      Parameters:
      userGroupRole - a User/Group/Role relation to add
      Throws:
      org.apache.fulcrum.security.util.DataBackendException - if there was an error accessing the data backend.
    • removeUserGroupRole

      public void removeUserGroupRole(org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole userGroupRole) throws org.apache.fulcrum.security.util.DataBackendException
      Remove a User/Group/Role relation from this entity
      Specified by:
      removeUserGroupRole in interface org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRoleEntity
      Parameters:
      userGroupRole - a User/Group/Role relation to remove
      Throws:
      org.apache.fulcrum.security.util.DataBackendException - if there was an error accessing the data backend.
    • getAccessCounter

      public int getAccessCounter()
      Gets the access counter for a user from perm storage.
      Specified by:
      getAccessCounter in interface User
      Returns:
      The access counter for the user.
    • getAccessCounterForSession

      Gets the access counter for a user during a session.
      Specified by:
      getAccessCounterForSession in interface User
      Returns:
      The access counter for the user for the session.
    • incrementAccessCounter

      public void incrementAccessCounter()
      Increments the permanent hit counter for the user.
      Specified by:
      incrementAccessCounter in interface User
    • incrementAccessCounterForSession

      Increments the session hit counter for the user.
      Specified by:
      incrementAccessCounterForSession in interface User
    • setAccessCounter

      public void setAccessCounter(int cnt)
      Sets the access counter for a user, saved in perm storage.
      Specified by:
      setAccessCounter in interface User
      Parameters:
      cnt - The new count.
    • setAccessCounterForSession

      public void setAccessCounterForSession(int cnt)
      Sets the session access counter for a user, saved in temp storage.
      Specified by:
      setAccessCounterForSession in interface User
      Parameters:
      cnt - The new count.
    • getLastAccessDate

      Gets the last access date for this User. This is the last time that the user object was referenced.
      Specified by:
      getLastAccessDate in interface User
      Returns:
      A Java Date with the last access date for the user.
    • setLastAccessDate

      public void setLastAccessDate()
      Sets the last access date for this User. This is the last time that the user object was referenced.
      Specified by:
      setLastAccessDate in interface User
    • getPermStorage

      Returns the permanent storage. This is implemented as a Map
      Specified by:
      getPermStorage in interface User
      Returns:
      A Map.
    • setPermStorage

      public void setPermStorage(Map<String,Object> permStorage)
      This should only be used in the case where we want to make the data persistent.
      Specified by:
      setPermStorage in interface User
      Parameters:
      permStorage - A Map.
    • getTempStorage

      Returns the temporary storage. This is implemented as a Map
      Specified by:
      getTempStorage in interface User
      Returns:
      A Map.
    • setTempStorage

      public void setTempStorage(Map<String,Object> tempStorage)
      This should only be used in the case where we want to save the data to the database.
      Specified by:
      setTempStorage in interface User
      Parameters:
      tempStorage - A Map.
    • getPerm

      public Object getPerm(String name)
      Get an object from permanent storage.
      Specified by:
      getPerm in interface User
      Parameters:
      name - The object's name.
      Returns:
      An Object with the given name.
    • getPerm

      public Object getPerm(String name, Object def)
      Get an object from permanent storage; return default if value is null.
      Specified by:
      getPerm in interface User
      Parameters:
      name - The object's name.
      def - A default value to return.
      Returns:
      An Object with the given name.
    • setPerm

      public void setPerm(String name, Object value)
      Put an object into permanent storage.
      Specified by:
      setPerm in interface User
      Parameters:
      name - The object's name.
      value - The object.
    • getTemp

      public Object getTemp(String name)
      Get an object from temporary storage.
      Specified by:
      getTemp in interface User
      Parameters:
      name - The object's name.
      Returns:
      An Object with the given name.
    • getTemp

      public Object getTemp(String name, Object def)
      Get an object from temporary storage; return default if value is null.
      Specified by:
      getTemp in interface User
      Parameters:
      name - The object's name.
      def - A default value to return.
      Returns:
      An Object with the given name.
    • setTemp

      public void setTemp(String name, Object value)
      Put an object into temporary storage.
      Specified by:
      setTemp in interface User
      Parameters:
      name - The object's name.
      value - The object.
    • removeTemp

      public Object removeTemp(String name)
      Remove an object from temporary storage and return the object.
      Specified by:
      removeTemp in interface User
      Parameters:
      name - The name of the object to remove.
      Returns:
      An Object.
    • getConfirmed

      public String getConfirmed()
      Returns the confirm value of the user
      Specified by:
      getConfirmed in interface User
      Returns:
      The confirm value of the user
    • setConfirmed

      public void setConfirmed(String confirm)
      Sets the new confirm value of the user
      Specified by:
      setConfirmed in interface User
      Parameters:
      confirm - The new confirm value of the user
    • getCreateDate

      public Date getCreateDate()
      Returns the creation date of the user
      Specified by:
      getCreateDate in interface User
      Returns:
      The creation date of the user
    • setCreateDate

      public void setCreateDate(Date createDate)
      Sets the new creation date of the user
      Specified by:
      setCreateDate in interface User
      Parameters:
      createDate - The new creation date of the user
    • getLastLogin

      public Date getLastLogin()
      Returns the date of the last login of the user
      Specified by:
      getLastLogin in interface User
      Returns:
      The date of the last login of the user
    • setLastLogin

      public void setLastLogin(Date lastLogin)
      Sets the new date of the last login of the user
      Specified by:
      setLastLogin in interface User
      Parameters:
      lastLogin - The new the date of the last login of the user
    • hasLoggedIn

      public boolean hasLoggedIn()
      The user is considered logged in if they have not timed out.
      Specified by:
      hasLoggedIn in interface User
      Returns:
      Whether the user has logged in.
    • setHasLoggedIn

      public void setHasLoggedIn(Boolean value)
      This sets whether or not someone has logged in. hasLoggedIn() returns this value.
      Specified by:
      setHasLoggedIn in interface User
      Parameters:
      value - Whether someone has logged in or not.
    • isConfirmed

      public boolean isConfirmed()
      This method reports whether or not the user has been confirmed in the system by checking the User.CONFIRM_VALUE column in the users record to see if it is equal to User.CONFIRM_DATA.
      Specified by:
      isConfirmed in interface User
      Returns:
      True if the user has been confirmed.
    • updateLastLogin

      public void updateLastLogin() throws Exception
      Updates the last login date in the database.
      Specified by:
      updateLastLogin in interface User
      Throws:
      Exception - A generic exception.
    • getUserDelegate

      public org.apache.fulcrum.security.model.turbine.entity.TurbineUser getUserDelegate()
      Description copied from interface: TurbineUserDelegate
      Get the delegated user
      Specified by:
      getUserDelegate in interface TurbineUserDelegate
      Returns:
      the userDelegate
    • setUserDelegate

      public final void setUserDelegate(org.apache.fulcrum.security.model.turbine.entity.TurbineUser userDelegate)
      Description copied from interface: TurbineUserDelegate
      Set the delegated user
      Specified by:
      setUserDelegate in interface TurbineUserDelegate
      Parameters:
      userDelegate - the userDelegate to set