<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

<ejb-jar >

   <description><![CDATA[No Description.]]></description>
   <display-name>Generated by XDoclet</display-name>

   <enterprise-beans>

      <!-- Session Beans -->
      <session >
         <description><![CDATA[The Session bean represents a bank.]]></description>
         <display-name>Teller Session</display-name>

         <ejb-name>bank/TellerSession</ejb-name>

         <home>org.jboss.test.banknew.interfaces.TellerSessionHome</home>
         <remote>org.jboss.test.banknew.interfaces.TellerSession</remote>
         <ejb-class>org.jboss.test.banknew.ejb.TellerSessionSession</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>

         <ejb-ref >
            <ejb-ref-name>ejb/bank/AccountSession</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.AccountSessionHome</home>
            <remote>org.jboss.test.banknew.interfaces.AccountSession</remote>
            <ejb-link>bank/AccountSession</ejb-link>
         </ejb-ref>
         <ejb-ref >
            <ejb-ref-name>ejb/bank/BankSession</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.BankSessionHome</home>
            <remote>org.jboss.test.banknew.interfaces.BankSession</remote>
            <ejb-link>bank/BankSession</ejb-link>
         </ejb-ref>
         <ejb-ref >
            <ejb-ref-name>ejb/bank/CustomerSession</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.CustomerSessionHome</home>
            <remote>org.jboss.test.banknew.interfaces.CustomerSession</remote>
            <ejb-link>bank/CustomerSession</ejb-link>
         </ejb-ref>

      </session>

      <session >
         <description><![CDATA[The Session bean represents a bank's business interface.]]></description>
         <display-name>Bank Session</display-name>

         <ejb-name>bank/BankSession</ejb-name>

         <home>org.jboss.test.banknew.interfaces.BankSessionHome</home>
         <remote>org.jboss.test.banknew.interfaces.BankSession</remote>
         <ejb-class>org.jboss.test.banknew.ejb.BankSessionSession</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>

         <ejb-ref >
            <ejb-ref-name>ejb/bank/Bank</ejb-ref-name>
            <ejb-ref-type>Entity</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.BankHome</home>
            <remote>org.jboss.test.banknew.interfaces.Bank</remote>
            <ejb-link>bank/Bank</ejb-link>
         </ejb-ref>
         <ejb-ref >
            <ejb-ref-name>ejb/bank/CustomerSession</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.CustomerSessionHome</home>
            <remote>org.jboss.test.banknew.interfaces.CustomerSession</remote>
            <ejb-link>bank/CustomerSession</ejb-link>
         </ejb-ref>

      </session>

      <session >
         <description><![CDATA[The Session bean represents the account's business interface]]></description>
         <display-name>Account Session</display-name>

         <ejb-name>bank/AccountSession</ejb-name>

         <home>org.jboss.test.banknew.interfaces.AccountSessionHome</home>
         <remote>org.jboss.test.banknew.interfaces.AccountSession</remote>
         <ejb-class>org.jboss.test.banknew.ejb.AccountSessionSession</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>

         <ejb-ref >
            <ejb-ref-name>ejb/bank/Account</ejb-ref-name>
            <ejb-ref-type>Entity</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.AccountHome</home>
            <remote>org.jboss.test.banknew.interfaces.Account</remote>
            <ejb-link>bank/Account</ejb-link>
         </ejb-ref>
         <ejb-ref >
            <ejb-ref-name>ejb/bank/Transaction</ejb-ref-name>
            <ejb-ref-type>Entity</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.TransactionHome</home>
            <remote>org.jboss.test.banknew.interfaces.Transaction</remote>
            <ejb-link>bank/Transaction</ejb-link>
         </ejb-ref>

      </session>

      <session >
         <description><![CDATA[The Session bean represents the customer's business interface]]></description>
         <display-name>Customer Session</display-name>

         <ejb-name>bank/CustomerSession</ejb-name>

         <home>org.jboss.test.banknew.interfaces.CustomerSessionHome</home>
         <remote>org.jboss.test.banknew.interfaces.CustomerSession</remote>
         <ejb-class>org.jboss.test.banknew.ejb.CustomerSessionSession</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>

         <ejb-ref >
            <ejb-ref-name>ejb/bank/AccountSession</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.AccountSessionHome</home>
            <remote>org.jboss.test.banknew.interfaces.AccountSession</remote>
            <ejb-link>bank/AccountSession</ejb-link>
         </ejb-ref>
         <ejb-ref >
            <ejb-ref-name>ejb/bank/Customer</ejb-ref-name>
            <ejb-ref-type>Entity</ejb-ref-type>
            <home>org.jboss.test.banknew.interfaces.CustomerHome</home>
            <remote>org.jboss.test.banknew.interfaces.Customer</remote>
            <ejb-link>bank/Customer</ejb-link>
         </ejb-ref>

      </session>

     <!--
       To add session beans that you have deployment descriptor info for, add
       a file to your XDoclet merge directory called session-beans.xml that contains
       the <session></session> markup for those beans.
     -->

      <!-- Entity Beans -->
      <entity >
         <description><![CDATA[The Session bean represents a bank.]]></description>
         <display-name>Bank Entity</display-name>

         <ejb-name>bank/Bank</ejb-name>

         <home>org.jboss.test.banknew.interfaces.BankHome</home>
         <remote>org.jboss.test.banknew.interfaces.Bank</remote>

         <ejb-class>org.jboss.test.banknew.ejb.BankCMP</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>org.jboss.test.banknew.interfaces.BankPK</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>Bank</abstract-schema-name>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>id</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>name</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>address</field-name>
         </cmp-field>

         <query>
            <query-method>
               <method-name>findAll</method-name>
               <method-params>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[SELECT OBJECT(o) FROM Bank AS o]]></ejb-ql>
         </query>
	  <!-- Write a file named ejb-finders-BankBean.xml if you want to define extra finders. -->
      </entity>

      <entity >
         <description><![CDATA[The Entity bean represents a bank account]]></description>
         <display-name>Bank Account Entity</display-name>

         <ejb-name>bank/Account</ejb-name>

         <home>org.jboss.test.banknew.interfaces.AccountHome</home>
         <remote>org.jboss.test.banknew.interfaces.Account</remote>

         <ejb-class>org.jboss.test.banknew.ejb.AccountCMP</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>org.jboss.test.banknew.interfaces.AccountPK</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>Account</abstract-schema-name>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>id</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>customerId</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>type</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>balance</field-name>
         </cmp-field>

         <query>
            <query-method>
               <method-name>findAll</method-name>
               <method-params>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[SELECT OBJECT(o) from Account AS o]]></ejb-ql>
         </query>
         <query>
            <query-method>
               <method-name>findByCustomer</method-name>
               <method-params>
                  <method-param>java.lang.String</method-param>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[SELECT OBJECT(o) from Account AS o WHERE o.customerId = ?1]]></ejb-ql>
         </query>
         <query>
            <query-method>
               <method-name>findByCustomerAndType</method-name>
               <method-params>
                  <method-param>java.lang.String</method-param>
                  <method-param>int</method-param>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[SELECT OBJECT(o) from Account AS o WHERE o.customerId = ?1 AND o.type = ?2]]></ejb-ql>
         </query>
	  <!-- Write a file named ejb-finders-AccountBean.xml if you want to define extra finders. -->
      </entity>

      <entity >
         <description><![CDATA[The Entity bean represents a bank customer]]></description>
         <display-name>Bank Customer Entity</display-name>

         <ejb-name>bank/Customer</ejb-name>

         <home>org.jboss.test.banknew.interfaces.CustomerHome</home>
         <remote>org.jboss.test.banknew.interfaces.Customer</remote>

         <ejb-class>org.jboss.test.banknew.ejb.CustomerCMP</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>org.jboss.test.banknew.interfaces.CustomerPK</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>Customer</abstract-schema-name>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>id</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>bankId</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>name</field-name>
         </cmp-field>

         <query>
            <query-method>
               <method-name>findByBank</method-name>
               <method-params>
                  <method-param>java.lang.String</method-param>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[SELECT OBJECT(o) FROM Customer o WHERE o.bankId = ?1]]></ejb-ql>
         </query>
	  <!-- Write a file named ejb-finders-CustomerBean.xml if you want to define extra finders. -->
      </entity>

      <entity >
         <description><![CDATA[The Entity bean represents a bank transaction]]></description>
         <display-name>Bank Transaction Entity</display-name>

         <ejb-name>bank/Transaction</ejb-name>

         <home>org.jboss.test.banknew.interfaces.TransactionHome</home>
         <remote>org.jboss.test.banknew.interfaces.Transaction</remote>

         <ejb-class>org.jboss.test.banknew.ejb.TransactionCMP</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>org.jboss.test.banknew.interfaces.TransactionPK</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>Transaction</abstract-schema-name>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>id</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>acountId</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>type</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>amount</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>date</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>description</field-name>
         </cmp-field>

         <query>
            <query-method>
               <method-name>findAll</method-name>
               <method-params>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[SELECT OBJECT(o) FROM Transaction AS o]]></ejb-ql>
         </query>
         <query>
            <query-method>
               <method-name>findByAccount</method-name>
               <method-params>
                  <method-param>java.lang.String</method-param>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[SELECT OBJECT(o) FROM Transaction AS o WHERE o.acountId = ?1]]></ejb-ql>
         </query>
	  <!-- Write a file named ejb-finders-TransactionBean.xml if you want to define extra finders. -->
      </entity>

     <!--
       To add entity beans that you have deployment descriptor info for, add
       a file to your XDoclet merge directory called entity-beans.xml that contains
       the <entity></entity> markup for those beans.
     -->

      <!-- Message Driven Beans -->
     <!--
       To add message driven beans that you have deployment descriptor info for, add
       a file to your XDoclet merge directory called message-driven-beans.xml that contains
       the <message-driven></message-driven> markup for those beans.
     -->

   </enterprise-beans>

   <!-- Relationships -->

   <!-- Assembly Descriptor -->
   <assembly-descriptor >
     <!--
       To add additional assembly descriptor info here, add a file to your
       XDoclet merge directory called assembly-descriptor.xml that contains
       the <assembly-descriptor></assembly-descriptor> markup.
     -->

   <!-- finder permissions -->

   <!-- finder permissions -->

   <!-- finder permissions -->

   <!-- finder permissions -->

   <!-- finder permissions -->

   <!-- finder permissions -->

   <!-- finder permissions -->

   <!-- finder permissions -->

   <!-- transactions -->
   <container-transaction >
      <method >
         <ejb-name>bank/TellerSession</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>
   <container-transaction >
      <method >
         <ejb-name>bank/Bank</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>
   <container-transaction >
      <method >
         <ejb-name>bank/Account</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>
   <container-transaction >
      <method >
         <ejb-name>bank/Customer</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>
   <container-transaction >
      <method >
         <ejb-name>bank/BankSession</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>
   <container-transaction >
      <method >
         <ejb-name>bank/Transaction</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>
   <container-transaction >
      <method >
         <ejb-name>bank/AccountSession</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>
   <container-transaction >
      <method >
         <ejb-name>bank/CustomerSession</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>

   <!-- finder transactions -->
   </assembly-descriptor>

</ejb-jar>
