# Class ContainerMBean

java.lang.Object
org.apache.tomcat.util.modeler.BaseModelMBean
org.apache.catalina.mbeans.BaseCatalinaMBean<ContainerBase>
org.apache.catalina.mbeans.ContainerMBean

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

public class ContainerMBean extends BaseCatalinaMBean<ContainerBase>

- ## Field Summary

  ### Fields inherited from class BaseModelMBean

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ContainerMBean()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addChild(String type, String name)`
  Add a new child Container to those associated with this Container, if supported.
  `void`
  `addLifecycleListener(String type)`
  Add a LifecycleEvent listener to this component.
  `String`
  `addValve(String valveType)`
  Adds a valve to this Container instance.
  `String[]`
  `findContainerListenerNames()`
  List the class name of each of the container listeners added to this container.
  `String[]`
  `findLifecycleListenerNames()`
  List the class name of each of the lifecycle listeners added to this container.
  `void`
  `removeChild(String name)`
  Remove an existing child Container from association with this parent Container.
  `void`
  `removeLifecycleListeners(String type)`
  Remove a LifecycleEvent listeners from this component.
  `void`
  `removeValve(String valveName)`
  Remove an existing Valve.

  ### Methods inherited from class BaseCatalinaMBean

  `doGetManagedResource, newInstance`

  ### Methods inherited from class 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 Object

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

- ## Constructor Details

  - ### ContainerMBean

    public ContainerMBean()

- ## Method Details

  - ### addChild

    public void addChild(String type, String name) throws MBeanException
    Add a new child Container to those associated with this Container, if supported. Won't start the child yet. Has to be started with a call to Start method after necessary configurations are done.
    Parameters:
      `type` - ClassName of the child to be added
      `name` - Name of the child to be added
    Throws:
      `MBeanException` - if the child cannot be added

  - ### removeChild

    public void removeChild(String name) throws MBeanException
    Remove an existing child Container from association with this parent Container.
    Parameters:
      `name` - Name of the existing child Container to be removed
    Throws:
      `MBeanException` - if the child cannot be removed

  - ### addValve

    public String addValve(String valveType) throws MBeanException
    Adds a valve to this Container instance.
    Parameters:
      `valveType` - ClassName of the valve to be added
    Returns:
      the MBean name of the new valve
    Throws:
      `MBeanException` - if adding the valve failed

  - ### removeValve

    public void removeValve(String valveName) throws MBeanException
    Remove an existing Valve.
    Parameters:
      `valveName` - MBean Name of the Valve to remove
    Throws:
      `MBeanException` - if a component cannot be removed

  - ### addLifecycleListener

    public void addLifecycleListener(String type) throws MBeanException
    Add a LifecycleEvent listener to this component.
    Parameters:
      `type` - ClassName of the listener to add
    Throws:
      `MBeanException` - if adding the listener failed

  - ### removeLifecycleListeners

    public void removeLifecycleListeners(String type) throws MBeanException
    Remove a LifecycleEvent listeners from this component.
    Parameters:
      `type` - The ClassName of the listeners to be removed. Note that all the listeners having given ClassName will be removed.
    Throws:
      `MBeanException` - propagated from the managed resource access

  - ### findLifecycleListenerNames

    public String[] findLifecycleListenerNames() throws MBeanException
    List the class name of each of the lifecycle listeners added to this container.
    Returns:
      the lifecycle listeners class names
    Throws:
      `MBeanException` - propagated from the managed resource access

  - ### findContainerListenerNames

    public String[] findContainerListenerNames() throws MBeanException
    List the class name of each of the container listeners added to this container.
    Returns:
      the container listeners class names
    Throws:
      `MBeanException` - propagated from the managed resource access