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

<!-- $Id: AttributePersistenceService-xmbean.xml,v 1.1 2006/04/21 17:58:45 jjanke Exp $ -->

<mbean>
   <!-- MBean Info -->
   <description>XMBean Attribute Persistence Service</description>
   <descriptors>
      <persistence persistPolicy="OnUpdate"
                   persistLocation="${jboss.server.data.dir}/xmbean-attrs"
                   persistName="AttributePersistenceService.ser"/>
      <persistence-manager value="org.jboss.mx.persistence.ObjectStreamPersistenceManager"/>
   </descriptors>
   <class>org.jboss.system.pm.AttributePersistenceService</class>
   
   <!-- Attributes -->
   <attribute access="read-write" getMethod="getApmDestroyOnServiceStop" setMethod="setApmDestroyOnServiceStop">
      <description>Specifies whether to call destroy() on the AttributePersistenceManager implementation, upon service stop</description>
      <name>ApmDestroyOnServiceStop</name>
      <type>boolean</type>
      <descriptors>
        <descriptor name="persistPolicy" value="Never"/>
      </descriptors>
   </attribute>
   
   <attribute access="read-write" getMethod="getAttributePersistenceManagerClass" setMethod="setAttributePersistenceManagerClass">
      <description>The actual AttributePersistenceManager implementation</description>
      <name>AttributePersistenceManagerClass</name>
      <type>java.lang.String</type>
      <descriptors>
        <descriptor name="persistPolicy" value="Never"/>
      </descriptors>
   </attribute>
   
   <attribute access="read-write" getMethod="getAttributePersistenceManagerConfig" setMethod="setAttributePersistenceManagerConfig">
      <description>The XML configuration that is passed to the AttributePersistenceManager implementation</description>
      <name>AttributePersistenceManagerConfig</name>
      <type>org.w3c.dom.Element</type>
      <descriptors>
        <descriptor name="persistPolicy" value="Never"/>
      </descriptors>
   </attribute>

   <attribute access="read-write" getMethod="getVersionTag" setMethod="setVersionTag">
      <description>The version tag to use for stored/loaded Attribute data</description>
      <name>VersionTag</name>
      <type>java.lang.String</type>
      <descriptors>
        <descriptor name="persistPolicy" value="OnUpdate"/>
      </descriptors>
   </attribute>
   
   &defaultAttributes;
   
   <!-- Operations -->       
   <operation>
      <description>Factory method returning the active AttributePersistenceManager implementation, for internal usage</description>
      <name>apmCreate</name>
      <return-type>org.jboss.mx.persistence.AttributePersistenceManager</return-type>
   </operation>
   
   <operation>
      <description>Delegated to the active APM returns true when a persisted image with this id exists</description>
      <name>apmExists</name>
      <parameter>
         <description>The id of the persisted attribute image</description>
         <name>id</name>
         <type>java.lang.String</type>
      </parameter>           
      <return-type>boolean</return-type>
   </operation>
   
   <operation>
      <description>Delegated to the active APM removes the specified persisted attribute image</description>
      <name>apmRemove</name>
      <parameter>
         <description>The id of the persisted attribute image</description>
         <name>id</name>
         <type>java.lang.String</type>
      </parameter>             
      <return-type>void</return-type>
   </operation>
   
   <operation>
      <description>Delegated to the active APM removes the persisted attribute images</description>
      <name>apmRemoveAll</name>
      <return-type>void</return-type>
   </operation>
   
   <operation>
      <description>Delegated to the active APM it returns a list with the ids of all persisted attribute images</description>
      <name>apmListAll</name>
      <return-type>[Ljava.lang.String;</return-type>
   </operation>

   <operation>
      <description>Delegated to the active APM it returns a single string with the ids of all persisted attribute images</description>
      <name>apmListAllAsString</name>
      <return-type>java.lang.String</return-type>
   </operation>
   
   &defaultOperations;
   			
</mbean>