Class GenericUser<UD extends UserDatabase>

java.lang.Object
org.apache.catalina.users.AbstractUser
org.apache.catalina.users.GenericUser<UD>
Type Parameters:
UD - The specific type of UserDase with which this role is associated
All Implemented Interfaces:
Principal, User
Direct Known Subclasses:
MemoryUser

public class GenericUser<UD extends UserDatabase> extends AbstractUser

Concrete implementation of User for a UserDatabase.

Author:
Craig R. McClanahan
  • Field Details

  • Method Details

    • getGroups

      public Iterator<Group> getGroups()
      Return the set of Groups to which this user belongs.
      Specified by:
      getGroups in interface User
      Specified by:
      getGroups in class AbstractUser
      Returns:
      the set of Groups to which this user belongs.
    • getRoles

      public Iterator<Role> getRoles()
      Return the set of Roles assigned specifically to this user.
      Specified by:
      getRoles in interface User
      Specified by:
      getRoles in class AbstractUser
      Returns:
      the set of Roles assigned specifically to this user.
    • getUserDatabase

      public UserDatabase getUserDatabase()
      Return the UserDatabase within which this User is defined.
      Returns:
      the UserDatabase within which this User is defined.
    • addGroup

      public void addGroup(Group group)
      Add a new Group to those this user belongs to.
      Specified by:
      addGroup in interface User
      Specified by:
      addGroup in class AbstractUser
      Parameters:
      group - The new group
    • addRole

      public void addRole(Role role)
      Add a new Role to those assigned specifically to this user.
      Specified by:
      addRole in interface User
      Specified by:
      addRole in class AbstractUser
      Parameters:
      role - The new role
    • isInGroup

      public boolean isInGroup(Group group)
      Is this user in the specified group?
      Specified by:
      isInGroup in interface User
      Specified by:
      isInGroup in class AbstractUser
      Parameters:
      group - The group to check
      Returns:
      true if the user is in the specified group
    • isInRole

      public boolean isInRole(Role role)
      Is this user specifically assigned the specified Role? This method does NOT check for roles inherited based on Group membership.
      Specified by:
      isInRole in interface User
      Specified by:
      isInRole in class AbstractUser
      Parameters:
      role - The role to check
      Returns:
      true if the user has the specified role
    • removeGroup

      public void removeGroup(Group group)
      Remove a Group from those this user belongs to.
      Specified by:
      removeGroup in interface User
      Specified by:
      removeGroup in class AbstractUser
      Parameters:
      group - The old group
    • removeGroups

      public void removeGroups()
      Remove all Groups from those this user belongs to.
      Specified by:
      removeGroups in interface User
      Specified by:
      removeGroups in class AbstractUser
    • removeRole

      public void removeRole(Role role)
      Remove a Role from those assigned to this user.
      Specified by:
      removeRole in interface User
      Specified by:
      removeRole in class AbstractUser
      Parameters:
      role - The old role
    • removeRoles

      public void removeRoles()
      Remove all Roles from those assigned to this user.
      Specified by:
      removeRoles in interface User
      Specified by:
      removeRoles in class AbstractUser
    • setFullName

      public void setFullName(String fullName)
      Description copied from class: AbstractUser
      Set the full name of this user.
      Specified by:
      setFullName in interface User
      Overrides:
      setFullName in class AbstractUser
      Parameters:
      fullName - The new full name
    • setPassword

      public void setPassword(String password)
      Description copied from class: AbstractUser
      Set the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as {md5}xxxxx.
      Specified by:
      setPassword in interface User
      Overrides:
      setPassword in class AbstractUser
      Parameters:
      password - The new logon password
    • setUsername

      public void setUsername(String username)
      Description copied from class: AbstractUser
      Set the logon username of this user, which must be unique within the scope of a UserDatabase.
      Specified by:
      setUsername in interface User
      Overrides:
      setUsername in class AbstractUser
      Parameters:
      username - The new logon username
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface Principal
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Principal
      Overrides:
      hashCode in class Object