<?xml version="1.0"?>
<mbeans-descriptors>

  <mbean         name="MBeanFactory"
            className="org.apache.catalina.mbeans.MBeanFactory"
          description="Factory for MBeans and corresponding components"
               domain="Catalina">

    <!-- IMPLEMENTATION NOTE - all of the createXxxxx methods create a new  -->
    <!-- component and attach it to Catalina's component tree.  The return  -->
    <!-- value is the object name of the corresponding MBean for the new    -->
    <!-- component.                                                         -->

    <operation   name="createAccessLoggerValve"
          description="Create a new AccessLoggerValve"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createAjpConnector"
          description="Create a new AjpConnector"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
      <parameter name="address"
          description="The IP address on which to bind"
                 type="java.lang.String"/>
      <parameter name="port"
          description="TCP port number to listen on"
                 type="int"/>
    </operation>

    <operation   name="createDataSourceRealm"
          description="Create a new DataSource Realm"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
      <parameter name="dataSourceName"
          description="The JNDI named JDBC DataSource"
                 type="java.lang.String"/>
      <parameter name="roleNameCol"
          description="The column in the user role table that names a role"
                 type="java.lang.String"/>
      <parameter name="userCredCol"
          description="The column in the user table that holds the user's
                        credentials"
                 type="java.lang.String"/>
      <parameter name="userNameCol"
          description="The column in the user table that holds the user's
                        username"
                 type="java.lang.String"/>
      <parameter name="userRoleTable"
          description="The table that holds the relation between user's and
                        roles"
                 type="java.lang.String"/>
      <parameter name="userTable"
          description="The table that holds user data"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createFileLogger"
          description="Create a new FileLogger"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createHttpConnector"
          description="Create a new HttpConnector"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
     <parameter name="address"
          description="The IP address on which to bind"
                 type="java.lang.String"/>
      <parameter name="port"
          description="TCP port number to listen on"
                 type="int"/>
    </operation>

    <operation   name="createHttpsConnector"
          description="Create a new HttpsConnector"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
      <parameter name="address"
          description="The IP address on which to bind"
                 type="java.lang.String"/>
      <parameter name="port"
          description="TCP port number to listen on"
                 type="int"/>
    </operation>

    <operation   name="createJDBCRealm"
          description="Create a new JDBC Realm"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createJNDIRealm"
          description="Create a new JNDI Realm"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
					type="java.lang.String"/>
	    <parameter name="connectionURL"
          description="Jndi Connection URL"
					type="java.lang.String"/>
	    <parameter name="connectionName"
          description="Connection name"
					type="java.lang.String"/>
	    <parameter name="connectionPassword"
          description="Connection password"
					type="java.lang.String"/>
    </operation>
    <operation   name="createJAASRealm"
          description="Create a new Jaas Realm"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
					type="java.lang.String"/>
	    <parameter name="appName"
          description="App name"
					type="java.lang.String"/>
	    <parameter name="userClassNames"
          description="Users class names."
					type="java.lang.String"/>
	    <parameter name="roleClassNames"
          description="Role classNames"
					type="java.lang.String"/>
	    <parameter name="useContextClassLoader"
          description="Whether use context classloader"
					type="java.lang.String"/>
    </operation>

    <operation   name="createMemoryRealm"
          description="Create a new Memory Realm"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createRemoteAddrValve"
          description="Create a new Remote Address Filter Valve"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createRemoteHostValve"
          description="Create a new Remote Host Filter Valve"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createRequestDumperValve"
          description="Create a new Request Dumper Valve"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createSingleSignOn"
          description="Create a new Single Sign On Valve"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createStandardContext"
          description="Create a new StandardContext"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
      <parameter name="path"
          description="The context path for this Context"
                 type="java.lang.String"/>
      <parameter name="docBase"
          description="Document base directory (or WAR) for ths Context"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createStandardEngine"
          description="Create a new StandardEngine"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
      <parameter name="name"
          description="Unique name of this Engine"
                 type="java.lang.String"/>
      <parameter name="defaultHost"
          description="Default host name for this Engine"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createStandardEngineService"
          description="Create a new StandardEngine and StandardService"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent Service"
                 type="java.lang.String"/>
      <parameter name="engineName"
          description="Unique name of this Engine"
                 type="java.lang.String"/>
      <parameter name="defaultHost"
          description="Default host name for this Engine"
                 type="java.lang.String"/>
      <parameter name="serviceName"
          description="Unique name of this Service"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createStandardHost"
          description="Create a new StandardHost"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
      <parameter name="name"
          description="Unique name of this Host"
                 type="java.lang.String"/>
      <parameter name="appBase"
          description="set host deployment directory"
                 type="java.lang.String"/>
      <parameter name="autoDeploy"
          description="The auto deploy flag for this Host"
               type="boolean"/>           
      <parameter name="deployOnStartup"
          description="The deploy on startup flag for this Host"
               type="boolean"/>
      <parameter name="deployXML"
          description="deploy Context XML config files property"
               type="boolean"/> 
      <parameter name="unpackWARs"
          description="Unpack WARs property"
               type="boolean"/>
      <parameter name="xmlNamespaceAware"
          description="Attribute value used to turn on/off XML namespace awareness"
               type="boolean"/>
      <parameter name="xmlValidation"
               description="Attribute value used to turn on/off XML validation"
               type="boolean"/>
    </operation>




    <operation   name="createStandardManager"
          description="Create a new StandardManager"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createStandardService"
          description="Create a new StandardService"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
      <parameter name="name"
          description="Unique name of this Service"
                 type="java.lang.String"/>
      <parameter name="domain"
          description="The domain of this Service"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createSystemErrLogger"
          description="Create a new System Error Logger"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createSystemOutLogger"
          description="Create a new System Output Logger"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createUserDatabaseRealm"
          description="Create a new UserDatabase Realm"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
      <parameter name="resourceName"
          description="Global JNDI resource name of our UserDatabase instance"
                 type="java.lang.String"/>
    </operation>

    <operation   name="createWebappLoader"
          description="Create a new Web Application Loader"
               impact="ACTION"
           returnType="java.lang.String">
      <parameter name="parent"
          description="MBean Name of the associated parent component"
                 type="java.lang.String"/>
    </operation>

    <!-- IMPLEMENTATION NOTE - all of the removeXxxxx methods cause the     -->
    <!-- corresponding Catalina component (and any related child            -->
    <!-- components to be stopped (if necessary) and removed, and the       -->
    <!-- corresponding MBeans to be destroyed.                              -->

    <operation   name="removeConnector"
          description="Remove an existing Connector"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

    <operation   name="removeContext"
          description="Remove an existing Context"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

    <operation   name="removeHost"
          description="Remove an existing Host"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

    <operation   name="removeLoader"
          description="Remove an existing Loader"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

    <operation   name="removeLogger"
          description="Remove an existing Logger"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

    <operation   name="removeManager"
          description="Remove an existing Manager"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

    <operation   name="removeRealm"
          description="Remove an existing Realm"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

    <operation   name="removeService"
          description="Remove an existing Service"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

    <operation   name="removeValve"
          description="Remove an existing Valve"
               impact="ACTION"
           returnType="void">
      <parameter name="name"
          description="MBean Name of the component to be removed"
                 type="java.lang.String"/>
    </operation>

  </mbean>

</mbeans-descriptors>
