Interface UserDatabase

  • All Known Implementing Classes:
    MemoryUserDatabase

    public interface UserDatabase
    Abstract representation of a database of Users and Groups that can be maintained by an application, along with definitions of corresponding Roles, and referenced by a Realm for authentication and access control.
    Since:
    4.1
    Author:
    Craig R. McClanahan
    • Method Detail

      • getGroups

        Iterator<Group> getGroups()
        Returns:
        the set of Groups defined in this user database.
      • getId

        String getId()
        Returns:
        the unique global identifier of this user database.
      • getRoles

        Iterator<Role> getRoles()
        Returns:
        the set of Roles defined in this user database.
      • getUsers

        Iterator<User> getUsers()
        Returns:
        the set of Users defined in this user database.
      • close

        void close()
            throws Exception
        Finalize access to this user database.
        Throws:
        Exception - if any exception is thrown during closing
      • createGroup

        Group createGroup​(String groupname,
                          String description)
        Create and return a new Group defined in this user database.
        Parameters:
        groupname - The group name of the new group (must be unique)
        description - The description of this group
        Returns:
        The new group
      • createRole

        Role createRole​(String rolename,
                        String description)
        Create and return a new Role defined in this user database.
        Parameters:
        rolename - The role name of the new role (must be unique)
        description - The description of this role
        Returns:
        The new role
      • createUser

        User createUser​(String username,
                        String password,
                        String fullName)
        Create and return a new User defined in this user database.
        Parameters:
        username - The logon username of the new user (must be unique)
        password - The logon password of the new user
        fullName - The full name of the new user
        Returns:
        The new user
      • findGroup

        Group findGroup​(String groupname)
        Parameters:
        groupname - Name of the group to return
        Returns:
        the Group with the specified group name, if any; otherwise return null.
      • findRole

        Role findRole​(String rolename)
        Parameters:
        rolename - Name of the role to return
        Returns:
        the Role with the specified role name, if any; otherwise return null.
      • findUser

        User findUser​(String username)
        Parameters:
        username - Name of the user to return
        Returns:
        the User with the specified user name, if any; otherwise return null.
      • open

        void open()
           throws Exception
        Initialize access to this user database.
        Throws:
        Exception - if any exception is thrown during opening
      • removeGroup

        void removeGroup​(Group group)
        Remove the specified Group from this user database.
        Parameters:
        group - The group to be removed
      • removeRole

        void removeRole​(Role role)
        Remove the specified Role from this user database.
        Parameters:
        role - The role to be removed
      • removeUser

        void removeUser​(User user)
        Remove the specified User from this user database.
        Parameters:
        user - The user to be removed
      • save

        void save()
           throws Exception
        Save any updated information to the persistent storage location for this user database.
        Throws:
        Exception - if any exception is thrown during saving