Class SparseUserDatabaseMBean

java.lang.Object
org.apache.tomcat.util.modeler.BaseModelMBean
org.apache.catalina.mbeans.SparseUserDatabaseMBean
All Implemented Interfaces:
DynamicMBean, MBeanRegistration, ModelMBeanNotificationBroadcaster, NotificationBroadcaster
Direct Known Subclasses:
MemoryUserDatabaseMBean

public class SparseUserDatabaseMBean extends BaseModelMBean

A ModelMBean implementation for the org.apache.catalina.users.SparseUserDatabase component. The main difference is that the MBeans are created on demand (for example, the findUser method would register the corresponding user and make it available for management. All the MBeans created for users, groups and roles are then discarded when save is invoked.

Author:
Craig R. McClanahan
  • Field Details

    • registry

      protected final Registry registry
      The configuration information registry for our managed beans.
    • mserver

      protected final MBeanServer mserver
      The MBeanServer for this application.
    • managed

      protected final ManagedBean managed
      The ManagedBean information describing this MBean.
    • managedGroup

      protected final ManagedBean managedGroup
      The ManagedBean information describing Group MBeans.
    • managedRole

      protected final ManagedBean managedRole
      The ManagedBean information describing Group MBeans.
    • managedUser

      protected final ManagedBean managedUser
      The ManagedBean information describing User MBeans.
  • Constructor Details

    • SparseUserDatabaseMBean

      public SparseUserDatabaseMBean()
  • Method Details

    • getGroups

      public String[] getGroups()
      Returns:
      the MBean Names of all groups defined in this database.
    • getRoles

      public String[] getRoles()
      Returns:
      the MBean Names of all roles defined in this database.
    • getUsers

      public String[] getUsers()
      Returns:
      the MBean Names of all users defined in this database.
    • createGroup

      public String createGroup(String groupname, String description)
      Create a new Group and return the corresponding MBean Name.
      Parameters:
      groupname - Group name of the new group
      description - Description of the new group
      Returns:
      the new group object name
    • createRole

      public String createRole(String rolename, String description)
      Create a new Role and return the corresponding MBean Name.
      Parameters:
      rolename - Group name of the new group
      description - Description of the new group
      Returns:
      the new role object name
    • createUser

      public String createUser(String username, String password, String fullName)
      Create a new User and return the corresponding MBean Name.
      Parameters:
      username - User name of the new user
      password - Password for the new user
      fullName - Full name for the new user
      Returns:
      the new user object name
    • findGroup

      public String findGroup(String groupname)
      Return the MBean Name for the specified group name (if any); otherwise return null.
      Parameters:
      groupname - Group name to look up
      Returns:
      the group object name
    • findRole

      public String findRole(String rolename)
      Return the MBean Name for the specified role name (if any); otherwise return null.
      Parameters:
      rolename - Role name to look up
      Returns:
      the role object name
    • findUser

      public String findUser(String username)
      Return the MBean Name for the specified user name (if any); otherwise return null.
      Parameters:
      username - User name to look up
      Returns:
      the user object name
    • removeGroup

      public void removeGroup(String groupname)
      Remove an existing group and destroy the corresponding MBean.
      Parameters:
      groupname - Group name to remove
    • removeRole

      public void removeRole(String rolename)
      Remove an existing role and destroy the corresponding MBean.
      Parameters:
      rolename - Role name to remove
    • removeUser

      public void removeUser(String username)
      Remove an existing user and destroy the corresponding MBean.
      Parameters:
      username - User name to remove
    • save

      public void save()
      Call actual save and unregister all obsolete beans.