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 Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void close()
      Finalize access to this user database.
      Group createGroup​(java.lang.String groupname, java.lang.String description)
      Create and return a new Group defined in this user database.
      Role createRole​(java.lang.String rolename, java.lang.String description)
      Create and return a new Role defined in this user database.
      User createUser​(java.lang.String username, java.lang.String password, java.lang.String fullName)
      Create and return a new User defined in this user database.
      Group findGroup​(java.lang.String groupname)  
      Role findRole​(java.lang.String rolename)  
      User findUser​(java.lang.String username)  
      java.util.Iterator<Group> getGroups()  
      java.lang.String getId()  
      java.util.Iterator<Role> getRoles()  
      java.util.Iterator<User> getUsers()  
      void open()
      Initialize access to this user database.
      void removeGroup​(Group group)
      Remove the specified Group from this user database.
      void removeRole​(Role role)
      Remove the specified Role from this user database.
      void removeUser​(User user)
      Remove the specified User from this user database.
      void save()
      Save any updated information to the persistent storage location for this user database.
    • Method Detail

      • getGroups

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

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

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

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

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

        Group createGroup​(java.lang.String groupname,
                          java.lang.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​(java.lang.String rolename,
                        java.lang.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​(java.lang.String username,
                        java.lang.String password,
                        java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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 java.lang.Exception
        Initialize access to this user database.
        Throws:
        java.lang.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 java.lang.Exception
        Save any updated information to the persistent storage location for this user database.
        Throws:
        java.lang.Exception - if any exception is thrown during saving