Interface User

  • All Superinterfaces:
    java.security.Principal
    All Known Implementing Classes:
    AbstractUser, GenericUser, MemoryUser

    public interface User
    extends java.security.Principal
    Abstract representation of a user in a UserDatabase. Each user is optionally associated with a set of Groups through which they inherit additional security roles, and is optionally assigned a set of specific Roles.
    Since:
    4.1
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addGroup​(Group group)
      Add a new Group to those this user belongs to.
      void addRole​(Role role)
      Add a Role to those assigned specifically to this user.
      java.lang.String getFullName()
      Returns the full name of this user.
      java.util.Iterator<Group> getGroups()
      Returns the set of Groups to which this user belongs.
      java.lang.String getPassword()
      Returns the logon password of this user.
      java.util.Iterator<Role> getRoles()
      Returns the set of Roles assigned specifically to this user.
      UserDatabase getUserDatabase()
      Returns the UserDatabase within which this User is defined.
      java.lang.String getUsername()
      Returns the logon username of this user.
      boolean isInGroup​(Group group)
      Is this user in the specified Group?
      boolean isInRole​(Role role)
      Is this user specifically assigned the specified Role?
      void removeGroup​(Group group)
      Remove a Group from those this user belongs to.
      void removeGroups()
      Remove all Groups from those this user belongs to.
      void removeRole​(Role role)
      Remove a Role from those assigned to this user.
      void removeRoles()
      Remove all Roles from those assigned to this user.
      void setFullName​(java.lang.String fullName)
      Set the full name of this user.
      void setPassword​(java.lang.String password)
      Set the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as {md5}xxxxx.
      void setUsername​(java.lang.String username)
      Set the logon username of this user, which must be unique within the scope of a UserDatabase.
      • Methods inherited from interface java.security.Principal

        equals, getName, hashCode, implies, toString
    • Method Detail

      • getFullName

        java.lang.String getFullName()
        Returns the full name of this user.
        Returns:
        the full name of this user.
      • setFullName

        void setFullName​(java.lang.String fullName)
        Set the full name of this user.
        Parameters:
        fullName - The new full name
      • getGroups

        java.util.Iterator<Group> getGroups()
        Returns the set of Groups to which this user belongs.
        Returns:
        the set of Groups to which this user belongs.
      • getPassword

        java.lang.String getPassword()
        Returns the logon password of this user.
        Returns:
        the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as {md5}xxxxx.
      • setPassword

        void setPassword​(java.lang.String password)
        Set the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as {md5}xxxxx.
        Parameters:
        password - The new logon password
      • getRoles

        java.util.Iterator<Role> getRoles()
        Returns the set of Roles assigned specifically to this user.
        Returns:
        the set of Roles assigned specifically to this user.
      • getUsername

        java.lang.String getUsername()
        Returns the logon username of this user.
        Returns:
        the logon username of this user, which must be unique within the scope of a UserDatabase.
      • setUsername

        void setUsername​(java.lang.String username)
        Set the logon username of this user, which must be unique within the scope of a UserDatabase.
        Parameters:
        username - The new logon username
      • addGroup

        void addGroup​(Group group)
        Add a new Group to those this user belongs to.
        Parameters:
        group - The new group
      • addRole

        void addRole​(Role role)
        Add a Role to those assigned specifically to this user.
        Parameters:
        role - The new role
      • isInGroup

        boolean isInGroup​(Group group)
        Is this user in the specified Group?
        Parameters:
        group - The group to check
        Returns:
        true if the user is in the specified group
      • isInRole

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

        void removeGroup​(Group group)
        Remove a Group from those this user belongs to.
        Parameters:
        group - The old group
      • removeGroups

        void removeGroups()
        Remove all Groups from those this user belongs to.
      • removeRole

        void removeRole​(Role role)
        Remove a Role from those assigned to this user.
        Parameters:
        role - The old role
      • removeRoles

        void removeRoles()
        Remove all Roles from those assigned to this user.