[jboss-cvs] JBossAS SVN: r90515 - in projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi: jboss and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 23 07:42:45 EDT 2009


Author: jaikiran
Date: 2009-06-23 07:42:45 -0400 (Tue, 23 Jun 2009)
New Revision: 90515

Added:
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnterpriseBeanType.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/IdMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextType.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceAuthenticationType.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceSharingScopeType.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/TransactionType.java
Modified:
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AroundInvokeMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbLocalRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnvEntryMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InjectionTargetMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodParamsMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/NamedMethodMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PortComponentRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PropertyMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceEnvRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SessionBeanMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSessionBeanMetaData.java
Log:
EJBTHREE-1791 Javadocs and other SPI related work

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AroundInvokeMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AroundInvokeMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AroundInvokeMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,33 +1,34 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
 
 /**
- * 
- * 
+ *
+ *  Represents the metadata for the around-invoke element of a bean
+ *
  *         The around-invoke type specifies a method on a
  *         class to be called during the around invoke portion of an
  *         ejb invocation.  Note that each class may have only one
  *         around invoke method and that the method may not be
  *         overloaded.
- * 
+ *
  *         If the class element is missing then
  *         the class defining the callback is assumed to be the
  *         interceptor class or component class in scope at the
  *         location in the descriptor in which the around invoke
  *         definition appears.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for around-invokeType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="around-invokeType">
  *   &lt;complexContent>
@@ -40,50 +41,39 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 public interface AroundInvokeMetaData
 {
 
    /**
-    * Gets the value of the clazz property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Returns the fully qualified classname of the class
+    * whose method will be called during the around invoke portion
+    * of the EJB invocation
+    *
     */
-   String getClazz();
+   String getClassname();
 
    /**
-    * Sets the value of the clazz property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Sets the fully qualified classname of the class whose
+    * method will be called during the around invoke portion
+    * of the EJB invocation
+    *
+    * @param classname Fully qualified classname
+    *
     */
-   void setClazz(String value);
+   void setClassname(String classname);
 
    /**
-    * Gets the value of the methodName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link JavaIdentifierType }
-    *     
+    * Returns the method name of the around-invoke method
+    *
     */
    String getMethodName();
 
    /**
-    * Sets the value of the methodName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link JavaIdentifierType }
-    *     
+    * Sets the method name of the around-invoke method
     */
-   void setMethodName(String value);
+   void setMethodName(String methodName);
 
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbLocalRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbLocalRefMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbLocalRefMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -10,13 +10,13 @@
 import java.util.List;
 
 /**
- * 
- * 
+ * Represents the metadata for ejb-local-ref element
+ *
  * 	The ejb-local-refType is used by ejb-local-ref elements for
  * 	the declaration of a reference to an enterprise bean's local
  * 	home or to the local business interface of a 3.0 bean.
  *         The declaration consists of:
- * 
+ *
  * 	    - an optional description
  * 	    - the EJB reference name used in the code of the Deployment
  * 	      Component that's referencing the enterprise bean.
@@ -31,13 +31,13 @@
  * 	      referenced enterprise bean
  *             - optional elements to define injection of the named enterprise
  *               bean into a component field or property.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for ejb-local-refType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="ejb-local-refType">
  *   &lt;complexContent>
@@ -56,198 +56,163 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface EjbLocalRefMetaData
+public interface EjbLocalRefMetaData extends IdMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
-    * Gets the value of the ejbRefName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link EjbRefNameType }
-    *     
+    * Returns the local EJB reference name
+    *
     */
    String getEjbRefName();
 
    /**
-    * Sets the value of the ejbRefName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EjbRefNameType }
-    *     
+    * Sets the local EJB reference name
+    *
+    * @param ejbRefName
     */
-   void setEjbRefName(String value);
+   void setEjbRefName(String ejbRefName);
 
    /**
-    * Gets the value of the ejbRefType property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link EjbRefTypeType }
-    *     
+    * Returns the type of the EJB reference.
+    *
     */
    String getEjbRefType();
 
    /**
-    * Sets the value of the ejbRefType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EjbRefTypeType }
-    *     
+    * Sets the type of the EJB reference
+    *
+    * @param ejbRefType The type of the EJB reference
     */
-   void setEjbRefType(String value);
+   void setEjbRefType(String ejbRefType);
 
    /**
-    * Gets the value of the localHome property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link LocalHomeType }
-    *     
+    * Returns the fully qualified classname of the local home interface
+    * of this EJB reference. Returns null if there is no local home interface
+    * for this EJB reference.
+    *
     */
    String getLocalHome();
 
    /**
-    * Sets the value of the localHome property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link LocalHomeType }
-    *     
+    * Sets the fully qualified classname of the local home interface of this
+    * EJB reference.
+    *
+    * @param localHome Fully qualified classname of the local home interface of this
+    * EJB reference
     */
-   void setLocalHome(String value);
+   void setLocalHome(String localHome);
 
    /**
-    * Gets the value of the local property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link LocalType }
-    *     
+    * Returns the fully qualified classname of
+    * EJB2.x local interface or the EJB3.x local business interface of
+    * this EJB reference. Returns null if neither exists.
     */
    String getLocal();
 
    /**
-    * Sets the value of the local property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link LocalType }
-    *     
+    * Sets the fully qualified classname of the EJB2.x local interface or
+    * EJB3.x local business interface of this EJB reference.
+    *
+    * @param localInterface Either the EJB2.x local interface or
+    * the EJB3.x local business interface's fully qualified classname
+    *
     */
    void setLocal(String value);
 
    /**
-    * Gets the value of the ejbLink property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link EjbLinkType }
-    *     
+    * Returns the EJB name of the linked bean. Returns null if there is
+    * no ejb-link specified.
+    *
+    *
+    * The value of the ejb-link element must be the ejb-name of an
+    * enterprise bean in the same ejb-jar file or in another ejb-jar
+    * file in the same Java EE application unit.
+
+    * Alternatively, the name in the ejb-link element may be
+    * composed of a path name specifying the ejb-jar containing the
+    * referenced enterprise bean with the ejb-name of the target
+    * bean appended and separated from the path name by "#".  The
+    * path name is relative to the Deployment File containing
+    * Deployment Component that is referencing the enterprise
+    * bean.  This allows multiple enterprise beans with the same
+    * ejb-name to be uniquely identified.
+    *
+    *  Examples:
+    *
+    *      <ejb-link>EmployeeRecord</ejb-link>
+    *
+    *     <ejb-link>../products/product.jar#ProductEJB</ejb-link>
+    *
     */
    String getEjbLink();
 
    /**
-    * Sets the value of the ejbLink property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EjbLinkType }
-    *     
+    * Sets the name of the linked EJB
+    *
+    *
+    * @param ejbLink Name of the linked EJB
+    * @see #getEjbLink()
+    *
+    *
     */
-   void setEjbLink(String value);
+   void setEjbLink(String ejbLink);
 
    /**
-    * Gets the value of the mappedName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the mapped-name of the EJB reference.
+    * Returns null if the mapped-name is not set
+    *
     */
    String getMappedName();
 
    /**
-    * Sets the value of the mappedName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the mapped-name of the EJB reference
+    *
+    * @param mappedName mapped-name of the EJB reference
     */
-   void setMappedName(String value);
+   void setMappedName(String mappedName);
 
    /**
-    * Gets the value of the injectionTarget property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the injectionTarget property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getInjectionTarget().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link InjectionTargetMetaData }
-    * 
-    * 
+    * Returns a list of injection target(s) metadata for
+    * this EJB reference
+    * Returns an empty list if there is no injection-target.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
     */
-   List<InjectionTargetMetaData> getInjectionTarget();
+   List<InjectionTargetMetaData> getInjectionTargets();
 
    /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
+    * Sets the list of injection targets for this EJB reference
+    *
+    * @param injectionTargets List of injection targets metadata for this EJB reference
     */
-   java.lang.String getId();
+   void setInjectionTargets(List<InjectionTargetMetaData> injectionTargets);
 
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
-
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRefMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRefMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -10,13 +10,13 @@
 import java.util.List;
 
 /**
- * 
- * 
+ *
+ *
  * 	The ejb-refType is used by ejb-ref elements for the
  * 	declaration of a reference to an enterprise bean's home or
  *         to the remote business interface of a 3.0 bean.
  * 	The declaration consists of:
- * 
+ *
  * 	    - an optional description
  * 	    - the EJB reference name used in the code of
  * 	      the Deployment Component that's referencing the enterprise
@@ -32,13 +32,13 @@
  * 	      referenced enterprise bean
  *             - optional elements to define injection of the named enterprise
  *               bean into a component field or property
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for ejb-refType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="ejb-refType">
  *   &lt;complexContent>
@@ -57,198 +57,172 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface EjbRefMetaData
+public interface EjbRefMetaData extends IdMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
-    * Gets the value of the ejbRefName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link EjbRefNameType }
-    *     
+    * Returns the name of the EJB reference
+    *
+    * The ejb-ref-name element contains the name of an EJB
+    *  reference. The EJB reference is an entry in the
+    *  Deployment Component's environment and is relative to the
+    *  java:comp/env context.  The name must be unique within the
+    *  Deployment Component.
+    *
     */
    String getEjbRefName();
 
    /**
-    * Sets the value of the ejbRefName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EjbRefNameType }
-    *     
+    * Sets the name of the EJB reference
+    *
+    * @param ejbRefName The name of the EJB reference
+    *
     */
-   void setEjbRefName(String value);
+   void setEjbRefName(String ejbRefName);
 
    /**
-    * Gets the value of the ejbRefType property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link EjbRefTypeType }
-    *     
+    * Returns the type of the EJB reference.
+    *
     */
-   String getEjbRefType();
+   EnterpriseBeanType getEjbRefType();
 
    /**
-    * Sets the value of the ejbRefType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EjbRefTypeType }
-    *     
+    * Sets the type of the EJB reference
+    *
+    * @param ejbRefType The type of the EJB reference
     */
-   void setEjbRefType(String value);
+   void setEjbRefType(EnterpriseBeanType ejbRefType);
 
    /**
-    * Gets the value of the home property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link HomeType }
-    *     
+    * Returns the fully qualified classname of the home interface
+    * of this EJB reference. Returns null if there is no home interface
+    * for this EJB reference.
+    *
     */
    String getHome();
 
    /**
-    * Sets the value of the home property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link HomeType }
-    *     
+    * Sets the fully qualified classname of the home interface of this
+    * EJB reference.
+    *
+    * @param home Fully qualified classname of the home interface of this
+    * EJB reference
     */
-   void setHome(String value);
+   void setHome(String home);
 
    /**
-    * Gets the value of the remote property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link RemoteType }
-    *     
+    * Returns the fully qualified classname of
+    * EJB2.x remote interface or the EJB3.x remote business interface of
+    * this EJB reference. Returns null if neither exists.
+    *
     */
    String getRemote();
 
    /**
-    * Sets the value of the remote property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link RemoteType }
-    *     
+    * Sets the fully qualified classname of the EJB2.x remote interface or
+    * EJB3.x remote business interface of this EJB reference.
+    *
+    * @param remoteInterface Either the EJB2.x remote interface or
+    * the EJB3.x remote business interface's fully qualified classname
+    *
     */
-   void setRemote(String value);
+   void setRemote(String remote);
 
    /**
-    * Gets the value of the ejbLink property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link EjbLinkType }
-    *     
+    * Returns the EJB name of the linked bean. Returns null if there is
+    * no ejb-link specified.
+    *
+    *
+    * The value of the ejb-link element must be the ejb-name of an
+    * enterprise bean in the same ejb-jar file or in another ejb-jar
+    * file in the same Java EE application unit.
+
+    * Alternatively, the name in the ejb-link element may be
+    * composed of a path name specifying the ejb-jar containing the
+    * referenced enterprise bean with the ejb-name of the target
+    * bean appended and separated from the path name by "#".  The
+    * path name is relative to the Deployment File containing
+    * Deployment Component that is referencing the enterprise
+    * bean.  This allows multiple enterprise beans with the same
+    * ejb-name to be uniquely identified.
+    *
+    *  Examples:
+    *
+    *      <ejb-link>EmployeeRecord</ejb-link>
+    *
+    *     <ejb-link>../products/product.jar#ProductEJB</ejb-link>
+    *
     */
    String getEjbLink();
 
    /**
-    * Sets the value of the ejbLink property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EjbLinkType }
-    *     
+    * Sets the name of the linked EJB
+    *
+    *
+    * @param ejbLink Name of the linked EJB
+    * @see #getEjbLink()
+    *
     */
-   void setEjbLink(String value);
+   void setEjbLink(String ejbLink);
 
    /**
-    * Gets the value of the mappedName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the mapped-name of the EJB reference.
+    * Returns null if the mapped-name is not set
+    *
     */
    String getMappedName();
 
    /**
-    * Sets the value of the mappedName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the mapped-name of the EJB reference
+    *
+    * @param mappedName mapped-name of the EJB reference
     */
-   void setMappedName(String value);
+   void setMappedName(String mappedName);
 
    /**
-    * Gets the value of the injectionTarget property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the injectionTarget property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getInjectionTarget().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link InjectionTargetMetaData }
-    * 
-    * 
+    * Returns a list of injection target(s) metadata for
+    * this EJB reference
+    * Returns an empty list if there is no injection-target.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
     */
-   List<InjectionTargetMetaData> getInjectionTarget();
+   List<InjectionTargetMetaData> getInjectionTargets();
 
    /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
+    * Sets the list of injection targets for this EJB reference
+    *
+    * @param injectionTargets List of injection targets metadata for this EJB reference
     */
-   java.lang.String getId();
+   void setInjectionTargets(List<InjectionTargetMetaData> injectionTargets);
 
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
 
+
 }

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnterpriseBeanType.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnterpriseBeanType.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnterpriseBeanType.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -0,0 +1,49 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This 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 (at your option) any later version.
+*
+* This software 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 software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.metadata.spi.javaee;
+
+/**
+ * EnterpriseBeanType
+ *
+ * Represents the various possible
+ * enterprise bean types
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public enum EnterpriseBeanType
+{
+   /**
+    * Represents a session bean type
+    */
+   SESSION_BEAN_TYPE,
+
+   /**
+    * Represents a EJB2.x entity bean type
+    */
+   ENTITY_BEAN_TYPE,
+
+   /**
+    * Represents a message driven bean type
+    */
+   MESSAGE_DRIVEN_BEAN_TYPE;
+}

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnvEntryMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnvEntryMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnvEntryMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -10,34 +10,34 @@
 import java.util.List;
 
 /**
- * 
- * 
+ * Represents the metadata for the env-entry element of a bean
+ *
  * 	The env-entryType is used to declare an application's
  * 	environment entry. The declaration consists of an optional
  * 	description, the name of the environment entry, a type
  * 	(optional if the value is injected, otherwise required), and
  * 	an optional value.
- * 
+ *
  * 	It also includes optional elements to define injection of
  * 	the named resource into fields or JavaBeans properties.
- * 
+ *
  * 	If a value is not specified and injection is requested,
  * 	no injection will occur and no entry of the specified name
  * 	will be created.  This allows an initial value to be
  * 	specified in the source code without being incorrectly
  * 	changed when no override has been specified.
- * 
+ *
  * 	If a value is not specified and no injection is requested,
  * 	a value must be supplied during deployment.
- * 
+ *
  * 	This type is used by env-entry elements.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for env-entryType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="env-entryType">
  *   &lt;complexContent>
@@ -54,158 +54,110 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface EnvEntryMetaData
+public interface EnvEntryMetaData extends IdMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
-    * Gets the value of the envEntryName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link JndiNameType }
-    *     
+    * Returns the env-entry-name of the env-entry
+    *
+    * The env-entry-name element contains the name of a
+    *      component's environment entry.  The name is a JNDI
+    *      name relative to the java:comp/env context.  The
+    *      name must be unique within an component.
     */
    String getEnvEntryName();
 
    /**
-    * Sets the value of the envEntryName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link JndiNameType }
-    *     
+    * Sets the env-entry-name of the env-entry
+    *
+    * @param name env-entry-name
     */
-   void setEnvEntryName(String value);
+   void setEnvEntryName(String name);
 
    /**
-    * Gets the value of the envEntryType property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link EnvEntryTypeValuesType }
-    *     
+    * Returns the fully qualified classname of the type of the env-entry
+    *
     */
    String getEnvEntryType();
 
    /**
-    * Sets the value of the envEntryType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EnvEntryTypeValuesType }
-    *     
+    * Sets the fully qualified classname of the type of the env-entry
+    *
+    * @param envEntryType The env-entry type
+    *
     */
-   void setEnvEntryType(String value);
+   void setEnvEntryType(String envEntryType);
 
    /**
-    * Gets the value of the envEntryValue property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the value of this env-entry
+    *
     */
    String getEnvEntryValue();
 
    /**
-    * Sets the value of the envEntryValue property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the value of this entry.
+    *
+    * @param value The value of the env-entry
     */
    void setEnvEntryValue(String value);
 
    /**
-    * Gets the value of the mappedName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the mapped-name of this env-entry
+    *
     */
    String getMappedName();
 
    /**
-    * Sets the value of the mappedName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the mapped-name of this env-entry
+    *
+    * @param mappedName The mapped-name of this env-entry
+    *
     */
-   void setMappedName(String value);
+   void setMappedName(String mappedName);
 
    /**
-    * Gets the value of the injectionTarget property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the injectionTarget property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getInjectionTarget().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link InjectionTargetMetaData }
-    * 
-    * 
+    * Returns a list of injection target(s) metadata for
+    * this env-entry
+    * Returns an empty list if there is no injection-target.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
     */
-   List<InjectionTargetMetaData> getInjectionTarget();
+   List<InjectionTargetMetaData> getInjectionTargets();
 
    /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
+    * Sets the list of injection targets for this env-entry
+    *
+    * @param injectionTargets List of injection targets metadata for this env-entry
     */
-   java.lang.String getId();
+   void setInjectionTargets(List<InjectionTargetMetaData> injectionTargets);
 
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
 
 }

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/IdMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/IdMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/IdMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -0,0 +1,30 @@
+/**
+ *
+ */
+package org.jboss.ejb3.metadata.spi.javaee;
+
+/**
+ * IdMetaData
+ *
+ * Most of the metadata have ids. This interface
+ * represents the metadata of such elements.
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public interface IdMetaData
+{
+
+   /**
+    * Returns the id
+    *
+    */
+   java.lang.String getId();
+
+   /**
+    * Sets the id
+    *
+    *
+    */
+   void setId(java.lang.String id);
+}

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InjectionTargetMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InjectionTargetMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InjectionTargetMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,39 +1,39 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
 
 /**
- * 
- * 
+ *  Represents the metadata for an injection-target
+ *
  * 	An injection target specifies a class and a name within
  * 	that class into which a resource should be injected.
- * 
+ *
  * 	The injection target class specifies the fully qualified
  * 	class name that is the target of the injection.  The
  * 	Java EE specifications describe which classes can be an
  * 	injection target.
- * 
+ *
  * 	The injection target name specifies the target within
  * 	the specified class.  The target is first looked for as a
  * 	JavaBeans property name.  If not found, the target is
  * 	looked for as a field name.
- * 
+ *
  * 	The specified resource will be injected into the target
  * 	during initialization of the class by either calling the
  * 	set method for the target property or by setting a value
  * 	into the named field.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for injection-targetType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="injection-targetType">
  *   &lt;complexContent>
@@ -46,50 +46,39 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 public interface InjectionTargetMetaData
 {
 
    /**
-    * Gets the value of the injectionTargetClass property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Returns the fully qualified class name of the injection-target
+    *
     */
-   String getInjectionTargetClass();
+   String getInjectionTargetClassname();
 
    /**
-    * Sets the value of the injectionTargetClass property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Sets the fully qualified class name of the injection-target
+    *
+    * @param classname Fully qualified class name of the injection target
     */
-   void setInjectionTargetClass(String value);
+   void setInjectionTargetClass(String classname);
 
    /**
-    * Gets the value of the injectionTargetName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link JavaIdentifierType }
-    *     
+    * Returns the property/field name within the {@link #getInjectionTargetClassname()}
+    * injection target classname.
+    *
     */
    String getInjectionTargetName();
 
    /**
-    * Sets the value of the injectionTargetName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link JavaIdentifierType }
-    *     
+    * Sets the property/field name within the {@link #getInjectionTargetClassname()}
+    * injection target classname.
+    *
+    * @param targetName
+    *
     */
-   void setInjectionTargetName(String value);
+   void setInjectionTargetName(String targetName);
 
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodParamsMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodParamsMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodParamsMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -10,17 +10,17 @@
 import java.util.List;
 
 /**
- * 
- * 
+ * Represents the metadata for method params.
+ *
  * 	The method-paramsType defines a list of the
  * 	fully-qualified Java type names of the method parameters.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for method-paramsType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="method-paramsType">
  *   &lt;complexContent>
@@ -33,54 +33,29 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface MethodParamsMetaData
+public interface MethodParamsMetaData extends IdMetaData
 {
 
    /**
-    * Gets the value of the methodParam property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the methodParam property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getMethodParam().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link JavaTypeType }
-    * 
-    * 
+    * Returns the list of fully qualified classnames of each of the
+    * method param types. Returns an empty list if there are no params for a method.
+    *
+    * Its upto the implementations to return either a modifiable or
+    * an unmodifiable {@link List}
+    *
     */
-   List<String> getMethodParam();
+   List<String> getMethodParams();
 
-   /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
-    */
-   java.lang.String getId();
 
    /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
+    * Sets the list of fully qualified classnames of the each of the method param types.
+    *
+    * @param methodParams
     */
-   void setId(java.lang.String value);
+   void setMethodParams(List<String> methodParams);
 
+
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/NamedMethodMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/NamedMethodMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/NamedMethodMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,17 +1,19 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
 
 /**
+ * Represents metadata for a named method
+ *
  * <p>Java class for named-methodType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="named-methodType">
  *   &lt;complexContent>
@@ -25,70 +27,37 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface NamedMethodMetaData
+public interface NamedMethodMetaData extends IdMetaData
 {
 
    /**
-    * Gets the value of the methodName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link com.sun.java.xml.ns.javaee.String }
-    *     
+    * Returns the method name
+    *
     */
    String getMethodName();
 
    /**
-    * Sets the value of the methodName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link com.sun.java.xml.ns.javaee.String }
-    *     
+    * Sets the method name
+    *
+    * @param methodName The method name
+    *
     */
-   void setMethodName(String value);
+   void setMethodName(String methodName);
 
    /**
-    * Gets the value of the methodParams property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link MethodParamsMetaData }
-    *     
+    * Returns the metadata corresponding to the params of this method
+    *
     */
    MethodParamsMetaData getMethodParams();
 
    /**
-    * Sets the value of the methodParams property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link MethodParamsMetaData }
-    *     
+    * Sets the method params metadata of this method
+    *
+    * @param methodParams The method params
     */
-   void setMethodParams(MethodParamsMetaData value);
+   void setMethodParams(MethodParamsMetaData methodParams);
 
-   /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
-    */
-   java.lang.String getId();
-
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
-
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextRefMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextRefMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -10,14 +10,14 @@
 import java.util.List;
 
 /**
- * 
- * 	
- * 
+ * Represents the metadata for persistence context references.
+ *
+ *
  * 	  The persistence-context-ref element contains a declaration
  * 	  of Deployment Component's reference to a persistence context
  * 	  associated within a Deployment Component's
  * 	  environment. It consists of:
- * 
+ *
  * 		  - an optional description
  * 		  - the persistence context reference name
  * 		  - an optional persistence unit name.  If not specified,
@@ -27,14 +27,14 @@
  * 		    Extended.  If not specified, Transaction is assumed.
  *                   - an optional list of persistence properties
  * 		  - optional injection targets
- * 
+ *
  * 	  Examples:
- * 
+ *
  *             <persistence-context-ref>
  *               <persistence-context-ref-name>myPersistenceContext
  *               </persistence-context-ref-name>
  *             </persistence-context-ref>
- * 
+ *
  *             <persistence-context-ref>
  *               <persistence-context-ref-name>myPersistenceContext
  *                 </persistence-context-ref-name>
@@ -42,14 +42,14 @@
  *                 </persistence-unit-name>
  *               <persistence-context-type>Extended</persistence-context-type>
  *             </persistence-context-ref>
- * 
- * 	  
- *       
- * 
+ *
+ *
+ *
+ *
  * <p>Java class for persistence-context-refType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="persistence-context-refType">
  *   &lt;complexContent>
@@ -67,182 +67,122 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface PersistenceContextRefMetaData
+public interface PersistenceContextRefMetaData extends IdMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
-    * Gets the value of the persistenceContextRefName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link JndiNameType }
-    *     
+    *
+    * @return Returns the persistence context reference name
+    *
     */
    String getPersistenceContextRefName();
 
    /**
-    * Sets the value of the persistenceContextRefName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link JndiNameType }
-    *     
+    * Sets the persistence context reference name
+    *
+    * @param persistenceContextRefName The persistence context ref name
+    *
     */
-   void setPersistenceContextRefName(String value);
+   void setPersistenceContextRefName(String persistenceContextRefName);
 
    /**
-    * Gets the value of the persistenceUnitName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link com.sun.java.xml.ns.javaee.String }
-    *     
+    * @return Returns the persistence unit name of this persistence context reference
+    *
     */
    String getPersistenceUnitName();
 
    /**
-    * Sets the value of the persistenceUnitName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link com.sun.java.xml.ns.javaee.String }
-    *     
+    * Sets the persistence unit name of this persistence context reference
+    *
+    * @param persistenceUnitName The persistence unit name
+    *
     */
    void setPersistenceUnitName(String value);
 
    /**
-    * Gets the value of the persistenceContextType property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link PersistenceContextTypeType }
-    *     
+    * @return Returns the persistence context type
+    *
     */
-   String getPersistenceContextType();
+   PersistenceContextType getPersistenceContextType();
 
    /**
-    * Sets the value of the persistenceContextType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link PersistenceContextTypeType }
-    *     
+    * Sets the persistence context type of this persistence context reference
+    *
+    * @param persistenceContextType The persistence context type of this reference
+    *
     */
-   void setPersistenceContextType(String value);
+   void setPersistenceContextType(PersistenceContextType persistenceContextType);
 
    /**
-    * Gets the value of the persistenceProperty property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the persistenceProperty property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getPersistenceProperty().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link PropertyMetaData }
-    * 
-    * 
+    * @return Returns the list of properties set for this persistence
+    * context reference
+    *
+    *
     */
-   List<PropertyMetaData> getPersistenceProperty();
+   List<PropertyMetaData> getPersistenceProperties();
 
    /**
-    * Gets the value of the mappedName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the persistence properties of this persistence context reference
+    *
+    * @param properties The properties of this persistence context reference
     */
-   String getMappedName();
+   void setPersistenceProperties(List<PropertyMetaData> properties);
 
    /**
-    * Sets the value of the mappedName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the mapped-name of the EJB reference.
+    * Returns null if the mapped-name is not set
+    *
     */
-   void setMappedName(String value);
+   String getMappedName();
 
    /**
-    * Gets the value of the injectionTarget property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the injectionTarget property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getInjectionTarget().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link InjectionTargetMetaData }
-    * 
-    * 
+    * Sets the mapped-name of the EJB reference
+    *
+    * @param mappedName mapped-name of the EJB reference
     */
-   List<InjectionTargetMetaData> getInjectionTarget();
+   void setMappedName(String mappedName);
 
    /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
+    * Returns a list of injection target(s) metadata for
+    * this EJB reference
+    * Returns an empty list if there is no injection-target.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
     */
-   java.lang.String getId();
+   List<InjectionTargetMetaData> getInjectionTargets();
 
    /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
+    * Sets the list of injection targets for this EJB reference
+    *
+    * @param injectionTargets List of injection targets metadata for this EJB reference
     */
-   void setId(java.lang.String value);
-
+   void setInjectionTargets(List<InjectionTargetMetaData> injectionTargets);
 }

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextType.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextType.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextType.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This 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 (at your option) any later version.
+*
+* This software 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 software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.metadata.spi.javaee;
+
+/**
+ * PersistenceContextType
+ *
+ * Represents the various possible persistence context types
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public enum PersistenceContextType
+{
+   /**
+    * Extended persistence context type
+    */
+   EXTENDED,
+
+   /**
+    * Transaction persistence context type
+    */
+   TRANSACTION;
+}

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PortComponentRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PortComponentRefMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PortComponentRefMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,27 +1,27 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
 
 /**
- * 
- * 
+ *
+ *
  * 	The port-component-ref element declares a client dependency
  * 	on the container for resolving a Service Endpoint Interface
  * 	to a WSDL port. It optionally associates the Service Endpoint
  * 	Interface with a particular port-component. This is only used
  * 	by the container for a Service.getPort(Class) method call.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for port-component-refType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="port-component-refType">
  *   &lt;complexContent>
@@ -36,90 +36,50 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface PortComponentRefMetaData
+public interface PortComponentRefMetaData extends IdMetaData
 {
 
    /**
-    * Gets the value of the serviceEndpointInterface property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * @return Returns the fully qualified classname of the service endpoint interface
+    *
     */
    String getServiceEndpointInterface();
 
    /**
-    * Sets the value of the serviceEndpointInterface property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Sets the fully qualified classname of the service endpoint interface
+    *
+    * @param serviceEndpointInterface Fully qualified classname of the endpoint interface
     */
-   void setServiceEndpointInterface(String value);
+   void setServiceEndpointInterface(String serviceEndpointInterface);
 
    /**
-    * Gets the value of the enableMtom property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link TrueFalseType }
-    *     
+    * Returns true if SOAP MTOM/XOP mechanism is enabled. Else
+    * returns false.
+    *
     */
-   boolean getEnableMtom();
+   boolean isEnableMtom();
 
    /**
-    * Sets the value of the enableMtom property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link TrueFalseType }
-    *     
+    * Enable/Disable the SOAP MTOM/XOP mechanism.
+    *
+    * @param enableMtom
     */
-   void setEnableMtom(boolean value);
+   void setEnableMtom(boolean enableMtom);
 
    /**
-    * Gets the value of the portComponentLink property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link com.sun.java.xml.ns.javaee.String }
-    *     
+    * @return Returns the port component link
+    *
     */
    String getPortComponentLink();
 
    /**
-    * Sets the value of the portComponentLink property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link com.sun.java.xml.ns.javaee.String }
-    *     
+    * Sets the port component link
+    *
+    * @param portComponentLink The port component link
     */
-   void setPortComponentLink(String value);
+   void setPortComponentLink(String portComponentLink);
 
-   /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
-    */
-   java.lang.String getId();
-
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
-
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PropertyMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PropertyMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PropertyMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,23 +1,23 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
 
 /**
- * 
- * 
+ *
+ *
  * 	Specifies a name/value pair.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for propertyType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="propertyType">
  *   &lt;complexContent>
@@ -31,70 +31,36 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface PropertyMetaData
+public interface PropertyMetaData extends IdMetaData
 {
 
    /**
-    * Gets the value of the name property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * @return Returns the name of the property
+    *
     */
    String getName();
 
    /**
-    * Sets the value of the name property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the name of the property
+    *
+    * @param name Property name
     */
-   void setName(String value);
+   void setName(String name);
 
    /**
-    * Gets the value of the value property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    *
+    * @return Returns the value of the property
     */
    String getValue();
 
    /**
-    * Sets the value of the value property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the value of the property.
+    *
+    * @param value The property value
     */
    void setValue(String value);
 
-   /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
-    */
-   java.lang.String getId();
-
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
-
 }

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceAuthenticationType.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceAuthenticationType.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceAuthenticationType.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This 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 (at your option) any later version.
+*
+* This software 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 software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.metadata.spi.javaee;
+
+/**
+ * ResourceAuthenticationType
+ *
+ * Represents the various possible resource auth type of
+ * a resource reference
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public enum ResourceAuthenticationType
+{
+   APPLICATION,
+
+   CONTAINER;
+}

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceEnvRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceEnvRefMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceEnvRefMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -10,9 +10,9 @@
 import java.util.List;
 
 /**
- * 
- * 	
- * 
+ *  Represents the metadata for resource-env-ref element
+ *
+ *
  * 	  The resource-env-refType is used to define
  * 	  resource-env-type elements.  It contains a declaration of a
  * 	  Deployment Component's reference to an administered object
@@ -21,32 +21,32 @@
  * 	  resource environment reference name, and an optional
  * 	  indication of the resource environment reference type
  * 	  expected by the Deployment Component code.
- * 
+ *
  * 	  It also includes optional elements to define injection of
  * 	  the named resource into fields or JavaBeans properties.
- * 
+ *
  * 	  The resource environment type must be supplied unless an
  * 	  injection target is specified, in which case the type
  * 	  of the target is used.  If both are specified, the type
  * 	  must be assignment compatible with the type of the injection
  * 	  target.
- * 
+ *
  * 	  Example:
- * 
+ *
  * 	  <resource-env-ref>
  * 	      <resource-env-ref-name>jms/StockQueue
  * 	      </resource-env-ref-name>
  * 	      <resource-env-ref-type>javax.jms.Queue
  * 	      </resource-env-ref-type>
  * 	  </resource-env-ref>
- * 
- * 	  
- *       
- * 
+ *
+ *
+ *
+ *
  * <p>Java class for resource-env-refType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="resource-env-refType">
  *   &lt;complexContent>
@@ -62,138 +62,94 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 public interface ResourceEnvRefMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
-    * Gets the value of the resourceEnvRefName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link JndiNameType }
-    *     
+    *
+    * @return Returns the resource environment reference name
+    *
     */
    String getResourceEnvRefName();
 
    /**
-    * Sets the value of the resourceEnvRefName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link JndiNameType }
-    *     
+    * Sets the name of the resource environment reference
+    *
+    * @param resEnvRefName The resource env reference name
+    *
     */
-   void setResourceEnvRefName(String value);
+   void setResourceEnvRefName(String resEnvRefName);
 
    /**
-    * Gets the value of the resourceEnvRefType property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * @return Returns the fully qualified classname of the resource env ref type
+    *
     */
    String getResourceEnvRefType();
 
    /**
-    * Sets the value of the resourceEnvRefType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Sets the fully qualified classname of the resource env reference type
+    *
+    * @param resourceEnvRefType Fully qualified classname of the resource env ref type
+    *
     */
-   void setResourceEnvRefType(String value);
+   void setResourceEnvRefType(String resourceEnvRefType);
 
    /**
-    * Gets the value of the mappedName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the mapped-name of the resource environment reference.
+    * Returns null if the mapped-name is not set
+    *
     */
    String getMappedName();
 
    /**
-    * Sets the value of the mappedName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the mapped-name of the resource environment reference
+    *
+    * @param mappedName mapped-name of the resource environment reference
     */
-   void setMappedName(String value);
+   void setMappedName(String mappedName);
 
    /**
-    * Gets the value of the injectionTarget property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the injectionTarget property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getInjectionTarget().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link InjectionTargetMetaData }
-    * 
-    * 
+    * Returns a list of injection target(s) metadata for
+    * this resource environment reference
+    * Returns an empty list if there is no injection-target.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
     */
-   List<InjectionTargetMetaData> getInjectionTarget();
+   List<InjectionTargetMetaData> getInjectionTargets();
 
    /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
+    * Sets the list of injection targets for this resource environment reference
+    *
+    * @param injectionTargets List of injection targets metadata for this resource environment reference
     */
-   java.lang.String getId();
+   void setInjectionTargets(List<InjectionTargetMetaData> injectionTargets);
 
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
-
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceRefMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceRefMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -10,9 +10,9 @@
 import java.util.List;
 
 /**
- * 
- * 	
- * 
+ *  Represents the metadata for the resource-ref element
+ *
+ *
  * 	  The resource-refType contains a declaration of a
  * 	  Deployment Component's reference to an external resource. It
  * 	  consists of an optional description, the resource manager
@@ -22,32 +22,32 @@
  * 	  (Application or Container), and an optional specification of
  * 	  the shareability of connections obtained from the resource
  * 	  (Shareable or Unshareable).
- * 
+ *
  * 	  It also includes optional elements to define injection of
  * 	  the named resource into fields or JavaBeans properties.
- * 
+ *
  * 	  The connection factory type must be supplied unless an
  * 	  injection target is specified, in which case the type
  * 	  of the target is used.  If both are specified, the type
  * 	  must be assignment compatible with the type of the injection
  * 	  target.
- * 
+ *
  * 	  Example:
- * 
+ *
  * 	  <resource-ref>
  * 	      <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
  * 	      <res-type>javax.sql.DataSource</res-type>
  * 	      <res-auth>Container</res-auth>
  * 	      <res-sharing-scope>Shareable</res-sharing-scope>
  * 	  </resource-ref>
- * 
- * 	  
- *       
- * 
+ *
+ *
+ *
+ *
  * <p>Java class for resource-refType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="resource-refType">
  *   &lt;complexContent>
@@ -65,178 +65,122 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface ResourceRefMetaData
+public interface ResourceRefMetaData extends IdMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
-    * Gets the value of the resRefName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link JndiNameType }
-    *     
+    * @return Returns the resource reference name
+    *
     */
    String getResRefName();
 
    /**
-    * Sets the value of the resRefName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link JndiNameType }
-    *     
+    * Sets the resource reference name
+    *
+    * @param resourceRefName The resource ref name
+    *
     */
-   void setResRefName(String value);
+   void setResRefName(String resourceRefName);
 
    /**
-    * Gets the value of the resType property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * @return Returns the fully qualified classname of the resource ref type
+    *
     */
    String getResType();
 
    /**
-    * Sets the value of the resType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Sets the fully qualified classname of the resource reference type
+    *
+    * @param resourceRefType Fully qualified classname of the resource ref type
+    *
     */
-   void setResType(String value);
+   void setResType(String resourceRefType);
 
    /**
-    * Gets the value of the resAuth property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link ResAuthType }
-    *     
+    *
+    * @return Returns the resource authentication type of this resource reference
+    *
     */
-   String getResAuth();
+   ResourceAuthenticationType getResAuth();
 
    /**
-    * Sets the value of the resAuth property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link ResAuthType }
-    *     
+    * Sets the resource authentication type of this resource reference
+    *
+    * @param resAuthType The resource authentication type
+    *
     */
-   void setResAuth(String value);
+   void setResAuth(ResourceAuthenticationType resAuthType);
 
    /**
-    * Gets the value of the resSharingScope property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link ResSharingScopeType }
-    *     
+    *
+    * @return Returns the resource sharing scope type of this resource reference
     */
-   String getResSharingScope();
+   ResourceSharingScopeType getResSharingScope();
 
    /**
-    * Sets the value of the resSharingScope property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link ResSharingScopeType }
-    *     
+    * Sets the resource sharing scope type
+    *
+    * @param resourceSharingScope The resource sharing scope type
+    *
     */
-   void setResSharingScope(String value);
+   void setResSharingScope(ResourceSharingScopeType resourceSharingScope);
 
    /**
-    * Gets the value of the mappedName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the mapped-name of the resource reference.
+    * Returns null if the mapped-name is not set
+    *
     */
    String getMappedName();
 
    /**
-    * Sets the value of the mappedName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the mapped-name of the resource reference
+    *
+    * @param mappedName mapped-name of the resource reference
     */
-   void setMappedName(String value);
+   void setMappedName(String mappedName);
 
    /**
-    * Gets the value of the injectionTarget property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the injectionTarget property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getInjectionTarget().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link InjectionTargetMetaData }
-    * 
-    * 
+    * Returns a list of injection target(s) metadata for
+    * this resource reference
+    * Returns an empty list if there is no injection-target.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
     */
-   List<InjectionTargetMetaData> getInjectionTarget();
+   List<InjectionTargetMetaData> getInjectionTargets();
 
    /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
+    * Sets the list of injection targets for this resource reference
+    *
+    * @param injectionTargets List of injection targets metadata for this resource reference
     */
-   java.lang.String getId();
+   void setInjectionTargets(List<InjectionTargetMetaData> injectionTargets);
 
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
-
 }

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceSharingScopeType.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceSharingScopeType.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceSharingScopeType.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -0,0 +1,37 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This 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 (at your option) any later version.
+*
+* This software 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 software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.metadata.spi.javaee;
+
+/**
+ * ResourceSharingScopeType
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public enum ResourceSharingScopeType
+{
+
+   SHAREABLE,
+
+   UNSHAREABLE;
+
+}

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRefMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRefMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -12,8 +12,8 @@
 import javax.xml.namespace.QName;
 
 /**
- * 
- * 
+ * Represents the metadata for the webservice reference.
+ *
  * 	The service-ref element declares a reference to a Web
  * 	service. It contains optional description, display name and
  * 	icons, a declaration of the required Service interface,
@@ -21,13 +21,13 @@
  * 	of JAX-RPC mappings, an optional QName for the service element,
  * 	an optional set of Service Endpoint Interfaces to be resolved
  * 	by the container to a WSDL port, and an optional set of handlers.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for service-refType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="service-refType">
  *   &lt;complexContent>
@@ -52,334 +52,244 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface ServiceRefMetaData
+public interface ServiceRefMetaData extends IdMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
     * Gets the value of the displayName property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the displayName property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDisplayName().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DisplayNameMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DisplayNameMetaData> getDisplayName();
 
    /**
     * Gets the value of the icon property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the icon property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getIcon().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link IconType }
-    * 
-    * 
+    *
+    *
     */
    List<IconType> getIcon();
 
    /**
-    * Gets the value of the serviceRefName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link JndiNameType }
-    *     
+    * Returns the service reference name
+    * The service-ref-name element declares logical name that the
+    *    components in the module use to look up the Web service.
+    *
     */
    String getServiceRefName();
 
    /**
-    * Sets the value of the serviceRefName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link JndiNameType }
-    *     
+    * Sets the service reference name
+    *
+    * @param serviceRefName The service reference name
     */
-   void setServiceRefName(String value);
+   void setServiceRefName(String serviceRefName);
 
    /**
-    * Gets the value of the serviceInterface property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Returns the fully qualified classname of the JAX-RPC Service interface.
+    *
     */
    String getServiceInterface();
 
    /**
-    * Sets the value of the serviceInterface property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Sets the fully qualified classname of the JAX-RPC Service interface.
+    *
+    * @param serviceInterface Fully qualified classname of the service interface
+    *
     */
-   void setServiceInterface(String value);
+   void setServiceInterface(String serviceInterface);
 
    /**
-    * Gets the value of the serviceRefType property.
-    * 
+    * Returns the fully qualified class name of the service class or the
+    * service endpoint interface class
     * @return
-    *     possible object is
-    *     {@link FullyQualifiedClassType }
-    *     
     */
    String getServiceRefType();
 
    /**
-    * Sets the value of the serviceRefType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Sets the fully qualified class name of the service class or the service
+    * endpoint interface class
+    *
+    * @param serviceRefType Fully qualified classname of the service class or the
+    * service endpoint interface.
     */
-   void setServiceRefType(String value);
+   void setServiceRefType(String serviceRefType);
 
    /**
-    * Gets the value of the wsdlFile property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdAnyURIType }
-    *     
+    * Returns the URI location of a WSDL file.
+    * The location is relative to the root of the module
+    *
     */
    String getWsdlFile();
 
    /**
-    * Sets the value of the wsdlFile property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdAnyURIType }
-    *     
+    * Sets the URI location of the WSDL file
+    *
+    * @param wsdlFile The URI location of the WSDL file
     */
-   void setWsdlFile(String value);
+   void setWsdlFile(String wsdlFileURILocation);
 
    /**
-    * Gets the value of the jaxrpcMappingFile property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link PathType }
-    *     
+    * @return Returns the name of a file that
+    *    describes the JAX-RPC mapping between the Java interaces used by
+    *    the application and the WSDL description in the wsdl-file.  The
+    *    file name is a relative path within the module file.
     */
    String getJaxrpcMappingFile();
 
    /**
-    * Sets the value of the jaxrpcMappingFile property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link PathType }
-    *     
+    * Sets the file name of the JAX-RPC mapping.
+    *
+    * @param jaxRpcMappingFile THe file name
     */
-   void setJaxrpcMappingFile(String value);
+   void setJaxrpcMappingFile(String jaxRpcMappingFile);
 
    /**
-    * Gets the value of the serviceQname property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdQNameType }
-    *     
+    *
+    * @return Returns the specific WSDL service
+    *    element that is being refered to
     */
    QName getServiceQname();
 
    /**
-    * Sets the value of the serviceQname property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdQNameType }
-    *     
+    * Sets the specific WSDL service element being refered by this
+    * service reference.
+    *
+    * @param serviceQName
+    *
     */
-   void setServiceQname(QName value);
+   void setServiceQname(QName serviceQName);
 
    /**
-    * Gets the value of the portComponentRef property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the portComponentRef property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getPortComponentRef().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link PortComponentRefMetaData }
-    * 
-    * 
+    * Returns the list of port component reference metadata
+    * of this service reference.
+    *
     */
-   List<PortComponentRefMetaData> getPortComponentRef();
+   List<PortComponentRefMetaData> getPortComponentRefs();
 
    /**
-    * Gets the value of the handler property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the handler property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getHandler().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link ServiceRef_HandlerMetaData }
-    * 
-    * 
+    * Sets the port component references
+    *
+    * @param portComponentRefs
     */
-   List<ServiceRef_HandlerMetaData> getHandler();
+   void setPortComponentRefs(List<PortComponentRefMetaData> portComponentRefs);
 
    /**
-    * Gets the value of the handlerChains property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link ServiceRef_HandlerChainsMetaData }
-    *     
+    * Returns the list of service reference handler metadata
+    *
     */
-   ServiceRef_HandlerChainsMetaData getHandlerChains();
+   List<ServiceRef_HandlerMetaData> getHandlers();
 
    /**
-    * Sets the value of the handlerChains property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link ServiceRef_HandlerChainsMetaData }
-    *     
+    * Sets the list of service reference handlers
+    *
+    * @param serviceRefHandlers
     */
-   void setHandlerChains(ServiceRef_HandlerChainsMetaData value);
+   void setHandlers(List<ServiceRef_HandlerMetaData> serviceRefHandlers);
 
    /**
-    * Gets the value of the mappedName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the service reference handler chains
+    *
     */
-   String getMappedName();
+   ServiceRef_HandlerChainsMetaData getHandlerChains();
 
    /**
-    * Sets the value of the mappedName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the service reference handler chains
+    *
+    * @param serviceRefHandlerChains
+    *
     */
-   void setMappedName(String value);
+   void setHandlerChains(ServiceRef_HandlerChainsMetaData serviceRefHandlerChains);
 
    /**
-    * Gets the value of the injectionTarget property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the injectionTarget property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getInjectionTarget().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link InjectionTargetMetaData }
-    * 
-    * 
+    * Returns the mapped-name of the service reference.
+    * Returns null if the mapped-name is not set
+    *
     */
-   List<InjectionTargetMetaData> getInjectionTarget();
+   String getMappedName();
 
    /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
+    * Sets the mapped-name of the service reference
+    *
+    * @param mappedName mapped-name of the service reference
     */
-   java.lang.String getId();
+   void setMappedName(String mappedName);
 
    /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
+    * Returns a list of injection target(s) metadata for
+    * this service reference
+    * Returns an empty list if there is no injection-target.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
     */
-   void setId(java.lang.String value);
+   List<InjectionTargetMetaData> getInjectionTargets();
 
+   /**
+    * Sets the list of injection targets for this service reference
+    *
+    * @param injectionTargets List of injection targets metadata for this service reference
+    */
+   void setInjectionTargets(List<InjectionTargetMetaData> injectionTargets);
+
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.javaee;
@@ -12,21 +12,21 @@
 import javax.xml.namespace.QName;
 
 /**
- * 
- * 
+ *
+ *
  * 	Declares the handler for a port-component. Handlers can access the
  * 	init-param name/value pairs using the HandlerInfo interface. If
  * 	port-name is not specified, the handler is assumed to be associated
  * 	with all ports of the service.
- * 
+ *
  * 	Used in: service-ref
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for service-ref_handlerType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="service-ref_handlerType">
  *   &lt;complexContent>
@@ -45,238 +45,220 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface ServiceRef_HandlerMetaData
+public interface ServiceRef_HandlerMetaData extends IdMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
     * Gets the value of the displayName property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the displayName property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDisplayName().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DisplayNameMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DisplayNameMetaData> getDisplayName();
 
    /**
     * Gets the value of the icon property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the icon property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getIcon().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link IconType }
-    * 
-    * 
+    *
+    *
     */
    List<IconType> getIcon();
 
    /**
     * Gets the value of the handlerName property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link com.sun.java.xml.ns.javaee.String }
-    *     
+    *
     */
    String getHandlerName();
 
    /**
     * Sets the value of the handlerName property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link com.sun.java.xml.ns.javaee.String }
-    *     
+    *
     */
    void setHandlerName(String value);
 
    /**
     * Gets the value of the handlerClass property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link FullyQualifiedClassType }
-    *     
+    *
     */
    String getHandlerClass();
 
    /**
     * Sets the value of the handlerClass property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link FullyQualifiedClassType }
-    *     
+    *
     */
    void setHandlerClass(String value);
 
    /**
     * Gets the value of the initParam property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the initParam property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getInitParam().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link ParamValueMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<ParamValueMetaData> getInitParam();
 
    /**
     * Gets the value of the soapHeader property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the soapHeader property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSoapHeader().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link XsdQNameType }
-    * 
-    * 
+    *
+    *
     */
    List<QName> getSoapHeader();
 
    /**
     * Gets the value of the soapRole property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the soapRole property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSoapRole().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link com.sun.java.xml.ns.javaee.String }
-    * 
-    * 
+    *
+    *
     */
    List<String> getSoapRole();
 
    /**
     * Gets the value of the portName property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the portName property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getPortName().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link com.sun.java.xml.ns.javaee.String }
-    * 
-    * 
+    *
+    *
     */
    List<String> getPortName();
 
-   /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
-    */
-   java.lang.String getId();
 
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
 
 }

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SessionBeanMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SessionBeanMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SessionBeanMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,20 +1,37 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
-//
-
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This 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 (at your option) any later version.
+*
+* This software 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 software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
 package org.jboss.ejb3.metadata.spi.javaee;
 
 import java.util.List;
+import java.util.Set;
 
 /**
- * 
- * 
+ *
+ * Represents metadata for a session bean
+ *
+ *
  * 	The session-beanType declares an session bean. The
  * 	declaration consists of:
- * 
+ *
  * 	    - an optional description
  * 	    - an optional display name
  * 	    - an optional icon element that contains a small and a large
@@ -58,24 +75,24 @@
  * 	      environment references.
  * 	    - an optional declaration of the bean's message
  * 	      destination references
- * 
+ *
  * 	The elements that are optional are "optional" in the sense
  * 	that they are omitted when if lists represented by them are
  * 	empty.
- * 
+ *
  * 	Either both the local-home and the local elements or both
  * 	the home and the remote elements must be specified for the
  * 	session bean.
- * 
+ *
  * 	The service-endpoint element may only be specified if the
  * 	bean is a stateless session bean.
- * 
- *       
- * 
+ *
+ *
+ *
  * <p>Java class for session-beanType complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="session-beanType">
  *   &lt;complexContent>
@@ -109,798 +126,702 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
-public interface SessionBeanMetaData
+public interface SessionBeanMetaData extends IdMetaData
 {
 
    /**
     * Gets the value of the description property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the description property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDescription().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DescriptionMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DescriptionMetaData> getDescription();
 
    /**
     * Gets the value of the displayName property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the displayName property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDisplayName().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DisplayNameMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<DisplayNameMetaData> getDisplayName();
 
    /**
     * Gets the value of the icon property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the icon property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getIcon().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link IconType }
-    * 
-    * 
+    *
+    *
     */
    List<IconType> getIcon();
 
    /**
-    * Gets the value of the ejbName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link EjbNameType }
-    *     
+    * Returns the ejb name
+    *
     */
    String getEjbName();
 
    /**
-    * Sets the value of the ejbName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EjbNameType }
-    *     
+    * Sets the ejb name
+    *
+    * @param name EJB name
     */
-   void setEjbName(String value);
+   void setEjbName(String name);
 
    /**
-    * Gets the value of the mappedName property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link XsdStringType }
-    *     
+    * Returns the mapped-name of the bean.
+    * Returns null if there is no mapped-name for
+    * this bean
+    *
     */
    String getMappedName();
 
    /**
-    * Sets the value of the mappedName property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link XsdStringType }
-    *     
+    * Sets the mapped-name of the bean
+    * @param mappedName The mapped-name of the bean
     */
-   void setMappedName(String value);
+   void setMappedName(String mappedName);
 
    /**
-    * Gets the value of the home property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link HomeType }
-    *     
+    * Returns the classname of the home interface corresponding to this
+    * bean. Returns null if there is no home interface
+    *
     */
    String getHome();
 
    /**
-    * Sets the value of the home property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link HomeType }
-    *     
+    * Sets the classname of the home interface for this bean
+    *
+    * @param homeInterface The home interface of the bean
+    *
     */
-   void setHome(String value);
+   void setHome(String homeInterface);
 
    /**
-    * Gets the value of the remote property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link RemoteType }
-    *     
+    * Returns the fully qualified classname of the remote interface corresponding to this
+    * bean. Returns null if there is no remote interface.
+    *
+    * Note that this is *not* the same as {@link #getBusinessRemotes()}. This method
+    * returns the EJB2.x remote view interface name
+    *
     */
    String getRemote();
 
    /**
-    * Sets the value of the remote property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link RemoteType }
-    *     
+    * Sets the EJB2.x remote interface for this bean.
+    *
+    * @param remoteInterface The EJB2.x remote interface for the bean
+    *
     */
-   void setRemote(String value);
+   void setRemote(String remoteInterface);
 
    /**
-    * Gets the value of the localHome property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link LocalHomeType }
-    *     
+    * Returns the fully qualified classname of the local home interface corresponding to this
+    * bean. Returns null if there is no local home interface
+    *
     */
    String getLocalHome();
 
    /**
-    * Sets the value of the localHome property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link LocalHomeType }
-    *     
+    * Sets the local home for this bean
+    *
+    * @param localHome The local home interface of this bean
+    *
     */
-   void setLocalHome(String value);
+   void setLocalHome(String localHome);
 
    /**
-    * Gets the value of the local property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link LocalType }
-    *     
+    * Returns the fully qualified classname of the local interface corresponding to this
+    * bean. Returns null if there is no local interface.
+    *
+    * Note that this is *not* the same as {@link #getBusinessLocals()}. This method
+    * returns the EJB2.x local view interface name
+    *
     */
    String getLocal();
 
    /**
-    * Sets the value of the local property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link LocalType }
-    *     
+    * Sets the EJB2.x local interface for this bean.
+    *
+    * @param The EJB2.x local interface
+    *
     */
-   void setLocal(String value);
+   void setLocal(String local);
 
    /**
-    * Gets the value of the businessLocal property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the businessLocal property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getBusinessLocal().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link FullyQualifiedClassType }
-    * 
-    * 
+    * Returns the fully qualified classnames of EJB3.x business locals of this bean.
+    * Returns an empty {@link Set} if there are no business locals.
+    *
+    * Note that its upto the implementations to either return a modifiable
+    * {@link Set} or an umodifiable one.
+    *
+    *
     */
-   List<String> getBusinessLocal();
+   Set<String> getBusinessLocals();
 
    /**
-    * Gets the value of the businessRemote property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the businessRemote property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getBusinessRemote().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link FullyQualifiedClassType }
-    * 
-    * 
+    * Sets the business locals of this bean
+    *
+    * @param businessLocals The business locals
+    *
     */
-   List<String> getBusinessRemote();
+   void setBusinessLocals(Set<String> businessLocals);
 
    /**
-    * Gets the value of the serviceEndpoint property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Returns the EJB3.x business remotes of this bean.
+    * Returns an empty {@link Set} if there are no business remotes.
+    *
+    * Note that its upto the implementations to either return a modifiable
+    * {@link Set} or an umodifiable one.
+    *
+    *
     */
-   String getServiceEndpoint();
+   Set<String> getBusinessRemotes();
 
    /**
-    * Sets the value of the serviceEndpoint property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link FullyQualifiedClassType }
-    *     
+    * Sets the business remotes for this bean
+    *
+    * @param businessRemotes The business remotes
     */
-   void setServiceEndpoint(String value);
+   void setBusinessRemotes(Set<String> businessRemotes);
 
    /**
-    * Gets the value of the ejbClass property.
-    * 
+    * Returns the fully qualified class name of the service endpoint
+    * of the bean.
+    *
+    * @throws IllegalStateException Service endpoints are valid only for
+    * Stateless Session beans. An {@link IllegalStateException} is thrown
+    * by this method if the bean is not stateless.
+    *
+    * @see #isStateless()
+    * @see #isStateful()
+    *
+    */
+   String getServiceEndpoint() throws IllegalStateException;
+
+   /**
+    * Sets the fully qualified class name of the service endpoint
+    * of this bean.
+    *
+    * @param serviceEndpoint Fully qualified class name of the service endpoint
+    *
+    * @throws IllegalStateException Service endpoints are valid only for
+    * Stateless Session beans. An {@link IllegalStateException} is thrown
+    * by this method if the bean is not stateless.
+    *
+    * @see #isStateless()
+    * @see #isStateful()
+    */
+   void setServiceEndpoint(String value) throws IllegalStateException;
+
+   /**
+    * Returns true if the bean is stateless. Returns false otherwise
     * @return
-    *     possible object is
-    *     {@link EjbClassType }
-    *     
     */
+   boolean isStateless();
+
+   /**
+    * Returns true if the bean is stateful. Returns false otherwise
+    *
+    * @return
+    */
+   boolean isStateful();
+
+   /**
+    * Returns the fully qualified classname of the bean implementation
+    * class.
+    *
+    */
    String getEjbClass();
 
    /**
-    * Sets the value of the ejbClass property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link EjbClassType }
-    *     
+    * Sets the fully qualified classname of the bean implementation class.
+    *
+    * @param beanClass Fully qualified classname of the bean implementation
+    *
     */
-   void setEjbClass(String value);
+   void setEjbClass(String beanClass);
 
    /**
-    * Gets the value of the sessionType property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link SessionTypeType }
-    *     
+    * TODO: Revisit this - do we need this
     */
    String getSessionType();
 
    /**
-    * Sets the value of the sessionType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link SessionTypeType }
-    *     
+    * TODO: Revisit this - do we need this
+    *
     */
    void setSessionType(String value);
 
    /**
-    * Gets the value of the timeoutMethod property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link NamedMethodMetaData }
-    *     
+    * Returns the timeout method of this bean.
+    *
+    * Returns null if there is no such method
+    *
     */
    NamedMethodMetaData getTimeoutMethod();
 
    /**
-    * Sets the value of the timeoutMethod property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link NamedMethodMetaData }
-    *     
+    * Sets the timeout-method of this bean
+    *
+    * @param timeoutMethod The timeout method metadata
     */
-   void setTimeoutMethod(NamedMethodMetaData value);
+   void setTimeoutMethod(NamedMethodMetaData timeoutMethod);
 
    /**
-    * Gets the value of the initMethod property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the initMethod property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getInitMethod().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link InitMethodMetaData }
-    * 
-    * 
+    * Returns the init-methods metadata of this bean. Returns
+    * an empty list if there are none.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
+    *
+    * @throws IllegalStateException The init-methods are applicable
+    * only for stateful session beans. An {@link IllegalStateException} is thrown
+    * if the bean is not stateful
+    *
+    * @see #isStateful()
+    * @see #isStateless()
+    *
     */
-   List<InitMethodMetaData> getInitMethod();
+   List<InitMethodMetaData> getInitMethods() throws IllegalStateException;
 
    /**
-    * Gets the value of the removeMethod property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the removeMethod property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getRemoveMethod().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link RemoveMethodMetaData }
-    * 
-    * 
+    * Sets the init-method metadata of this bean
+    *
+    * @param initMethods
+    *
+    * @throws IllegalStateException The init-methods are applicable
+    * only for stateful session beans. An {@link IllegalStateException} is thrown
+    * if the bean is not stateful
+    *
+    * @see #isStateful()
+    * @see #isStateless()
     */
-   List<RemoveMethodMetaData> getRemoveMethod();
+   void setInitMethods(List<InitMethodMetaData> initMethods) throws IllegalStateException;
 
    /**
-    * Gets the value of the transactionType property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link TransactionTypeType }
-    *     
+    * Returns the remove-methods metadata of this bean. Returns
+    * an empty list if there are none.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
+    *
+    * @throws IllegalStateException The remove-methods are applicable
+    * only for stateful session beans. An {@link IllegalStateException} is thrown
+    * if the bean is not stateful
+    *
+    * @see #isStateful()
+    * @see #isStateless()
+    *
+    *
     */
-   String getTransactionType();
+   List<RemoveMethodMetaData> getRemoveMethods() throws IllegalStateException;
 
    /**
-    * Sets the value of the transactionType property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link TransactionTypeType }
-    *     
+    * Sets the remove-method metadata of this bean
+    *
+    * @param removeMethods
+    *
+    * @throws IllegalStateException The remove-methods are applicable
+    * only for stateful session beans. An {@link IllegalStateException} is thrown
+    * if the bean is not stateful
+    *
+    * @see #isStateful()
+    * @see #isStateless()
     */
-   void setTransactionType(String value);
+   void setRemoveMethods(List<RemoveMethodMetaData> removeMethods) throws IllegalStateException;
 
    /**
-    * Gets the value of the aroundInvoke property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the aroundInvoke property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getAroundInvoke().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link AroundInvokeMetaData }
-    * 
-    * 
+    * Returns the transaction type of this bean
+    *
     */
-   List<AroundInvokeMetaData> getAroundInvoke();
+   TransactionType getTransactionType();
 
    /**
-    * Gets the value of the envEntry property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the envEntry property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getEnvEntry().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link EnvEntryMetaData }
-    * 
-    * 
+    * Sets the transaction type of this bean
+    *
+    * @param transactionType The transaction type of this bean
+    *
     */
-   List<EnvEntryMetaData> getEnvEntry();
+   void setTransactionType(TransactionType transactionType);
 
    /**
-    * Gets the value of the ejbRef property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the ejbRef property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getEjbRef().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link EjbRefMetaData }
-    * 
-    * 
+    * Returns a list of around-invoke metadata of this bean.
+    * Returns an empty list if there is no around-invoke for this bean
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
+    *
     */
-   List<EjbRefMetaData> getEjbRef();
+   List<AroundInvokeMetaData> getAroundInvokes();
 
    /**
-    * Gets the value of the ejbLocalRef property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the ejbLocalRef property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getEjbLocalRef().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link EjbLocalRefMetaData }
-    * 
-    * 
+    * Sets the list of around-invoke metadata of the bean.
+    *
+    * @param aroundInvokes
     */
-   List<EjbLocalRefMetaData> getEjbLocalRef();
+   void setAroundInvokes(List<AroundInvokeMetaData> aroundInvokes);
 
    /**
-    * Gets the value of the serviceRef property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the serviceRef property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getServiceRef().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link ServiceRefMetaData }
-    * 
-    * 
+    * Returns a list of env-entry metadata of this bean.
+    *
+    * Returns an empty list if there is no env-entry.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
+    *
+    *
     */
-   List<ServiceRefMetaData> getServiceRef();
+   List<EnvEntryMetaData> getEnvEntries();
 
    /**
-    * Gets the value of the resourceRef property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the resourceRef property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getResourceRef().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link ResourceRefMetaData }
-    * 
-    * 
+    * Sets the list of env-entry metadata of this bean
+    *
+    * @param envEntries The list of env-entry of this bean
     */
-   List<ResourceRefMetaData> getResourceRef();
+   void setEnvEntries(List<EnvEntryMetaData> envEntries);
 
    /**
-    * Gets the value of the resourceEnvRef property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the resourceEnvRef property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getResourceEnvRef().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link ResourceEnvRefMetaData }
-    * 
-    * 
+    * Returns the list of EJB references of this bean
+    * Returns an empty list if there is no EJB reference for this bean.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
+    *
+    *
     */
-   List<ResourceEnvRefMetaData> getResourceEnvRef();
+   List<EjbRefMetaData> getEjbRefs();
 
    /**
+    * Sets the list of EJB references for this bean
+    *
+    * @param ejbRefs The list of EJB references
+    */
+   void setEjbRefs(List<EjbRefMetaData> ejbRefs);
+
+   /**
+    * Returns the list of EJB local references of this bean
+    * Returns an empty list if there is no EJB local reference for this bean.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
+    *
+    */
+   List<EjbLocalRefMetaData> getEjbLocalRefs();
+
+   /**
+    * Sets the list of EJB local references for this bean
+    *
+    * @param ejbLocalRefs The list of EJB local references
+    */
+   void setEjbLocalRefs(List<EjbLocalRefMetaData> ejbLocalRefs);
+
+   /**
+    * Returns the list of web service reference(s) of this bean.
+    * Returns an empty list if there are no such references.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list.
+    *
+    */
+   List<ServiceRefMetaData> getServiceRefs();
+
+   /**
+    * Sets the list of web service references for this bean
+    *
+    * @param serviceRefs The service references
+    */
+   void setServiceRefs(List<ServiceRefMetaData> serviceRefs);
+
+   /**
+    * @return Returns the list of resource references of this bean.
+    * Returns an empty list if there are no such references.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list
+    *
+    *
+    */
+   List<ResourceRefMetaData> getResourceRefs();
+
+   /**
+    * Sets the resource references of this bean
+    *
+    * @param resourceRefs List of resource references of this bean
+    */
+   void setResourceRefs(List<ResourceRefMetaData> resourceRefs);
+
+
+   /**
+    * @return Returns the list of resource environment references of this bean.
+    * Returns an empty list if there are no such references.
+    *
+    * It's upto the implementation to return either a modifiable
+    * or an unmodifiable list
+    *
+    *
+    */
+   List<ResourceEnvRefMetaData> getResourceEnvRefs();
+
+   /**
+    * Sets the resource env references of this bean
+    *
+    * @param resourceEnvRefs
+    */
+   void setResourceEnvRefs(List<ResourceEnvRefMetaData> resourceEnvRefs);
+
+   /**
     * Gets the value of the messageDestinationRef property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the messageDestinationRef property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMessageDestinationRef().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link MessageDestinationRefType }
-    * 
-    * 
+    *
+    *
     */
    // TODO: Revisit, we need this
    //List<MessageDestinationRefType> getMessageDestinationRef();
+
    /**
-    * Gets the value of the persistenceContextRef property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list,
-    * not a snapshot. Therefore any modification you make to the
-    * returned list will be present inside the JAXB object.
-    * This is why there is not a <CODE>set</CODE> method for the persistenceContextRef property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * <pre>
-    *    getPersistenceContextRef().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list
-    * {@link PersistenceContextRefMetaData }
-    * 
-    * 
+    * @return Returns the list of persistence context references of this bean
+    *
     */
-   List<PersistenceContextRefMetaData> getPersistenceContextRef();
+   List<PersistenceContextRefMetaData> getPersistenceContextRefs();
 
    /**
+    * Sets the list of persistence context references of this bean
+    *
+    * @param persistenceContextRefs The persistence context references
+    */
+   void setPeristenceContextRefs(List<PersistenceContextRefMetaData> persistenceContextRefs);
+
+
+   /**
     * Gets the value of the persistenceUnitRef property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the persistenceUnitRef property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getPersistenceUnitRef().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link PersistenceUnitRefMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<PersistenceUnitRefMetaData> getPersistenceUnitRef();
 
    /**
     * Gets the value of the postConstruct property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the postConstruct property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getPostConstruct().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link LifecycleCallbackMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<LifecycleCallbackMetaData> getPostConstruct();
 
    /**
     * Gets the value of the preDestroy property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the preDestroy property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getPreDestroy().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link LifecycleCallbackMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<LifecycleCallbackMetaData> getPreDestroy();
 
    /**
     * Gets the value of the postActivate property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the postActivate property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getPostActivate().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link LifecycleCallbackMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<LifecycleCallbackMetaData> getPostActivate();
 
    /**
     * Gets the value of the prePassivate property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the prePassivate property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getPrePassivate().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link LifecycleCallbackMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<LifecycleCallbackMetaData> getPrePassivate();
 
    /**
     * Gets the value of the securityRoleRef property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the securityRoleRef property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSecurityRoleRef().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link SecurityRoleRefMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<SecurityRoleRefMetaData> getSecurityRoleRef();
 
    /**
     * Gets the value of the securityIdentity property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link SecurityIdentityMetaData }
-    *     
+    *
     */
    SecurityIdentityMetaData getSecurityIdentity();
 
    /**
     * Sets the value of the securityIdentity property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link SecurityIdentityMetaData }
-    *     
+    *
     */
    void setSecurityIdentity(SecurityIdentityMetaData value);
 
-   /**
-    * Gets the value of the id property.
-    * 
-    * @return
-    *     possible object is
-    *     {@link java.lang.String }
-    *     
-    */
-   java.lang.String getId();
 
-   /**
-    * Sets the value of the id property.
-    * 
-    * @param value
-    *     allowed object is
-    *     {@link java.lang.String }
-    *     
-    */
-   void setId(java.lang.String value);
 
 }

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/TransactionType.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/TransactionType.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/TransactionType.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -0,0 +1,47 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This 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 (at your option) any later version.
+*
+* This software 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 software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.metadata.spi.javaee;
+
+/**
+ * TransactionType
+ *
+ * Represents the different possible transaction
+ * types for a bean
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public enum TransactionType
+{
+
+   /**
+    * Represents container managed transaction
+    * type for a bean
+    */
+   CONTAINER_MANAGED_TRANSACTION_TYPE,
+
+   /**
+    * Represents bean managed transaction type for a bean
+    */
+   BEAN_MANAGED_TRANSACTION_TYPE;
+
+}

Modified: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSessionBeanMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSessionBeanMetaData.java	2009-06-23 10:06:24 UTC (rev 90514)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSessionBeanMetaData.java	2009-06-23 11:42:45 UTC (rev 90515)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.06.08 at 07:12:16 PM IST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.06.08 at 07:12:16 PM IST
 //
 
 package org.jboss.ejb3.metadata.spi.jboss;
@@ -12,15 +12,10 @@
 import org.jboss.ejb3.metadata.spi.javaee.SessionBeanMetaData;
 
 /**
- *  The session element holds information specific to jboss and not declared
- *             in ejb-jar.xml about a session bean, such as jndi name, container configuration, and
- *             resource managers. (see tags for details) The bean should already be declared in
- *             ejb-jar.xml, with the same ejb-name. Used in: enterprise-beans 
- * 
- * <p>Java class for session-beanType complex type.
- * 
+ *  Represents the JBoss specific metadata for a Session Bean.
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="session-beanType">
  *   &lt;complexContent>
@@ -60,8 +55,8 @@
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 public interface JBossSessionBeanMetaData extends SessionBeanMetaData
 {
@@ -70,441 +65,441 @@
 
    /**
     * Gets the value of the localBinding property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the localBinding property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getLocalBinding().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link LocalBindingMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<LocalBindingMetaData> getLocalBinding();
 
    /**
     * Gets the value of the remoteBinding property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the remoteBinding property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getRemoteBinding().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link RemoteBindingMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<RemoteBindingMetaData> getRemoteBinding();
 
    /**
     * Gets the value of the jndiName property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link JndiNameType }
-    *     
+    *
     */
    String getJndiName();
 
    /**
     * Sets the value of the jndiName property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link JndiNameType }
-    *     
+    *
     */
    void setJndiName(String value);
 
    /**
     * Gets the value of the homeJndiName property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link JndiNameType }
-    *     
+    *
     */
    String getHomeJndiName();
 
    /**
     * Sets the value of the homeJndiName property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link JndiNameType }
-    *     
+    *
     */
    void setHomeJndiName(String value);
 
    /**
     * Gets the value of the localJndiName property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link LocalJndiNameType }
-    *     
+    *
     */
    String getLocalJndiName();
 
    /**
     * Sets the value of the localJndiName property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link LocalJndiNameType }
-    *     
+    *
     */
    void setLocalJndiName(String value);
 
    /**
     * Gets the value of the localHomeJndiName property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link JndiNameType }
-    *     
+    *
     */
    String getLocalHomeJndiName();
 
    /**
     * Sets the value of the localHomeJndiName property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link JndiNameType }
-    *     
+    *
     */
    void setLocalHomeJndiName(String value);
 
    /**
     * Gets the value of the jndiBindingPolicy property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link JndiBindingPolicyType }
-    *     
+    *
     */
    String getJndiBindingPolicy();
 
    /**
     * Sets the value of the jndiBindingPolicy property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link JndiBindingPolicyType }
-    *     
+    *
     */
    void setJndiBindingPolicy(String value);
 
    /**
     * Gets the value of the clustered property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link ClusteredType }
-    *     
+    *
     */
    boolean getClustered();
 
    /**
     * Sets the value of the clustered property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link ClusteredType }
-    *     
+    *
     */
    void setClustered(boolean value);
 
    /**
     * Gets the value of the clusterConfig property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link ClusterConfigMetaData }
-    *     
+    *
     */
    ClusterConfigMetaData getClusterConfig();
 
    /**
     * Sets the value of the clusterConfig property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link ClusterConfigMetaData }
-    *     
+    *
     */
    void setClusterConfig(ClusterConfigMetaData value);
 
    /**
     * Gets the value of the securityDomain property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link SecurityDomainType }
-    *     
+    *
     */
    String getSecurityDomain();
 
    /**
     * Sets the value of the securityDomain property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link SecurityDomainType }
-    *     
+    *
     */
    void setSecurityDomain(String value);
 
    /**
     * Gets the value of the methodAttributes property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link MethodAttributesMetaData }
-    *     
+    *
     */
    MethodAttributesMetaData getMethodAttributes();
 
    /**
     * Sets the value of the methodAttributes property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link MethodAttributesMetaData }
-    *     
+    *
     */
    void setMethodAttributes(MethodAttributesMetaData value);
 
    /**
     * Gets the value of the depends property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the depends property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDepends().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DependsType }
-    * 
-    * 
+    *
+    *
     */
    List<String> getDepends();
 
    /**
     * Gets the value of the annotation property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the annotation property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAnnotation().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link AnnotationMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<AnnotationMetaData> getAnnotation();
 
    /**
     * Gets the value of the ignoreDependency property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link IgnoreDependencyMetaData }
-    *     
+    *
     */
    IgnoreDependencyMetaData getIgnoreDependency();
 
    /**
     * Sets the value of the ignoreDependency property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link IgnoreDependencyMetaData }
-    *     
+    *
     */
    void setIgnoreDependency(IgnoreDependencyMetaData value);
 
    /**
     * Gets the value of the aopDomainName property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link AopDomainNameType }
-    *     
+    *
     */
    String getAopDomainName();
 
    /**
     * Sets the value of the aopDomainName property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link AopDomainNameType }
-    *     
+    *
     */
    void setAopDomainName(String value);
 
    /**
     * Gets the value of the cacheConfig property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link CacheConfigMetaData }
-    *     
+    *
     */
    CacheConfigMetaData getCacheConfig();
 
    /**
     * Sets the value of the cacheConfig property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link CacheConfigMetaData }
-    *     
+    *
     */
    void setCacheConfig(CacheConfigMetaData value);
 
    /**
     * Gets the value of the poolConfig property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link PoolConfigMetaData }
-    *     
+    *
     */
    PoolConfigMetaData getPoolConfig();
 
    /**
     * Sets the value of the poolConfig property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link PoolConfigMetaData }
-    *     
+    *
     */
    void setPoolConfig(PoolConfigMetaData value);
 
    /**
     * Gets the value of the concurrent property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link ConcurrentType }
-    *     
+    *
     */
    boolean getConcurrent();
 
    /**
     * Sets the value of the concurrent property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link ConcurrentType }
-    *     
+    *
     */
    void setConcurrent(boolean value);
 
    /**
     * Gets the value of the jndiRef property.
-    * 
+    *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the jndiRef property.
-    * 
+    *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getJndiRef().add(newItem);
     * </pre>
-    * 
-    * 
+    *
+    *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link JndiRefMetaData }
-    * 
-    * 
+    *
+    *
     */
    List<JndiRefMetaData> getJndiRef();
 
    /**
     * Gets the value of the portComponent property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link PortComponentMetaData }
-    *     
+    *
     */
    PortComponentMetaData getPortComponent();
 
    /**
     * Sets the value of the portComponent property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link PortComponentMetaData }
-    *     
+    *
     */
    void setPortComponent(PortComponentMetaData value);
 
    /**
     * Gets the value of the ejbTimeoutIdentity property.
-    * 
+    *
     * @return
     *     possible object is
     *     {@link JBossSecurityIdentityMetaData }
-    *     
+    *
     */
    JBossSecurityIdentityMetaData getEjbTimeoutIdentity();
 
    /**
     * Sets the value of the ejbTimeoutIdentity property.
-    * 
+    *
     * @param value
     *     allowed object is
     *     {@link JBossSecurityIdentityMetaData }
-    *     
+    *
     */
    void setEjbTimeoutIdentity(JBossSecurityIdentityMetaData value);
 




More information about the jboss-cvs-commits mailing list