<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mbean PUBLIC "-//JBoss//DTD JBOSS XMBEAN 1.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_0.dtd">

<mbean>
  <description>sample for jboss xmbean.dtd</description>
  <descriptors>
    <persistence persistPolicy="Never"
                 persistPeriod="10"
                 persistLocation="pl1"
                 persistName="JBossXMLExample1"/>
    <currencyTimeLimit value="10"/>
    <state-action-on-update value="restart"/>
  </descriptors>
  <class>org.jboss.test.jmx.xmbean.User</class>

  <constructor>
    <description>(no description)</description>
    <name>org.jboss.test.jmx.xmbean.User</name>
  </constructor>
  <constructor>
    <description>(no description)</description>
    <name>org.jboss.test.jmx.xmbean.User</name>
  </constructor>

  <!--attributes-->
  <attribute access="read-only" getMethod="getID">

    <description>(no description)</description>
    <name>ID</name>
    <type>long</type>
    <descriptors>
      <persistence persistPolicy="Never"
                   persistPeriod="30"/>
      <currencyTimeLimit value="30"/>

    </descriptors>
  </attribute>
  <attribute access="read-write" getMethod="getNumber" setMethod="setNumber">

    <description>(no description)</description>
    <name>Number</name>
    <type>int</type>
    <descriptors>
      <persistence persistPolicy="Never"
                   persistPeriod="30"/>
      <currencyTimeLimit value="30"/>
      <value value="5"/>

    </descriptors>
  </attribute>
  <attribute access="read-write" getMethod="getName" setMethod="setName">

    <description>(no description)</description>
    <name>Name</name>
    <type>java.lang.String</type>
    <descriptors>
      <persistence persistPolicy="Never"
                   persistPeriod="30"/>
      <currencyTimeLimit value="30"/>
      <value value="test name"/>

    </descriptors>
  </attribute>
  <attribute access="read-write" getMethod="getAddress" setMethod="setAddress">

    <description>(no description)</description>
    <name>Address</name>
    <type>java.lang.String</type>
    <descriptors>
      <persistence persistPolicy="Never"
                   persistPeriod="30"/>
      <currencyTimeLimit value="30"/>
      <value value="somewhere"/>

    </descriptors>
  </attribute>
  <attribute access="read-write" getMethod="getPhoneNumbers" setMethod="setPhoneNumbers">

    <description>(no description)</description>
    <name>PhoneNumbers</name>
    <type>java.util.Collection</type>
    <descriptors>
      <persistence persistPolicy="Never"
                   persistPeriod="30"/>
      <currencyTimeLimit value="30"/>

    </descriptors>
  </attribute>
  <attribute access="read-write" setMethod="setPassword">

    <description>(no description)</description>
    <name>Password</name>
    <type>java.lang.String</type>
    <descriptors>
      <persistence persistPolicy="Never"
                   persistPeriod="30"/>
      <currencyTimeLimit value="30"/>

    </descriptors>
  </attribute>

<!--artificial attributes-->
    <attribute access="read-write">

    <description>artificial attribute not impemeneted in class</description>
    <name>ArtificialAttribute</name>
    <type>java.lang.String</type>
    <descriptors>
      <persistence
                   persistLocation="pl1"
                   persistName="JBossXMLExample1"
/>
      <currencyTimeLimit value="999999"/>

    </descriptors>
    </attribute>

<!--operations -->
  <operation impact="ACTION_INFO">
    <description>(no description)</description>
    <name>printInfo</name>
    <return-type>java.lang.String</return-type>
    <descriptors>
    </descriptors>
  </operation>
  <operation impact="ACTION_INFO">
    <description>(no description)</description>
    <name>addPhoneNumber</name>
    <parameter>
      <description>(no description)</description>
      <name>number</name>
      <type>java.lang.String</type>
    </parameter>
    <return-type>void</return-type>
    <descriptors>
    </descriptors>
  </operation>
  <operation impact="ACTION_INFO">
    <description>(no description)</description>
    <name>removePhoneNumber</name>
    <parameter>
      <description>(no description)</description>
      <name>number</name>
      <type>java.lang.String</type>
    </parameter>
    <return-type>void</return-type>
    <descriptors>
    </descriptors>
  </operation>

<!--artificial operations-->

<!--notifications -->
  <notification>
    <description>first notification</description>
    <name>javax.management.SomeEvent</name>
    <notification-type>xd.example.first</notification-type>
    <notification-type>xd.example.second</notification-type>
    <descriptors>
      <persistence persistPolicy="Never"
                   persistPeriod="20"
                   persistLocation="pl2"
                   persistName="JBossXMLExample2"
/>
      <currencyTimeLimit value="20"/>
    </descriptors>
  </notification>

</mbean>
