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
`protected ManagedBean` `managed` The `ManagedBean` information describing this MBean.
`protected ManagedBean` `managedGroup` The `ManagedBean` information describing Group MBeans.
`protected ManagedBean` `managedRole` The `ManagedBean` information describing Group MBeans.
`protected ManagedBean` `managedUser` The `ManagedBean` information describing User MBeans.
`protected 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 and Description
`MemoryUserDatabaseMBean()` Construct a `ModelMBean` with default `ModelMBeanInfo` information.

### Method Summary

Methods
`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()` Return the MBean Names of all groups defined in this database.
`String[]` `getRoles()` Return the MBean Names of all roles defined in this database.
`String[]` `getUsers()` Return the MBean Names of all users defined in this database.
`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, removeAttributeChangeNotificationListener, removeNotificationListener, removeNotificationListener, 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 Detail

#### registry

    protected Registry registry

The configuration information registry for our managed beans.

#### managed

    protected ManagedBean managed

The `ManagedBean` information describing this MBean.

#### managedGroup

    protected ManagedBean managedGroup

The `ManagedBean` information describing Group MBeans.

#### managedRole

    protected ManagedBean managedRole

The `ManagedBean` information describing Group MBeans.

#### managedUser

    protected ManagedBean managedUser

The `ManagedBean` information describing User MBeans.

### Constructor Detail

#### MemoryUserDatabaseMBean

    public MemoryUserDatabaseMBean()
                            throws MBeanException,
                                   RuntimeOperationsException

Construct a `ModelMBean` with default `ModelMBeanInfo` information.

Throws:
  `MBeanException` - if the initializer of an object throws an exception
  `RuntimeOperationsException` - if an IllegalArgumentException occurs

### Method Detail

#### getGroups

    public String[] getGroups()

Return the MBean Names of all groups defined in this database.

#### getRoles

    public String[] getRoles()

Return the MBean Names of all roles defined in this database.

#### getUsers

    public String[] getUsers()

Return 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

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

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

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

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

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

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