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

  <mbean name="ContextConfig"
         description="Startup event listener for a Context that configures the properties of that Context, and the associated defined servlets"
         domain="Catalina"
         group="Listener"
         type="org.apache.catalina.startup.ContextConfig">
    
    <attribute name="className"
               description="Fully qualified class name of the managed object"
               type="java.lang.String"
               writeable="false"/>
      
  </mbean>

  <mbean name="EngineConfig"
         description="Startup event listener for a Engine that configures the properties of that Engine, and the associated defined contexts"
         domain="Catalina"
         group="Listener"
         type="org.apache.catalina.startup.EngineConfig">

    <attribute name="className"
               description="Fully qualified class name of the managed object"
               type="java.lang.String"
               writeable="false"/>
      
  </mbean>


  <mbean name="HostConfig"
         description="Startup event listener for a Host that configures the properties of that Host, and the associated defined contexts"
         domain="Catalina"
         group="Listener"
         type="org.apache.catalina.startup.HostConfig">
    
    <attribute name="className"
               description="Fully qualified class name of the managed object"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="configBaseName"
               description="The base directory for Context configuration files"
               type="java.lang.String"
               writeable="false" />

    <attribute name="configClass"
               description="The Java class name of the Context configuration class we should use"
               type="java.lang.String"/>

    <attribute name="contextClass"
               description="The Java class name of the Context implementation we should use"
               type="java.lang.String"/>
      
    <operation name="check"
               description="Check a web application name for updates"
               impact="ACTION"
               returnType="void">
      <parameter name="name"
                 description="Application name"
                 type="java.lang.String"/>
    </operation>

    <operation name="addServiced"
               description="Add a web application name to the serviced list"
               impact="ACTION"
               returnType="void">
      <parameter name="name"
                 description="Application name"
                 type="java.lang.String"/>
    </operation>

    <operation name="isServiced"
               description="Add a web application name to the serviced list"
               impact="ACTION"
               returnType="boolean">
      <parameter name="name"
                 description="Application name"
                 type="java.lang.String"/>
    </operation>

    <operation name="isDeployed"
               description="Was this web application deployed by this component"
               impact="ACTION"
               returnType="boolean">
      <parameter name="name"
                 description="Application name"
                 type="java.lang.String"/>
    </operation>

    <operation name="manageApp"
               description="Add a web application managed externally"
               impact="ACTION"
               returnType="void">
      <parameter name="context"
                 description="Context to add"
                 type="org.apache.catalina.Context" />
    </operation>

    <operation name="removeServiced"
               description="Add a web application name to the serviced list"
               impact="ACTION"
               returnType="void">
      <parameter name="name"
                 description="Application name"
                 type="java.lang.String"/>
    </operation>

    <operation name="unmanageApp"
               description="Remove a web application from checks"
               impact="ACTION"
               returnType="void">
      <parameter name="contextPath"
                 description="The application path"
                 type="java.lang.String" />
    </operation>

  </mbean>

</mbeans-descriptors>
