Package org.apache.catalina.mbeans

# Class MemoryUserDatabaseMBean

java.lang.Object
org.apache.tomcat.util.modeler.BaseModelMBean
org.apache.catalina.mbeans.MemoryUserDatabaseMBean

All Implemented Interfaces:
  `DynamicMBean`, `MBeanRegistration`, `ModelMBeanNotificationBroadcaster`, `NotificationBroadcaster`

public class MemoryUserDatabaseMBean extends BaseModelMBean

A ModelMBean implementation for the `org.apache.catalina.users.MemoryUserDatabase` component.

Author:
  Craig R. McClanahan

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final ManagedBean`
  `managed`
  The `ManagedBean` information describing this MBean.
  `protected final ManagedBean`
  `managedGroup`
  The `ManagedBean` information describing Group MBeans.
  `protected final ManagedBean`
  `managedRole`
  The `ManagedBean` information describing Group MBeans.
  `protected final ManagedBean`
  `managedUser`
  The `ManagedBean` information describing User MBeans.
  `protected final Registry`
  `registry`
  The configuration information registry for our managed beans.

  ### Fields inherited from class org.apache.tomcat.util.modeler.BaseModelMBean

  `attributeBroadcaster, generalBroadcaster, managedBean, oname, resource, resourceType`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MemoryUserDatabaseMBean()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `createGroup(String groupname, String description)`
  Create a new Group and return the corresponding MBean Name.
  `String`
  `createRole(String rolename, String description)`
  Create a new Role and return the corresponding MBean Name.
  `String`
  `createUser(String username, String password, String fullName)`
  Create a new User and return the corresponding MBean Name.
  `String`
  `findGroup(String groupname)`
  Return the MBean Name for the specified group name (if any); otherwise return `null`.
  `String`
  `findRole(String rolename)`
  Return the MBean Name for the specified role name (if any); otherwise return `null`.
  `String`
  `findUser(String username)`
  Return the MBean Name for the specified user name (if any); otherwise return `null`.
  `String[]`
  `getGroups()`
  `String[]`
  `getRoles()`
  `String[]`
  `getUsers()`
  `void`
  `removeGroup(String groupname)`
  Remove an existing group and destroy the corresponding MBean.
  `void`
  `removeRole(String rolename)`
  Remove an existing role and destroy the corresponding MBean.
  `void`
  `removeUser(String username)`
  Remove an existing user and destroy the corresponding MBean.

  ### Methods inherited from class org.apache.tomcat.util.modeler.BaseModelMBean

  `addAttributeChangeNotificationListener, addNotificationListener, getAttribute, getAttributes, getClassName, getJmxName, getManagedResource, getMBeanInfo, getModelerType, getNotificationInfo, getObjectName, invoke, postDeregister, postRegister, preDeregister, preRegister, removeAttributeChangeNotificationListener, removeNotificationListener, sendAttributeChangeNotification, sendAttributeChangeNotification, sendNotification, sendNotification, setAttribute, setAttributes, setManagedBean, setManagedResource, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### registry

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

  - ### 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

  - ### MemoryUserDatabaseMBean

    public MemoryUserDatabaseMBean()

- ## 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