<?xml version="1.0"?>
<!DOCTYPE mbeans-descriptors PUBLIC
 "-//Apache Software Foundation//DTD Model MBeans Configuration File"
 "http://jakarta.apache.org/commons/dtds/mbeans-descriptors.dtd">

<!--
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 - JOnAS: Java(TM) Open Application Server
 - Copyright (C) 1999-2007 Bull S.A.S.
 - Contact: jonas-team@ow2.org
 -
 - This library is free software; you can redistribute it and/or
 - modify it under the terms of the GNU Lesser General Public
 - License as published by the Free Software Foundation; either
 - version 2.1 of the License, or any later version.
 -
 - This library is distributed in the hope that it will be useful,
 - but WITHOUT ANY WARRANTY; without even the implied warranty of
 - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 - Lesser General Public License for more details.
 -
 - You should have received a copy of the GNU Lesser General Public
 - License along with this library; if not, write to the Free Software
 - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
 - USA
 -
 - Initial developer(s): Michel-Ange Anton
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 - $Id$
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 -->

<mbeans-descriptors>

<!-- JavaEEApplication =========================================================== -->
  <mbean name="JavaEEApplication"
         description="Java EE Application Component"
         domain="JOnAS"
         group="J2EEManaged"
         className="org.ow2.jonas.ear.internal.mbean.EARModuleMBean"
         type="org.ow2.jonas.ear.internal.EARModule">

<!-- J2EEManagedObject -->

    <attribute name="objectName"
               description="Name of the object"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="stateManageable"
               description="State management support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

    <attribute name="statisticsProvider"
               description="Performance statistics support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

    <attribute name="eventProvider"
               description="Event provider support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

<!-- J2EEDeployedObject -->

    <attribute name="deploymentDescriptor"
               description="The deployment descriptor of the EAR"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="server"
               description="The Java EE Server where the application is deployed on"
               type="java.lang.String"
               writeable="false"/>

<!-- J2EEApplication -->

    <attribute name="modules"
               description="A list of Java EE Modules that comprise this application"
               type="[Ljava.lang.String;"
               writeable="false"/>

<!-- Ear -->

    <attribute name="name"
               description="The name of the application"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="earUrl"
               description="The url of this Ear"
               type="java.net.URL"
               writeable="false"/>

  </mbean>

<!-- J2EEApplication =========================================================== -->
  <mbean name="J2EEApplication"
         description="J2EEApplication Component"
         domain="JOnAS"
         group="J2EEManaged"
         type="org.ow2.jonas.ear.internal.mbean.Ear">

<!-- J2EEManagedObject -->

    <attribute name="objectName"
               description="Name of the object"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="stateManageable"
               description="State management support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

    <attribute name="statisticsProvider"
               description="Performance statistics support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

    <attribute name="eventProvider"
               description="Event provider support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

<!-- J2EEDeployedObject -->

    <attribute name="deploymentDescriptor"
               description="The deployment descriptor of the ear"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="server"
               description="The J2EE Server where the application is deployed on"
               type="java.lang.String"
               writeable="false"/>

<!-- J2EEApplication -->

    <attribute name="modules"
               description="A list of J2EEModules that comprise this application"
               type="[Ljava.lang.String;"
               writeable="false"/>

<!-- Ear -->

    <attribute name="name"
               description="The name of the application"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="earUrl"
               description="The url of this Ear"
               type="java.net.URL"
               writeable="false"/>

    <attribute name="ejbJars"
               description="The ejb-jar files"
               type="[Ljava.net.URL;"
               writeable="false"/>


    <attribute name="rars"
               description="The rar files"
               type="[Ljava.net.URL;"
               writeable="false"/>


    <attribute name="wars"
               description="The war files"
               type="[Ljava.net.URL;"
               writeable="false"/>

    <attribute name="webModules"
               description="A list of WebModules that comprise this application"
               type="[Ljava.lang.String;"
               writeable="false"/>
  </mbean>

<!-- AppClientModule =========================================================== -->

  <mbean name="AppClientModule"
         description="Deployed Application Client module"
         domain="JOnAS"
         group="J2EEDeployed"
         type="org.ow2.jonas.ear.internal.mbean.AppClientModule">

    <!-- JSR77 J2EEManagedObject type -->
    <attribute name="objectName"
               description="JMX name of this object"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="stateManageable"
               description="State management support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

    <attribute name="statisticsProvider"
               description="Performance statistics support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

    <attribute name="eventProvider"
               description="Event provider support for this managed object"
               is="true"
               type="boolean"
               writeable="false"/>

    <!-- JSR77 J2EEDeployedObject type -->
    <attribute name="deploymentDescriptor"
               description="The standard deployment descriptor application-client.xml"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="jonasDeploymentDescriptor"
               description="The JOnAS deployment descriptor jonas-client.xml"
               type="java.lang.String"
               writeable="false"/>

    <attribute name="server"
               description="The J2EE Server where the application is deployed on"
               type="java.lang.String"
               writeable="false"/>

    <!-- JSR77 J2EEModule type -->
    <attribute name="javaVMs"
               description="The Java virtual machines on which this module is running"
               type="[Ljava.lang.String;"
               writeable="false"/>

    <!-- JOnAS specific -->
    <attribute name="fileName"
               description="Client Application File name"
               type = "java.lang.String"
               writeable="false"/>

  </mbean>
</mbeans-descriptors>
