[jboss-cvs] JBossAS SVN: r90495 - in projects/ejb3/trunk: metadata-spi and 11 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 22 08:05:52 EDT 2009


Author: jaikiran
Date: 2009-06-22 08:05:52 -0400 (Mon, 22 Jun 2009)
New Revision: 90495

Added:
   projects/ejb3/trunk/metadata-spi/
   projects/ejb3/trunk/metadata-spi/pom.xml
   projects/ejb3/trunk/metadata-spi/src/
   projects/ejb3/trunk/metadata-spi/src/main/
   projects/ejb3/trunk/metadata-spi/src/main/java/
   projects/ejb3/trunk/metadata-spi/src/main/java/org/
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ActivationConfigMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ActivationConfigPropertyMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ApplicationExceptionMetaData.java
   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/AssemblyDescriptorMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/CmpFieldMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/CmrFieldMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ContainerTransactionMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/DescriptionMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/DisplayNameMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbJarMetaData.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/EjbRelationMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRelationshipRoleMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnterpriseBeansMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EntityBeanMetaData.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/ExcludeListMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/IconType.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InitMethodMetaData.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/InterceptorBindingMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorOrderMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorsMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/LifecycleCallbackMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ListenerMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDestinationMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDestinationRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDrivenBeanMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodMetaData.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/MethodPermissionMetaData.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/ParamValueMetaData.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/PersistenceUnitRefMetaData.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/QueryMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/QueryMethodMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RelationshipRoleSourceMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RelationshipsMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RemoveMethodMetaData.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/RunAsMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityIdentityMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityRoleMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityRoleRefMetaData.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_HandlerChainMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerChainsMetaData.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/
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/AnnotationMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/AnnotationPropertyMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/CacheConfigMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/CallPropertyMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ClusterConfigMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ConsumerBeanMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/GenericBeanMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/IgnoreDependencyMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEjbLocalRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEjbRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEnvEntryMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDestinationMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDestinationRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDrivenBeanMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossPersistenceContextRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossPersistenceUnitRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossProducerMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossResourceEnvRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossResourceRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSecurityIdentityMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSecurityRoleMetaData.java
   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/JndiRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LoaderRepositoryConfigMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LoaderRepositoryMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LocalBindingMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MessagePropertiesMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MethodAttributesMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MethodMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PoolConfigMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PortComponentMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PortComponentRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/RemoteBindingMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ResourceManagerMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ResourceManagersMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ServiceBeanMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ServiceRefMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/StubPropertyMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/WebserviceDescriptionMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/WebservicesMetaData.java
   projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/jaxb.properties
   projects/ejb3/trunk/metadata-spi/src/test/
   projects/ejb3/trunk/metadata-spi/src/test/java/
   projects/ejb3/trunk/metadata-spi/src/test/resources/
Log:
EJBTHREE-1791 Initial commit for metadata-spi. Work-in-progress, needs more work

Added: projects/ejb3/trunk/metadata-spi/pom.xml
===================================================================
--- projects/ejb3/trunk/metadata-spi/pom.xml	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/pom.xml	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,63 @@
+<!-- 
+  vi:ts=2:sw=2:expandtab 
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.jboss.ejb3</groupId>
+    <artifactId>jboss-ejb3-build</artifactId>
+    <version>1.0.3</version>
+    <relativePath>../build/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-ejb3-metadata-spi</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>JBoss EJB 3.x Meta Data SPI</name>
+  <url>http://www.jboss.org</url>
+  <description>
+    JBoss EJB3 Metadata SPI - provides the neccessary metadata support for EJB3 components
+  </description>
+  <build>
+  <!--  <plugins>
+    <plugin>
+      <groupId>org.codehaus.mojo</groupId>
+      <artifactId>jaxb2-maven-plugin</artifactId>
+      <executions>
+	  <execution>
+	      <goals>
+		   <goal>xjc</goal>
+	      </goals>
+	  </execution>
+	  
+      </executions>
+      <configuration>
+	<schemaDirectory>${basedir}/src/main/resources/xsd</schemaDirectory>
+	<schemaFiles>ejb-jar_3_0.xsd</schemaFiles>
+	<packageName>org.jboss.ejb3.metadata.spi</packageName>
+      </configuration>
+    </plugin>
+    </plugins> -->
+  </build>
+  
+
+  <dependencies>
+    
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    
+    <dependency>
+    	<groupId>javax.xml.bind</groupId>
+    	<artifactId>jaxb-api</artifactId>
+    	<version>2.1</version>
+    	
+    </dependency>
+    
+  </dependencies>
+</project>


Property changes on: projects/ejb3/trunk/metadata-spi/pom.xml
___________________________________________________________________
Name: svn:executable
   + *

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ActivationConfigMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ActivationConfigMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ActivationConfigMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,120 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The activation-configType defines information about the
+ * 	expected configuration properties of the message-driven bean
+ * 	in its operational environment. This may include information
+ * 	about message acknowledgement, message selector, expected
+ * 	destination type, etc.
+ * 
+ * 	The configuration information is expressed in terms of
+ * 	name/value configuration properties.
+ * 
+ * 	The properties that are recognized for a particular
+ * 	message-driven bean are determined by the messaging type.
+ * 
+ *       
+ * 
+ * <p>Java class for activation-configType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="activation-configType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="activation-config-property" type="{http://java.sun.com/xml/ns/javaee}activation-config-propertyType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ActivationConfigMetaData
+{
+
+   /**
+    * 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 activationConfigProperty 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 activationConfigProperty property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getActivationConfigProperty().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link ActivationConfigPropertyMetaData }
+    * 
+    * 
+    */
+   List<ActivationConfigPropertyMetaData> getActivationConfigProperty();
+
+   /**
+    * 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/ActivationConfigPropertyMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ActivationConfigPropertyMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ActivationConfigPropertyMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,104 @@
+//
+// 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 activation-config-propertyType contains a name/value
+ * 	configuration property pair for a message-driven bean.
+ * 
+ * 	The properties that are recognized for a particular
+ * 	message-driven bean are determined by the messaging type.
+ * 
+ *       
+ * 
+ * <p>Java class for activation-config-propertyType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="activation-config-propertyType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="activation-config-property-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *         &lt;element name="activation-config-property-value" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ActivationConfigPropertyMetaData
+{
+
+   /**
+    * Gets the value of the activationConfigPropertyName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getActivationConfigPropertyName();
+
+   /**
+    * Sets the value of the activationConfigPropertyName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setActivationConfigPropertyName(String value);
+
+   /**
+    * Gets the value of the activationConfigPropertyValue property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getActivationConfigPropertyValue();
+
+   /**
+    * Sets the value of the activationConfigPropertyValue property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setActivationConfigPropertyValue(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/ApplicationExceptionMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ApplicationExceptionMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ApplicationExceptionMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,111 @@
+//
+// 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 application-exceptionType declares an application
+ *         exception. The declaration consists of:
+ * 
+ *             - the exception class. When the container receives
+ *               an exception of this type, it is required to
+ *               forward this exception as an applcation exception
+ *               to the client regardless of whether it is a checked
+ *               or unchecked exception.
+ *             - an optional rollback element. If this element is
+ *               set to true, the container must rollback the current
+ *               transaction before forwarding the exception to the
+ *               client.  If not specified, it defaults to false.
+ * 
+ *       
+ * 
+ * <p>Java class for application-exceptionType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="application-exceptionType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="exception-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *         &lt;element name="rollback" type="{http://java.sun.com/xml/ns/javaee}true-falseType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ApplicationExceptionMetaData
+{
+
+   /**
+    * Gets the value of the exceptionClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getExceptionClass();
+
+   /**
+    * Sets the value of the exceptionClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setExceptionClass(String value);
+
+   /**
+    * Gets the value of the rollback property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   boolean getRollback();
+
+   /**
+    * Sets the value of the rollback property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   void setRollback(boolean 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/AroundInvokeMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AroundInvokeMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AroundInvokeMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,89 @@
+//
+// 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 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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;element name="method-name" type="{http://java.sun.com/xml/ns/javaee}java-identifierType"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface AroundInvokeMetaData
+{
+
+   /**
+    * Gets the value of the clazz property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getClazz();
+
+   /**
+    * Sets the value of the clazz property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setClazz(String value);
+
+   /**
+    * Gets the value of the methodName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   String getMethodName();
+
+   /**
+    * Sets the value of the methodName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   void setMethodName(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AssemblyDescriptorMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AssemblyDescriptorMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/AssemblyDescriptorMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,247 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The assembly-descriptorType defines
+ * 	application-assembly information.
+ * 
+ * 	The application-assembly information consists of the
+ * 	following parts: the definition of security roles, the
+ * 	definition of method permissions, the definition of
+ * 	transaction attributes for enterprise beans with
+ * 	container-managed transaction demarcation, the definition
+ *         of interceptor bindings, a list of
+ * 	methods to be excluded from being invoked, and a list of
+ *         exception types that should be treated as application exceptions.
+ * 
+ * 	All the parts are optional in the sense that they are
+ * 	omitted if the lists represented by them are empty.
+ * 
+ * 	Providing an assembly-descriptor in the deployment
+ * 	descriptor is optional for the ejb-jar file producer.
+ * 
+ *       
+ * 
+ * <p>Java class for assembly-descriptorType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="assembly-descriptorType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="security-role" type="{http://java.sun.com/xml/ns/javaee}security-roleType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="method-permission" type="{http://java.sun.com/xml/ns/javaee}method-permissionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="container-transaction" type="{http://java.sun.com/xml/ns/javaee}container-transactionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="interceptor-binding" type="{http://java.sun.com/xml/ns/javaee}interceptor-bindingType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="message-destination" type="{http://java.sun.com/xml/ns/javaee}message-destinationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="exclude-list" type="{http://java.sun.com/xml/ns/javaee}exclude-listType" minOccurs="0"/>
+ *         &lt;element name="application-exception" type="{http://java.sun.com/xml/ns/javaee}application-exceptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface AssemblyDescriptorMetaData
+{
+
+   /**
+    * Gets the value of the securityRole 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 securityRole property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getSecurityRole().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link SecurityRoleMetaData }
+    * 
+    * 
+    */
+   List<SecurityRoleMetaData> getSecurityRole();
+
+   /**
+    * Gets the value of the methodPermission 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 methodPermission property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getMethodPermission().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link MethodPermissionMetaData }
+    * 
+    * 
+    */
+   List<MethodPermissionMetaData> getMethodPermission();
+
+   /**
+    * Gets the value of the containerTransaction 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 containerTransaction property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getContainerTransaction().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link ContainerTransactionMetaData }
+    * 
+    * 
+    */
+   List<ContainerTransactionMetaData> getContainerTransaction();
+
+   /**
+    * Gets the value of the interceptorBinding 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 interceptorBinding property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getInterceptorBinding().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link InterceptorBindingMetaData }
+    * 
+    * 
+    */
+   List<InterceptorBindingMetaData> getInterceptorBinding();
+
+   /**
+    * Gets the value of the messageDestination 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 messageDestination property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getMessageDestination().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link MessageDestinationMetaData }
+    * 
+    * 
+    */
+   List<MessageDestinationMetaData> getMessageDestination();
+
+   /**
+    * Gets the value of the excludeList property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ExcludeListMetaData }
+    *     
+    */
+   ExcludeListMetaData getExcludeList();
+
+   /**
+    * Sets the value of the excludeList property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ExcludeListMetaData }
+    *     
+    */
+   void setExcludeList(ExcludeListMetaData value);
+
+   /**
+    * Gets the value of the applicationException 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 applicationException property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getApplicationException().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link ApplicationExceptionMetaData }
+    * 
+    * 
+    */
+   List<ApplicationExceptionMetaData> getApplicationException();
+
+   /**
+    * 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/CmpFieldMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/CmpFieldMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/CmpFieldMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,108 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The cmp-fieldType describes a container-managed field. The
+ * 	cmp-fieldType contains an optional description of the field,
+ * 	and the name of the field.
+ * 
+ *       
+ * 
+ * <p>Java class for cmp-fieldType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="cmp-fieldType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="field-name" type="{http://java.sun.com/xml/ns/javaee}java-identifierType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface CmpFieldMetaData
+{
+
+   /**
+    * 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 fieldName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   String getFieldName();
+
+   /**
+    * Sets the value of the fieldName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   void setFieldName(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/CmrFieldMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/CmrFieldMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/CmrFieldMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,134 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The cmr-fieldType describes the bean provider's view of
+ * 	a relationship. It consists of an optional description, and
+ * 	the name and the class type of a field in the source of a
+ * 	role of a relationship. The cmr-field-name element
+ * 	corresponds to the name used for the get and set accessor
+ * 	methods for the relationship. The cmr-field-type element is
+ * 	used only for collection-valued cmr-fields. It specifies the
+ * 	type of the collection that is used.
+ * 
+ *       
+ * 
+ * <p>Java class for cmr-fieldType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="cmr-fieldType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="cmr-field-name" type="{http://java.sun.com/xml/ns/javaee}string"/>
+ *         &lt;element name="cmr-field-type" type="{http://java.sun.com/xml/ns/javaee}cmr-field-typeType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface CmrFieldMetaData
+{
+
+   /**
+    * 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 cmrFieldName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getCmrFieldName();
+
+   /**
+    * Sets the value of the cmrFieldName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setCmrFieldName(String value);
+
+   /**
+    * Gets the value of the cmrFieldType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link CmrFieldTypeType }
+    *     
+    */
+   String getCmrFieldType();
+
+   /**
+    * Sets the value of the cmrFieldType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link CmrFieldTypeType }
+    *     
+    */
+   void setCmrFieldType(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/ContainerTransactionMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ContainerTransactionMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ContainerTransactionMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,136 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The container-transactionType specifies how the container
+ * 	must manage transaction scopes for the enterprise bean's
+ * 	method invocations. It defines an optional description, a
+ * 	list of method elements, and a transaction attribute. The
+ * 	transaction attribute is to be applied to all the specified
+ * 	methods.
+ * 
+ *       
+ * 
+ * <p>Java class for container-transactionType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="container-transactionType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="method" type="{http://java.sun.com/xml/ns/javaee}methodType" maxOccurs="unbounded"/>
+ *         &lt;element name="trans-attribute" type="{http://java.sun.com/xml/ns/javaee}trans-attributeType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ContainerTransactionMetaData
+{
+
+   /**
+    * 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 method 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 method property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getMethod().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link MethodMetaData }
+    * 
+    * 
+    */
+   List<MethodMetaData> getMethod();
+
+   /**
+    * Gets the value of the transAttribute property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TransAttributeType }
+    *     
+    */
+   String getTransAttribute();
+
+   /**
+    * Sets the value of the transAttribute property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TransAttributeType }
+    *     
+    */
+   void setTransAttribute(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/DescriptionMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/DescriptionMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/DescriptionMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,67 @@
+//
+// 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 description type is used by a description element to
+ * 	provide text describing the parent element.  The elements
+ * 	that use this type should include any information that the
+ * 	Deployment Component's Deployment File file producer wants
+ * 	to provide to the consumer of the Deployment Component's
+ * 	Deployment File (i.e., to the Deployer). Typically, the
+ * 	tools used by such a Deployment File consumer will display
+ * 	the description when processing the parent element that
+ * 	contains the description.
+ * 
+ * 	The lang attribute defines the language that the
+ * 	description is provided in. The default value is "en" (English).
+ * 
+ *       
+ * 
+ * <p>Java class for descriptionType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="descriptionType">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://java.sun.com/xml/ns/javaee>xsdStringType">
+ *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/>
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface DescriptionMetaData
+{
+
+   /**
+    * Gets the value of the lang property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link java.lang.String }
+    *     
+    */
+   java.lang.String getLang();
+
+   /**
+    * Sets the value of the lang property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link java.lang.String }
+    *     
+    */
+   void setLang(java.lang.String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/DisplayNameMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/DisplayNameMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/DisplayNameMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,69 @@
+//
+// 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 display-name type contains a short name that is intended
+ * 	  to be displayed by tools. It is used by display-name
+ * 	  elements.  The display name need not be unique.
+ * 
+ * 	  Example:
+ * 
+ * 	  ...
+ * 	     <display-name xml:lang="en">
+ * 	       Employee Self Service
+ * 	     </display-name>
+ * 
+ * 	  The value of the xml:lang attribute is "en" (English) by default.
+ * 
+ * 	  
+ *       
+ * 
+ * <p>Java class for display-nameType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="display-nameType">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://java.sun.com/xml/ns/javaee>string">
+ *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/>
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface DisplayNameMetaData
+{
+
+   /**
+    * Gets the value of the lang property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link java.lang.String }
+    *     
+    */
+   java.lang.String getLang();
+
+   /**
+    * Sets the value of the lang property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link java.lang.String }
+    *     
+    */
+   void setLang(java.lang.String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbJarMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbJarMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbJarMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,286 @@
+//
+// 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;
+
+import java.util.List;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * 
+ * 
+ * 	The ejb-jarType defines the root element of the EJB
+ * 	deployment descriptor. It contains
+ * 
+ * 	    - an optional description of the ejb-jar file
+ * 	    - an optional display name
+ * 	    - an optional icon that contains a small and a large
+ * 	      icon file name
+ * 	    - structural information about all included
+ * 	      enterprise beans that is not specified through
+ *               annotations
+ *             - structural information about interceptor classes
+ * 	    - a descriptor for container managed relationships,
+ * 	      if any.
+ * 	    - an optional application-assembly descriptor
+ * 	    - an optional name of an ejb-client-jar file for the
+ * 	      ejb-jar.
+ * 
+ *       
+ * 
+ * <p>Java class for ejb-jarType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ejb-jarType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="enterprise-beans" type="{http://java.sun.com/xml/ns/javaee}enterprise-beansType" minOccurs="0"/>
+ *         &lt;element name="interceptors" type="{http://java.sun.com/xml/ns/javaee}interceptorsType" minOccurs="0"/>
+ *         &lt;element name="relationships" type="{http://java.sun.com/xml/ns/javaee}relationshipsType" minOccurs="0"/>
+ *         &lt;element name="assembly-descriptor" type="{http://java.sun.com/xml/ns/javaee}assembly-descriptorType" minOccurs="0"/>
+ *         &lt;element name="ejb-client-jar" type="{http://java.sun.com/xml/ns/javaee}pathType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="version" use="required" type="{http://java.sun.com/xml/ns/javaee}dewey-versionType" fixed="3.0" />
+ *       &lt;attribute name="metadata-complete" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface EjbJarMetaData
+{
+
+   /**
+    * 
+    * 
+    */
+   @XmlAttribute(required = true)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+   public final static java.lang.String VERSION = "3.0";
+
+   /**
+    * 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 enterpriseBeans property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EnterpriseBeansMetaData }
+    *     
+    */
+   EnterpriseBeansMetaData getEnterpriseBeans();
+
+   /**
+    * Sets the value of the enterpriseBeans property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EnterpriseBeansMetaData }
+    *     
+    */
+   void setEnterpriseBeans(EnterpriseBeansMetaData value);
+
+   /**
+    * Gets the value of the interceptors property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link InterceptorsMetaData }
+    *     
+    */
+   InterceptorsMetaData getInterceptors();
+
+   /**
+    * Sets the value of the interceptors property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link InterceptorsMetaData }
+    *     
+    */
+   void setInterceptors(InterceptorsMetaData value);
+
+   /**
+    * Gets the value of the relationships property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RelationshipsMetaData }
+    *     
+    */
+   RelationshipsMetaData getRelationships();
+
+   /**
+    * Sets the value of the relationships property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RelationshipsMetaData }
+    *     
+    */
+   void setRelationships(RelationshipsMetaData value);
+
+   /**
+    * Gets the value of the assemblyDescriptor property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link AssemblyDescriptorMetaData }
+    *     
+    */
+   AssemblyDescriptorMetaData getAssemblyDescriptor();
+
+   /**
+    * Sets the value of the assemblyDescriptor property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link AssemblyDescriptorMetaData }
+    *     
+    */
+   void setAssemblyDescriptor(AssemblyDescriptorMetaData value);
+
+   /**
+    * Gets the value of the ejbClientJar property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PathType }
+    *     
+    */
+   String getEjbClientJar();
+
+   /**
+    * Sets the value of the ejbClientJar property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PathType }
+    *     
+    */
+   void setEjbClientJar(String value);
+
+   /**
+    * Gets the value of the metadataComplete property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link Boolean }
+    *     
+    */
+   Boolean isMetadataComplete();
+
+   /**
+    * Sets the value of the metadataComplete property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link Boolean }
+    *     
+    */
+   void setMetadataComplete(Boolean 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/EjbLocalRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbLocalRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbLocalRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,253 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	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.
+ * 	    - the optional expected type of the referenced enterprise bean
+ * 	    - the optional expected local interface of the referenced
+ *               enterprise bean or the local business interface of the
+ *               referenced enterprise bean.
+ * 	    - the optional expected local home interface of the referenced
+ *               enterprise bean. Not applicable if this ejb-local-ref refers
+ *               to the local business interface of a 3.0 bean.
+ * 	    - optional ejb-link information, used to specify the
+ * 	      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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-ref-name" type="{http://java.sun.com/xml/ns/javaee}ejb-ref-nameType"/>
+ *         &lt;element name="ejb-ref-type" type="{http://java.sun.com/xml/ns/javaee}ejb-ref-typeType" minOccurs="0"/>
+ *         &lt;element name="local-home" type="{http://java.sun.com/xml/ns/javaee}local-homeType" minOccurs="0"/>
+ *         &lt;element name="local" type="{http://java.sun.com/xml/ns/javaee}localType" minOccurs="0"/>
+ *         &lt;element name="ejb-link" type="{http://java.sun.com/xml/ns/javaee}ejb-linkType" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface EjbLocalRefMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEjbRefName();
+
+   /**
+    * Sets the value of the ejbRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbRefNameType }
+    *     
+    */
+   void setEjbRefName(String value);
+
+   /**
+    * Gets the value of the ejbRefType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbRefTypeType }
+    *     
+    */
+   String getEjbRefType();
+
+   /**
+    * Sets the value of the ejbRefType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbRefTypeType }
+    *     
+    */
+   void setEjbRefType(String value);
+
+   /**
+    * Gets the value of the localHome property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LocalHomeType }
+    *     
+    */
+   String getLocalHome();
+
+   /**
+    * Sets the value of the localHome property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LocalHomeType }
+    *     
+    */
+   void setLocalHome(String value);
+
+   /**
+    * Gets the value of the local property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LocalType }
+    *     
+    */
+   String getLocal();
+
+   /**
+    * Sets the value of the local property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LocalType }
+    *     
+    */
+   void setLocal(String value);
+
+   /**
+    * Gets the value of the ejbLink property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbLinkType }
+    *     
+    */
+   String getEjbLink();
+
+   /**
+    * Sets the value of the ejbLink property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbLinkType }
+    *     
+    */
+   void setEjbLink(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/EjbRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,254 @@
+//
+// 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;
+
+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
+ * 	      bean.
+ * 	    - the optional expected type of the referenced enterprise bean
+ *             - the optional remote interface of the referenced enterprise bean
+ *               or the remote business interface of the referenced enterprise
+ *               bean
+ * 	    - the optional expected home interface of the referenced
+ *               enterprise bean.  Not applicable if this ejb-ref
+ *               refers to the remote business interface of a 3.0 bean.
+ * 	    - optional ejb-link information, used to specify the
+ * 	      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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-ref-name" type="{http://java.sun.com/xml/ns/javaee}ejb-ref-nameType"/>
+ *         &lt;element name="ejb-ref-type" type="{http://java.sun.com/xml/ns/javaee}ejb-ref-typeType" minOccurs="0"/>
+ *         &lt;element name="home" type="{http://java.sun.com/xml/ns/javaee}homeType" minOccurs="0"/>
+ *         &lt;element name="remote" type="{http://java.sun.com/xml/ns/javaee}remoteType" minOccurs="0"/>
+ *         &lt;element name="ejb-link" type="{http://java.sun.com/xml/ns/javaee}ejb-linkType" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface EjbRefMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEjbRefName();
+
+   /**
+    * Sets the value of the ejbRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbRefNameType }
+    *     
+    */
+   void setEjbRefName(String value);
+
+   /**
+    * Gets the value of the ejbRefType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbRefTypeType }
+    *     
+    */
+   String getEjbRefType();
+
+   /**
+    * Sets the value of the ejbRefType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbRefTypeType }
+    *     
+    */
+   void setEjbRefType(String value);
+
+   /**
+    * Gets the value of the home property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link HomeType }
+    *     
+    */
+   String getHome();
+
+   /**
+    * Sets the value of the home property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link HomeType }
+    *     
+    */
+   void setHome(String value);
+
+   /**
+    * Gets the value of the remote property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RemoteType }
+    *     
+    */
+   String getRemote();
+
+   /**
+    * Sets the value of the remote property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RemoteType }
+    *     
+    */
+   void setRemote(String value);
+
+   /**
+    * Gets the value of the ejbLink property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbLinkType }
+    *     
+    */
+   String getEjbLink();
+
+   /**
+    * Sets the value of the ejbLink property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbLinkType }
+    *     
+    */
+   void setEjbLink(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/EjbRelationMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRelationMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRelationMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,108 @@
+//
+// 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;
+
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+
+/**
+ * 
+ * 
+ * 	The ejb-relationType describes a relationship between two
+ * 	entity beans with container-managed persistence.  It is used
+ * 	by ejb-relation elements. It contains a description; an
+ * 	optional ejb-relation-name element; and exactly two
+ * 	relationship role declarations, defined by the
+ * 	ejb-relationship-role elements. The name of the
+ * 	relationship, if specified, is unique within the ejb-jar
+ * 	file.
+ * 
+ *       
+ * 
+ * <p>Java class for ejb-relationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ejb-relationType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-relation-name" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *         &lt;element name="ejb-relationship-role" type="{http://java.sun.com/xml/ns/javaee}ejb-relationship-roleType"/>
+ *         &lt;element name="ejb-relationship-role" type="{http://java.sun.com/xml/ns/javaee}ejb-relationship-roleType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface EjbRelationMetaData
+{
+
+   /**
+    * Gets the rest of the content model. 
+    * 
+    * <p>
+    * You are getting this "catch-all" property because of the following reason: 
+    * The field name "EjbRelationshipRole" is used by two different parts of a schema. See: 
+    * line 773 of http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
+    * line 771 of http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
+    * <p>
+    * To get rid of this property, apply a property customization to one 
+    * of both of the following declarations to change their names: 
+    * Gets the value of the content 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 content property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getContent().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link JAXBElement }{@code <}{@link com.sun.java.xml.ns.javaee.String }{@code >}
+    * {@link JAXBElement }{@code <}{@link EjbRelationshipRoleMetaData }{@code >}
+    * {@link JAXBElement }{@code <}{@link DescriptionMetaData }{@code >}
+    * 
+    * 
+    */
+   List<JAXBElement<?>> getContent();
+
+   /**
+    * 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/EjbRelationshipRoleMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRelationshipRoleMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EjbRelationshipRoleMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,227 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ *
+ *
+ *
+ * 	  The ejb-relationship-roleType describes a role within a
+ * 	  relationship. There are two roles in each relationship.
+ *
+ * 	  The ejb-relationship-roleType contains an optional
+ * 	  description; an optional name for the relationship role; a
+ * 	  specification of the multiplicity of the role; an optional
+ * 	  specification of cascade-delete functionality for the role;
+ * 	  the role source; and a declaration of the cmr-field, if any,
+ * 	  by means of which the other side of the relationship is
+ * 	  accessed from the perspective of the role source.
+ *
+ * 	  The multiplicity and role-source element are mandatory.
+ *
+ * 	  The relationship-role-source element designates an entity
+ * 	  bean by means of an ejb-name element. For bidirectional
+ * 	  relationships, both roles of a relationship must declare a
+ * 	  relationship-role-source element that specifies a cmr-field
+ * 	  in terms of which the relationship is accessed. The lack of
+ * 	  a cmr-field element in an ejb-relationship-role specifies
+ * 	  that the relationship is unidirectional in navigability and
+ * 	  the entity bean that participates in the relationship is
+ * 	  "not aware" of the relationship.
+ *
+ * 	  Example:
+ *
+ * 	  <ejb-relation>
+ * 	      <ejb-relation-name>Product-LineItem</ejb-relation-name>
+ * 	      <ejb-relationship-role>
+ * 		  <ejb-relationship-role-name>product-has-lineitems
+ * 		  </ejb-relationship-role-name>
+ * 		  <multiplicity>One</multiplicity>
+ * 		  <relationship-role-source>
+ * 		  <ejb-name>ProductEJB</ejb-name>
+ * 		  </relationship-role-source>
+ * 	       </ejb-relationship-role>
+ * 	  </ejb-relation>
+ *
+ *
+ *
+ *
+ * <p>Java class for ejb-relationship-roleType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="ejb-relationship-roleType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-relationship-role-name" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *         &lt;element name="multiplicity" type="{http://java.sun.com/xml/ns/javaee}multiplicityType"/>
+ *         &lt;element name="cascade-delete" type="{http://java.sun.com/xml/ns/javaee}emptyType" minOccurs="0"/>
+ *         &lt;element name="relationship-role-source" type="{http://java.sun.com/xml/ns/javaee}relationship-role-sourceType"/>
+ *         &lt;element name="cmr-field" type="{http://java.sun.com/xml/ns/javaee}cmr-fieldType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface EjbRelationshipRoleMetaData
+{
+
+   /**
+    * 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 ejbRelationshipRoleName property.
+    *
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *
+    */
+   String getEjbRelationshipRoleName();
+
+   /**
+    * Sets the value of the ejbRelationshipRoleName property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *
+    */
+   void setEjbRelationshipRoleName(String value);
+
+   /**
+    * Gets the value of the multiplicity property.
+    *
+    * @return
+    *     possible object is
+    *     {@link MultiplicityType }
+    *
+    */
+   String getMultiplicity();
+
+   /**
+    * Sets the value of the multiplicity property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link MultiplicityType }
+    *
+    */
+   void setMultiplicity(String value);
+
+   /**
+    * Gets the value of the cascadeDelete property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isCascadeDelete();
+
+   /**
+    * Sets the value of the cascadeDelete property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setCascadeDelete(boolean value);
+
+   /**
+    * Gets the value of the relationshipRoleSource property.
+    *
+    * @return
+    *     possible object is
+    *     {@link RelationshipRoleSourceMetaData }
+    *
+    */
+   RelationshipRoleSourceMetaData getRelationshipRoleSource();
+
+   /**
+    * Sets the value of the relationshipRoleSource property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link RelationshipRoleSourceMetaData }
+    *
+    */
+   void setRelationshipRoleSource(RelationshipRoleSourceMetaData value);
+
+   /**
+    * Gets the value of the cmrField property.
+    *
+    * @return
+    *     possible object is
+    *     {@link CmrFieldMetaData }
+    *
+    */
+   CmrFieldMetaData getCmrField();
+
+   /**
+    * Sets the value of the cmrField property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link CmrFieldMetaData }
+    *
+    */
+   void setCmrField(CmrFieldMetaData 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/EnterpriseBeansMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnterpriseBeansMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnterpriseBeansMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,91 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The enterprise-beansType declares one or more enterprise
+ * 	beans. Each bean can be a session, entity or message-driven
+ * 	bean.
+ * 
+ *       
+ * 
+ * <p>Java class for enterprise-beansType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="enterprise-beansType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice maxOccurs="unbounded">
+ *         &lt;element name="session" type="{http://java.sun.com/xml/ns/javaee}session-beanType"/>
+ *         &lt;element name="entity" type="{http://java.sun.com/xml/ns/javaee}entity-beanType"/>
+ *         &lt;element name="message-driven" type="{http://java.sun.com/xml/ns/javaee}message-driven-beanType"/>
+ *       &lt;/choice>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface EnterpriseBeansMetaData
+{
+
+   /**
+    * Gets the value of the sessionOrEntityOrMessageDriven 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 sessionOrEntityOrMessageDriven property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getSessionOrEntityOrMessageDriven().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link EntityBeanMetaData }
+    * {@link MessageDrivenBeanMetaData }
+    * {@link SessionBeanMetaData }
+    * 
+    * 
+    */
+   List<Object> getSessionOrEntityOrMessageDriven();
+
+   /**
+    * 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/EntityBeanMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EntityBeanMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EntityBeanMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,855 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The entity-beanType declares an entity bean. The declaration
+ * 	consists of:
+ * 
+ * 	    - an optional description
+ * 	    - an optional display name
+ * 	    - an optional icon element that contains a small and a large
+ * 	      icon file name
+ * 	    - a unique name assigned to the enterprise bean
+ * 	      in the deployment descriptor
+ *             - an optional mapped-name element that can be used to provide
+ *               vendor-specific deployment information such as the physical
+ *               jndi-name of the entity bean's remote home interface. This
+ *               element is not required to be supported by all implementations.
+ *               Any use of this element is non-portable.
+ * 	    - the names of the entity bean's remote home
+ * 	      and remote interfaces, if any
+ * 	    - the names of the entity bean's local home and local
+ * 	      interfaces, if any
+ * 	    - the entity bean's implementation class
+ * 	    - the optional entity bean's persistence management type. If
+ *               this element is not specified it is defaulted to Container.
+ * 	    - the entity bean's primary key class name
+ * 	    - an indication of the entity bean's reentrancy
+ * 	    - an optional specification of the
+ * 	      entity bean's cmp-version
+ * 	    - an optional specification of the entity bean's
+ * 	      abstract schema name
+ * 	    - an optional list of container-managed fields
+ * 	    - an optional specification of the primary key
+ * 	      field
+ * 	    - an optional declaration of the bean's environment
+ * 	      entries
+ * 	    - an optional declaration of the bean's EJB
+ * 	      references
+ * 	    - an optional declaration of the bean's local
+ * 	      EJB references
+ * 	    - an optional declaration of the bean's web
+ * 	      service references
+ * 	    - an optional declaration of the security role
+ * 	      references
+ * 	    - an optional declaration of the security identity
+ * 	      to be used for the execution of the bean's methods
+ * 	    - an optional declaration of the bean's
+ * 	      resource manager connection factory references
+ * 	    - an optional declaration of the bean's
+ * 	      resource environment references
+ * 	    - an optional declaration of the bean's message
+ * 	      destination references
+ * 	    - an optional set of query declarations
+ * 	      for finder and select methods for an entity
+ * 	      bean with cmp-version 2.x.
+ * 
+ * 	The optional abstract-schema-name element must be specified
+ * 	for an entity bean with container-managed persistence and
+ * 	cmp-version 2.x.
+ * 
+ * 	The optional primkey-field may be present in the descriptor
+ * 	if the entity's persistence-type is Container.
+ * 
+ * 	The optional cmp-version element may be present in the
+ * 	descriptor if the entity's persistence-type is Container. If
+ * 	the persistence-type is Container and the cmp-version
+ * 	element is not specified, its value defaults to 2.x.
+ * 
+ * 	The optional home and remote elements must be specified if
+ * 	the entity bean cmp-version is 1.x.
+ * 
+ * 	The optional home and remote elements must be specified if
+ * 	the entity bean has a remote home and remote interface.
+ * 
+ * 	The optional local-home and local elements must be specified
+ * 	if the entity bean has a local home and local interface.
+ * 
+ * 	Either both the local-home and the local elements or both
+ * 	the home and the remote elements must be specified.
+ * 
+ * 	The optional query elements must be present if the
+ * 	persistence-type is Container and the cmp-version is 2.x and
+ * 	query methods other than findByPrimaryKey have been defined
+ * 	for the entity bean.
+ * 
+ * 	The other elements that are optional are "optional" in the
+ * 	sense that they are omitted if the lists represented by them
+ * 	are empty.
+ * 
+ * 	At least one cmp-field element must be present in the
+ * 	descriptor if the entity's persistence-type is Container and
+ * 	the cmp-version is 1.x, and none must not be present if the
+ * 	entity's persistence-type is Bean.
+ * 
+ *       
+ * 
+ * <p>Java class for entity-beanType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="entity-beanType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;element name="home" type="{http://java.sun.com/xml/ns/javaee}homeType" minOccurs="0"/>
+ *         &lt;element name="remote" type="{http://java.sun.com/xml/ns/javaee}remoteType" minOccurs="0"/>
+ *         &lt;element name="local-home" type="{http://java.sun.com/xml/ns/javaee}local-homeType" minOccurs="0"/>
+ *         &lt;element name="local" type="{http://java.sun.com/xml/ns/javaee}localType" minOccurs="0"/>
+ *         &lt;element name="ejb-class" type="{http://java.sun.com/xml/ns/javaee}ejb-classType"/>
+ *         &lt;element name="persistence-type" type="{http://java.sun.com/xml/ns/javaee}persistence-typeType"/>
+ *         &lt;element name="prim-key-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *         &lt;element name="reentrant" type="{http://java.sun.com/xml/ns/javaee}true-falseType"/>
+ *         &lt;element name="cmp-version" type="{http://java.sun.com/xml/ns/javaee}cmp-versionType" minOccurs="0"/>
+ *         &lt;element name="abstract-schema-name" type="{http://java.sun.com/xml/ns/javaee}java-identifierType" minOccurs="0"/>
+ *         &lt;element name="cmp-field" type="{http://java.sun.com/xml/ns/javaee}cmp-fieldType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="primkey-field" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}jndiEnvironmentRefsGroup"/>
+ *         &lt;element name="security-role-ref" type="{http://java.sun.com/xml/ns/javaee}security-role-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="security-identity" type="{http://java.sun.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *         &lt;element name="query" type="{http://java.sun.com/xml/ns/javaee}queryType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface EntityBeanMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbNameType }
+    *     
+    */
+   void setEjbName(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * Gets the value of the home property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link HomeType }
+    *     
+    */
+   String getHome();
+
+   /**
+    * Sets the value of the home property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link HomeType }
+    *     
+    */
+   void setHome(String value);
+
+   /**
+    * Gets the value of the remote property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RemoteType }
+    *     
+    */
+   String getRemote();
+
+   /**
+    * Sets the value of the remote property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RemoteType }
+    *     
+    */
+   void setRemote(String value);
+
+   /**
+    * Gets the value of the localHome property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LocalHomeType }
+    *     
+    */
+   String getLocalHome();
+
+   /**
+    * Sets the value of the localHome property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LocalHomeType }
+    *     
+    */
+   void setLocalHome(String value);
+
+   /**
+    * Gets the value of the local property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LocalType }
+    *     
+    */
+   String getLocal();
+
+   /**
+    * Sets the value of the local property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LocalType }
+    *     
+    */
+   void setLocal(String value);
+
+   /**
+    * Gets the value of the ejbClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbClassType }
+    *     
+    */
+   String getEjbClass();
+
+   /**
+    * Sets the value of the ejbClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbClassType }
+    *     
+    */
+   void setEjbClass(String value);
+
+   /**
+    * Gets the value of the persistenceType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PersistenceTypeType }
+    *     
+    */
+   String getPersistenceType();
+
+   /**
+    * Sets the value of the persistenceType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PersistenceTypeType }
+    *     
+    */
+   void setPersistenceType(String value);
+
+   /**
+    * Gets the value of the primKeyClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getPrimKeyClass();
+
+   /**
+    * Sets the value of the primKeyClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setPrimKeyClass(String value);
+
+   /**
+    * Gets the value of the reentrant property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   boolean getReentrant();
+
+   /**
+    * Sets the value of the reentrant property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   void setReentrant(boolean value);
+
+   /**
+    * Gets the value of the cmpVersion property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link CmpVersionType }
+    *     
+    */
+   String getCmpVersion();
+
+   /**
+    * Sets the value of the cmpVersion property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link CmpVersionType }
+    *     
+    */
+   void setCmpVersion(String value);
+
+   /**
+    * Gets the value of the abstractSchemaName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   String getAbstractSchemaName();
+
+   /**
+    * Sets the value of the abstractSchemaName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   void setAbstractSchemaName(String value);
+
+   /**
+    * Gets the value of the cmpField 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 cmpField property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getCmpField().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link CmpFieldMetaData }
+    * 
+    * 
+    */
+   List<CmpFieldMetaData> getCmpField();
+
+   /**
+    * Gets the value of the primkeyField property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getPrimkeyField();
+
+   /**
+    * Sets the value of the primkeyField property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setPrimkeyField(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EnvEntryMetaData> getEnvEntry();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EjbRefMetaData> getEjbRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EjbLocalRefMetaData> getEjbLocalRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ServiceRefMetaData> getServiceRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ResourceRefMetaData> getResourceRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ResourceEnvRefMetaData> getResourceEnvRef();
+
+   /**
+    * 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 MessageDestinationRefMetaData }
+    * 
+    * 
+    */
+   List<MessageDestinationRefMetaData> 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 }
+    * 
+    * 
+    */
+   List<PersistenceContextRefMetaData> getPersistenceContextRef();
+
+   /**
+    * 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 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 query 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 query property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getQuery().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link QueryMetaData }
+    * 
+    * 
+    */
+   List<QueryMetaData> getQuery();
+
+   /**
+    * 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/EnvEntryMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnvEntryMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/EnvEntryMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,211 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="env-entry-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="env-entry-type" type="{http://java.sun.com/xml/ns/javaee}env-entry-type-valuesType" minOccurs="0"/>
+ *         &lt;element name="env-entry-value" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface EnvEntryMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEnvEntryName();
+
+   /**
+    * Sets the value of the envEntryName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setEnvEntryName(String value);
+
+   /**
+    * Gets the value of the envEntryType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EnvEntryTypeValuesType }
+    *     
+    */
+   String getEnvEntryType();
+
+   /**
+    * Sets the value of the envEntryType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EnvEntryTypeValuesType }
+    *     
+    */
+   void setEnvEntryType(String value);
+
+   /**
+    * Gets the value of the envEntryValue property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getEnvEntryValue();
+
+   /**
+    * Sets the value of the envEntryValue property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setEnvEntryValue(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/ExcludeListMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ExcludeListMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ExcludeListMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,115 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The exclude-listType specifies one or more methods which
+ * 	the Assembler marks to be uncallable.
+ * 
+ * 	If the method permission relation contains methods that are
+ * 	in the exclude list, the Deployer should consider those
+ * 	methods to be uncallable.
+ * 
+ *       
+ * 
+ * <p>Java class for exclude-listType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="exclude-listType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="method" type="{http://java.sun.com/xml/ns/javaee}methodType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ExcludeListMetaData
+{
+
+   /**
+    * 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 method 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 method property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getMethod().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link MethodMetaData }
+    * 
+    * 
+    */
+   List<MethodMetaData> getMethod();
+
+   /**
+    * 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/IconType.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/IconType.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/IconType.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,128 @@
+//
+// 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 icon type contains small-icon and large-icon elements
+ * 	that specify the file names for small and large GIF, JPEG,
+ * 	or PNG icon images used to represent the parent element in a
+ * 	GUI tool.
+ * 
+ * 	The xml:lang attribute defines the language that the
+ * 	icon file names are provided in. Its value is "en" (English)
+ * 	by default.
+ * 
+ *       
+ * 
+ * <p>Java class for iconType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="iconType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="small-icon" type="{http://java.sun.com/xml/ns/javaee}pathType" minOccurs="0"/>
+ *         &lt;element name="large-icon" type="{http://java.sun.com/xml/ns/javaee}pathType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface IconType
+{
+
+   /**
+    * Gets the value of the smallIcon property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PathType }
+    *     
+    */
+   String getSmallIcon();
+
+   /**
+    * Sets the value of the smallIcon property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PathType }
+    *     
+    */
+   void setSmallIcon(String value);
+
+   /**
+    * Gets the value of the largeIcon property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PathType }
+    *     
+    */
+   String getLargeIcon();
+
+   /**
+    * Sets the value of the largeIcon property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PathType }
+    *     
+    */
+   void setLargeIcon(String value);
+
+   /**
+    * Gets the value of the lang property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link java.lang.String }
+    *     
+    */
+   java.lang.String getLang();
+
+   /**
+    * Sets the value of the lang property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link java.lang.String }
+    *     
+    */
+   void setLang(java.lang.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/InitMethodMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InitMethodMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InitMethodMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,94 @@
+//
+// 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;
+
+/**
+ * <p>Java class for init-methodType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="init-methodType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="create-method" type="{http://java.sun.com/xml/ns/javaee}named-methodType"/>
+ *         &lt;element name="bean-method" type="{http://java.sun.com/xml/ns/javaee}named-methodType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface InitMethodMetaData
+{
+
+   /**
+    * Gets the value of the createMethod property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   NamedMethodMetaData getCreateMethod();
+
+   /**
+    * Sets the value of the createMethod property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   void setCreateMethod(NamedMethodMetaData value);
+
+   /**
+    * Gets the value of the beanMethod property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   NamedMethodMetaData getBeanMethod();
+
+   /**
+    * Sets the value of the beanMethod property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   void setBeanMethod(NamedMethodMetaData 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/InjectionTargetMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InjectionTargetMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InjectionTargetMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,95 @@
+//
+// 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;
+
+/**
+ * 
+ * 
+ * 	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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="injection-target-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *         &lt;element name="injection-target-name" type="{http://java.sun.com/xml/ns/javaee}java-identifierType"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface InjectionTargetMetaData
+{
+
+   /**
+    * Gets the value of the injectionTargetClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getInjectionTargetClass();
+
+   /**
+    * Sets the value of the injectionTargetClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setInjectionTargetClass(String value);
+
+   /**
+    * Gets the value of the injectionTargetName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   String getInjectionTargetName();
+
+   /**
+    * Sets the value of the injectionTargetName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   void setInjectionTargetName(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorBindingMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorBindingMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorBindingMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,301 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ *         The interceptor-bindingType element describes the binding of
+ *         interceptor classes to beans within the ejb-jar.
+ *         It consists of :
+ * 
+ *           - An optional description.
+ *           - The name of an ejb within the ejb-jar or the wildcard value "*",
+ *             which is used to define interceptors that are bound to all
+ *             beans in the ejb-jar.
+ *           - A list of interceptor classes that are bound to the contents of
+ *             the ejb-name element or a specification of the total ordering
+ *             over the interceptors defined for the given level and above.
+ *           - An optional exclude-default-interceptors element.  If set to true,
+ *             specifies that default interceptors are not to be applied to
+ *             a bean-class and/or business method.
+ *           - An optional exclude-class-interceptors element.  If set to true,
+ *             specifies that class interceptors are not to be applied to
+ *             a business method.
+ *           - An optional set of method elements for describing the name/params
+ *             of a method-level interceptor.
+ * 
+ *          Interceptors bound to all classes using the wildcard syntax
+ *          "*" are default interceptors for the components in the ejb-jar.
+ *          In addition, interceptors may be bound at the level of the bean
+ *          class (class-level interceptors) or business methods (method-level
+ *          interceptors ).
+ * 
+ *          The binding of interceptors to classes is additive.  If interceptors
+ *          are bound at the class-level and/or default-level as well as the
+ *          method-level, both class-level and/or default-level as well as
+ *          method-level will apply.
+ * 
+ *          There are four possible styles of the interceptor element syntax :
+ * 
+ *          1.
+ *          
+ * <pre>
+ * &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;interceptor-binding xmlns="http://www.w3.org/2001/XMLSchema" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;ejb-name&gt;*&lt;/ejb-name&gt;&lt;interceptor-class&gt;INTERCEPTOR&lt;/interceptor-class&gt;&lt;/interceptor-binding&gt;
+ * </pre>
+ * 
+ * 
+ *          Specifying the ejb-name as the wildcard value "*" designates
+ *          default interceptors (interceptors that apply to all session and
+ *          message-driven beans contained in the ejb-jar).
+ * 
+ *          2.
+ * <pre>
+ * &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;interceptor-binding xmlns="http://www.w3.org/2001/XMLSchema" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;ejb-name&gt;EJBNAME&lt;/ejb-name&gt;&lt;interceptor-class&gt;INTERCEPTOR&lt;/interceptor-class&gt;&lt;/interceptor-binding&gt;
+ * </pre>
+ * 
+ * 
+ *          This style is used to refer to interceptors associated with the
+ *          specified enterprise bean(class-level interceptors).
+ * 
+ *          3.
+ *          
+ * <pre>
+ * &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;interceptor-binding xmlns="http://www.w3.org/2001/XMLSchema" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;ejb-name&gt;EJBNAME&lt;/ejb-name&gt;&lt;interceptor-class&gt;INTERCEPTOR&lt;/interceptor-class&gt;&lt;method&gt;&lt;method-name&gt;METHOD&lt;/method-name&gt;&lt;/method&gt;&lt;/interceptor-binding&gt;
+ * </pre>
+ * 
+ * 
+ *          This style is used to associate a method-level interceptor with
+ *          the specified enterprise bean.  If there are multiple methods
+ *          with the same overloaded name, the element of this style refers
+ *          to all the methods with the overloaded name.  Method-level
+ *          interceptors can only be associated with business methods of the
+ *          bean class.   Note that the wildcard value "*" cannot be used
+ *          to specify method-level interceptors.
+ * 
+ *          4.
+ * <pre>
+ * &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;interceptor-binding xmlns="http://www.w3.org/2001/XMLSchema" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;ejb-name&gt;EJBNAME&lt;/ejb-name&gt;&lt;interceptor-class&gt;INTERCEPTOR&lt;/interceptor-class&gt;&lt;method&gt;&lt;method-name&gt;METHOD&lt;/method-name&gt;&lt;method-params&gt;&lt;method-param&gt;PARAM-1&lt;/method-param&gt;&lt;method-param&gt;PARAM-2&lt;/method-param&gt;
+ *                ...
+ *                &lt;method-param&gt;PARAM-N&lt;/method-param&gt;&lt;/method-params&gt;&lt;/method&gt;&lt;/interceptor-binding&gt;
+ * </pre>
+ * 
+ * 
+ *          This style is used to associate a method-level interceptor with
+ *          the specified method of the specified enterprise bean.  This
+ *          style is used to refer to a single method within a set of methods
+ *          with an overloaded name.  The values PARAM-1 through PARAM-N
+ *          are the fully-qualified Java types of the method's input parameters
+ *          (if the method has no input arguments, the method-params element
+ *          contains no method-param elements). Arrays are specified by the
+ *          array element's type, followed by one or more pair of square
+ *          brackets (e.g. int[][]).
+ * 
+ *       
+ * 
+ * <p>Java class for interceptor-bindingType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="interceptor-bindingType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}string"/>
+ *         &lt;choice>
+ *           &lt;element name="interceptor-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" maxOccurs="unbounded" minOccurs="0"/>
+ *           &lt;element name="interceptor-order" type="{http://java.sun.com/xml/ns/javaee}interceptor-orderType"/>
+ *         &lt;/choice>
+ *         &lt;element name="exclude-default-interceptors" type="{http://java.sun.com/xml/ns/javaee}true-falseType" minOccurs="0"/>
+ *         &lt;element name="exclude-class-interceptors" type="{http://java.sun.com/xml/ns/javaee}true-falseType" minOccurs="0"/>
+ *         &lt;element name="method" type="{http://java.sun.com/xml/ns/javaee}named-methodType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface InterceptorBindingMetaData
+{
+
+   /**
+    * 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 ejbName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setEjbName(String value);
+
+   /**
+    * Gets the value of the interceptorClass 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 interceptorClass property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getInterceptorClass().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link FullyQualifiedClassType }
+    * 
+    * 
+    */
+   List<String> getInterceptorClass();
+
+   /**
+    * Gets the value of the interceptorOrder property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link InterceptorOrderMetaData }
+    *     
+    */
+   InterceptorOrderMetaData getInterceptorOrder();
+
+   /**
+    * Sets the value of the interceptorOrder property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link InterceptorOrderMetaData }
+    *     
+    */
+   void setInterceptorOrder(InterceptorOrderMetaData value);
+
+   /**
+    * Gets the value of the excludeDefaultInterceptors property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   boolean getExcludeDefaultInterceptors();
+
+   /**
+    * Sets the value of the excludeDefaultInterceptors property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   void setExcludeDefaultInterceptors(boolean value);
+
+   /**
+    * Gets the value of the excludeClassInterceptors property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   boolean getExcludeClassInterceptors();
+
+   /**
+    * Sets the value of the excludeClassInterceptors property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   void setExcludeClassInterceptors(boolean value);
+
+   /**
+    * Gets the value of the method property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   NamedMethodMetaData getMethod();
+
+   /**
+    * Sets the value of the method property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   void setMethod(NamedMethodMetaData 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/InterceptorMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,458 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ *         The interceptorType element declares information about a single
+ *         interceptor class.  It consists of :
+ * 
+ *             - An optional description.
+ *             - The fully-qualified name of the interceptor class.
+ *             - An optional list of around invoke methods declared on the
+ *               interceptor class and/or its super-classes.
+ *             - An optional list environment dependencies for the interceptor
+ *               class and/or its super-classes.
+ *             - An optional list of post-activate methods declared on the
+ *               interceptor class and/or its super-classes.
+ *             - An optional list of pre-passivate methods declared on the
+ *               interceptor class and/or its super-classes.
+ * 
+ *       
+ * 
+ * <p>Java class for interceptorType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="interceptorType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="interceptor-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *         &lt;element name="around-invoke" type="{http://java.sun.com/xml/ns/javaee}around-invokeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}jndiEnvironmentRefsGroup"/>
+ *         &lt;element name="post-activate" type="{http://java.sun.com/xml/ns/javaee}lifecycle-callbackType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="pre-passivate" type="{http://java.sun.com/xml/ns/javaee}lifecycle-callbackType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface InterceptorMetaData
+{
+
+   /**
+    * 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 interceptorClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getInterceptorClass();
+
+   /**
+    * Sets the value of the interceptorClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setInterceptorClass(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<AroundInvokeMetaData> getAroundInvoke();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EnvEntryMetaData> getEnvEntry();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EjbRefMetaData> getEjbRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EjbLocalRefMetaData> getEjbLocalRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ServiceRefMetaData> getServiceRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ResourceRefMetaData> getResourceRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ResourceEnvRefMetaData> getResourceEnvRef();
+
+   /**
+    * 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 MessageDestinationRefMetaData }
+    * 
+    * 
+    */
+   List<MessageDestinationRefMetaData> 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 }
+    * 
+    * 
+    */
+   List<PersistenceContextRefMetaData> getPersistenceContextRef();
+
+   /**
+    * 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 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/InterceptorOrderMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorOrderMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorOrderMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,84 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ *         The interceptor-orderType element describes a total ordering
+ *         of interceptor classes.
+ *       
+ * 
+ * <p>Java class for interceptor-orderType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="interceptor-orderType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="interceptor-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface InterceptorOrderMetaData
+{
+
+   /**
+    * Gets the value of the interceptorClass 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 interceptorClass property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getInterceptorClass().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link FullyQualifiedClassType }
+    * 
+    * 
+    */
+   List<String> getInterceptorClass();
+
+   /**
+    * 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/InterceptorsMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorsMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/InterceptorsMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,115 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ *         The interceptorsType element declares one or more interceptor
+ *         classes used by components within this ejb-jar.  The declaration
+ *         consists of :
+ * 
+ *             - An optional description.
+ *             - One or more interceptor elements.
+ * 
+ *       
+ * 
+ * <p>Java class for interceptorsType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="interceptorsType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="interceptor" type="{http://java.sun.com/xml/ns/javaee}interceptorType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface InterceptorsMetaData
+{
+
+   /**
+    * 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 interceptor 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 interceptor property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getInterceptor().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link InterceptorMetaData }
+    * 
+    * 
+    */
+   List<InterceptorMetaData> getInterceptor();
+
+   /**
+    * 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/LifecycleCallbackMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/LifecycleCallbackMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/LifecycleCallbackMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,88 @@
+//
+// 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 lifecycle-callback type specifies a method on a
+ * 	class to be called when a lifecycle event occurs.
+ * 	Note that each class may have only one lifecycle callback
+ *         method for any given event and that the method may not
+ * 	be overloaded.
+ * 
+ *         If the lifefycle-callback-class element is missing then
+ *         the class defining the callback is assumed to be the
+ *         component class in scope at the place in the descriptor
+ *         in which the callback definition appears.
+ * 
+ *       
+ * 
+ * <p>Java class for lifecycle-callbackType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="lifecycle-callbackType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="lifecycle-callback-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;element name="lifecycle-callback-method" type="{http://java.sun.com/xml/ns/javaee}java-identifierType"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface LifecycleCallbackMetaData
+{
+
+   /**
+    * Gets the value of the lifecycleCallbackClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getLifecycleCallbackClass();
+
+   /**
+    * Sets the value of the lifecycleCallbackClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setLifecycleCallbackClass(String value);
+
+   /**
+    * Gets the value of the lifecycleCallbackMethod property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   String getLifecycleCallbackMethod();
+
+   /**
+    * Sets the value of the lifecycleCallbackMethod property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JavaIdentifierType }
+    *     
+    */
+   void setLifecycleCallbackMethod(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ListenerMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ListenerMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ListenerMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,155 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The listenerType indicates the deployment properties for a web
+ * 	application listener bean.
+ * 
+ *       
+ * 
+ * <p>Java class for listenerType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="listenerType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="listener-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ListenerMetaData
+{
+
+   /**
+    * 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 listenerClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getListenerClass();
+
+   /**
+    * Sets the value of the listenerClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setListenerClass(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/MessageDestinationMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDestinationMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDestinationMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,196 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 	
+ * 
+ * 	  The message-destinationType specifies a message
+ * 	  destination. The logical destination described by this
+ * 	  element is mapped to a physical destination by the Deployer.
+ * 
+ * 	  The message destination element contains:
+ * 
+ * 		  - an optional description
+ * 		  - an optional display-name
+ * 		  - an optional icon
+ * 		  - a message destination name which must be unique
+ * 		    among message destination names within the same
+ * 		    Deployment File.
+ * 		  - an optional mapped name
+ * 
+ * 	  Example:
+ * 
+ * 	  <message-destination>
+ * 		  <message-destination-name>CorporateStocks
+ * 		  </message-destination-name>
+ * 	  </message-destination>
+ * 
+ * 	  
+ *       
+ * 
+ * <p>Java class for message-destinationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="message-destinationType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="message-destination-name" type="{http://java.sun.com/xml/ns/javaee}string"/>
+ *         &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface MessageDestinationMetaData
+{
+
+   /**
+    * 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 messageDestinationName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getMessageDestinationName();
+
+   /**
+    * Sets the value of the messageDestinationName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setMessageDestinationName(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(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/MessageDestinationRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDestinationRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDestinationRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,248 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 	
+ * 
+ * 	  The message-destination-ref element contains a declaration
+ * 	  of Deployment Component's reference to a message destination
+ * 	  associated with a resource in Deployment Component's
+ * 	  environment. It consists of:
+ * 
+ * 		  - an optional description
+ * 		  - the message destination reference name
+ * 		  - an optional message destination type
+ * 		  - an optional specification as to whether
+ * 		    the destination is used for
+ * 		    consuming or producing messages, or both.
+ * 		    if not specified, "both" is assumed.
+ * 		  - an optional link to the message destination
+ * 		  - optional injection targets
+ * 
+ * 	  The message destination 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.
+ * 
+ * 	  Examples:
+ * 
+ * 	  <message-destination-ref>
+ * 		  <message-destination-ref-name>jms/StockQueue
+ * 		  </message-destination-ref-name>
+ * 		  <message-destination-type>javax.jms.Queue
+ * 		  </message-destination-type>
+ * 		  <message-destination-usage>Consumes
+ * 		  </message-destination-usage>
+ * 		  <message-destination-link>CorporateStocks
+ * 		  </message-destination-link>
+ * 	  </message-destination-ref>
+ * 
+ * 	  
+ *       
+ * 
+ * <p>Java class for message-destination-refType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="message-destination-refType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="message-destination-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="message-destination-type" type="{http://java.sun.com/xml/ns/javaee}message-destination-typeType" minOccurs="0"/>
+ *         &lt;element name="message-destination-usage" type="{http://java.sun.com/xml/ns/javaee}message-destination-usageType" minOccurs="0"/>
+ *         &lt;element name="message-destination-link" type="{http://java.sun.com/xml/ns/javaee}message-destination-linkType" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface MessageDestinationRefMetaData
+{
+
+   /**
+    * 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 messageDestinationRefName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JndiNameType }
+    *     
+    */
+   String getMessageDestinationRefName();
+
+   /**
+    * Sets the value of the messageDestinationRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setMessageDestinationRefName(String value);
+
+   /**
+    * Gets the value of the messageDestinationType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MessageDestinationTypeType }
+    *     
+    */
+   String getMessageDestinationType();
+
+   /**
+    * Sets the value of the messageDestinationType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MessageDestinationTypeType }
+    *     
+    */
+   void setMessageDestinationType(String value);
+
+   /**
+    * Gets the value of the messageDestinationUsage property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MessageDestinationUsageType }
+    *     
+    */
+   String getMessageDestinationUsage();
+
+   /**
+    * Sets the value of the messageDestinationUsage property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MessageDestinationUsageType }
+    *     
+    */
+   void setMessageDestinationUsage(String value);
+
+   /**
+    * Gets the value of the messageDestinationLink property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MessageDestinationLinkType }
+    *     
+    */
+   String getMessageDestinationLink();
+
+   /**
+    * Sets the value of the messageDestinationLink property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MessageDestinationLinkType }
+    *     
+    */
+   void setMessageDestinationLink(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/MessageDrivenBeanMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDrivenBeanMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MessageDrivenBeanMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,677 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The message-driven element declares a message-driven
+ * 	bean. The declaration consists of:
+ * 
+ * 	    - an optional description
+ * 	    - an optional display name
+ * 	    - an optional icon element that contains a small and a large
+ * 	      icon file name.
+ * 	    - a name assigned to the enterprise bean in
+ * 	      the deployment descriptor
+ *             - an optional mapped-name element that can be used to provide
+ *               vendor-specific deployment information such as the physical
+ *               jndi-name of destination from which this message-driven bean
+ *               should consume.  This element is not required to be supported
+ *               by all implementations.  Any use of this element is non-portable.
+ * 	    - the message-driven bean's implementation class
+ * 	    - an optional declaration of the bean's messaging
+ * 	      type
+ *             - an optional declaration of the bean's timeout method.
+ * 	    - the optional message-driven bean's transaction management
+ *               type. If it is not defined, it is defaulted to Container.
+ * 	    - an optional declaration of the bean's
+ * 	      message-destination-type
+ * 	    - an optional declaration of the bean's
+ * 	      message-destination-link
+ * 	    - an optional declaration of the message-driven bean's
+ * 	      activation configuration properties
+ *             - an optional list of the message-driven bean class and/or
+ *               superclass around-invoke methods.
+ * 	    - an optional declaration of the bean's environment
+ * 	      entries
+ * 	    - an optional declaration of the bean's EJB references
+ * 	    - an optional declaration of the bean's local EJB
+ * 	      references
+ * 	    - an optional declaration of the bean's web service
+ * 	      references
+ * 	    - an optional declaration of the security
+ * 	      identity to be used for the execution of the bean's
+ * 	      methods
+ * 	    - an optional declaration of the bean's
+ * 	      resource manager connection factory
+ * 	      references
+ * 	    - an optional declaration of the bean's resource
+ * 	      environment references.
+ * 	    - an optional declaration of the bean's message
+ * 	      destination references
+ * 
+ *       
+ * 
+ * <p>Java class for message-driven-beanType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="message-driven-beanType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;element name="ejb-class" type="{http://java.sun.com/xml/ns/javaee}ejb-classType" minOccurs="0"/>
+ *         &lt;element name="messaging-type" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;element name="timeout-method" type="{http://java.sun.com/xml/ns/javaee}named-methodType" minOccurs="0"/>
+ *         &lt;element name="transaction-type" type="{http://java.sun.com/xml/ns/javaee}transaction-typeType" minOccurs="0"/>
+ *         &lt;element name="message-destination-type" type="{http://java.sun.com/xml/ns/javaee}message-destination-typeType" minOccurs="0"/>
+ *         &lt;element name="message-destination-link" type="{http://java.sun.com/xml/ns/javaee}message-destination-linkType" minOccurs="0"/>
+ *         &lt;element name="activation-config" type="{http://java.sun.com/xml/ns/javaee}activation-configType" minOccurs="0"/>
+ *         &lt;element name="around-invoke" type="{http://java.sun.com/xml/ns/javaee}around-invokeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}jndiEnvironmentRefsGroup"/>
+ *         &lt;element name="security-identity" type="{http://java.sun.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface MessageDrivenBeanMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbNameType }
+    *     
+    */
+   void setEjbName(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * Gets the value of the ejbClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbClassType }
+    *     
+    */
+   String getEjbClass();
+
+   /**
+    * Sets the value of the ejbClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbClassType }
+    *     
+    */
+   void setEjbClass(String value);
+
+   /**
+    * Gets the value of the messagingType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getMessagingType();
+
+   /**
+    * Sets the value of the messagingType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setMessagingType(String value);
+
+   /**
+    * Gets the value of the timeoutMethod property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   NamedMethodMetaData getTimeoutMethod();
+
+   /**
+    * Sets the value of the timeoutMethod property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   void setTimeoutMethod(NamedMethodMetaData value);
+
+   /**
+    * Gets the value of the transactionType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TransactionTypeType }
+    *     
+    */
+   String getTransactionType();
+
+   /**
+    * Sets the value of the transactionType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TransactionTypeType }
+    *     
+    */
+   void setTransactionType(String value);
+
+   /**
+    * Gets the value of the messageDestinationType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MessageDestinationTypeType }
+    *     
+    */
+   String getMessageDestinationType();
+
+   /**
+    * Sets the value of the messageDestinationType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MessageDestinationTypeType }
+    *     
+    */
+   void setMessageDestinationType(String value);
+
+   /**
+    * Gets the value of the messageDestinationLink property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MessageDestinationLinkType }
+    *     
+    */
+   String getMessageDestinationLink();
+
+   /**
+    * Sets the value of the messageDestinationLink property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MessageDestinationLinkType }
+    *     
+    */
+   void setMessageDestinationLink(String value);
+
+   /**
+    * Gets the value of the activationConfig property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ActivationConfigMetaData }
+    *     
+    */
+   ActivationConfigMetaData getActivationConfig();
+
+   /**
+    * Sets the value of the activationConfig property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ActivationConfigMetaData }
+    *     
+    */
+   void setActivationConfig(ActivationConfigMetaData value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<AroundInvokeMetaData> getAroundInvoke();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EnvEntryMetaData> getEnvEntry();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EjbRefMetaData> getEjbRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EjbLocalRefMetaData> getEjbLocalRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ServiceRefMetaData> getServiceRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ResourceRefMetaData> getResourceRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ResourceEnvRefMetaData> getResourceEnvRef();
+
+   /**
+    * 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: We need this. Revisit 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 }
+    * 
+    * 
+    */
+   List<PersistenceContextRefMetaData> getPersistenceContextRef();
+
+   /**
+    * 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 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/MethodMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,344 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 	
+ * 
+ * 	  The methodType is used to denote a method of an enterprise
+ * 	  bean's business, home, component, and/or web service endpoint
+ * 	  interface, or, in the case of a message-driven bean, the
+ * 	  bean's message listener method, or a set of such
+ * 	  methods. The ejb-name element must be the name of one of the
+ * 	  enterprise beans declared in the deployment descriptor; the
+ * 	  optional method-intf element allows to distinguish between a
+ * 	  method with the same signature that is multiply defined
+ * 	  across the business, home, component, and/or web service
+ *           endpoint nterfaces; the method-name element specifies the
+ *           method name; and the optional method-params elements identify
+ *           a single method among multiple methods with an overloaded
+ * 	  method name.
+ * 
+ * 	  There are three possible styles of using methodType element
+ * 	  within a method element:
+ * 
+ * 	  1.
+ * 	  <method>
+ * 	      <ejb-name>EJBNAME</ejb-name>
+ * 	      <method-name>*</method-name>
+ * 	  </method>
+ * 
+ * 	     This style is used to refer to all the methods of the
+ * 	     specified enterprise bean's business, home, component,
+ *              and/or web service endpoint interfaces.
+ * 
+ * 	  2.
+ * 	  <method>
+ * 	      <ejb-name>EJBNAME</ejb-name>
+ * 	      <method-name>METHOD</method-name>
+ * 	  </method>
+ * 
+ * 	     This style is used to refer to the specified method of
+ * 	     the specified enterprise bean. If there are multiple
+ * 	     methods with the same overloaded name, the element of
+ * 	     this style refers to all the methods with the overloaded
+ * 	     name.
+ * 
+ * 	  3.
+ * 	  <method>
+ * 	      <ejb-name>EJBNAME</ejb-name>
+ * 	      <method-name>METHOD</method-name>
+ * 	      <method-params>
+ * 		  <method-param>PARAM-1</method-param>
+ * 		  <method-param>PARAM-2</method-param>
+ * 		  ...
+ * 		  <method-param>PARAM-n</method-param>
+ * 	      </method-params>
+ * 	  </method>
+ * 
+ * 	     This style is used to refer to a single method within a
+ * 	     set of methods with an overloaded name. PARAM-1 through
+ * 	     PARAM-n are the fully-qualified Java types of the
+ * 	     method's input parameters (if the method has no input
+ * 	     arguments, the method-params element contains no
+ * 	     method-param elements). Arrays are specified by the
+ * 	     array element's type, followed by one or more pair of
+ * 	     square brackets (e.g. int[][]). If there are multiple
+ * 	     methods with the same overloaded name, this style refers
+ * 	     to all of the overloaded methods.
+ * 
+ * 	  Examples:
+ * 
+ * 	  Style 1: The following method element refers to all the
+ * 	  methods of the EmployeeService bean's business, home,
+ *           component, and/or web service endpoint interfaces:
+ * 
+ * 	  <method>
+ * 	      <ejb-name>EmployeeService</ejb-name>
+ * 	      <method-name>*</method-name>
+ * 	  </method>
+ * 
+ * 	  Style 2: The following method element refers to all the
+ * 	  create methods of the EmployeeService bean's home
+ * 	  interface(s).
+ * 
+ * 	  <method>
+ * 	      <ejb-name>EmployeeService</ejb-name>
+ * 	      <method-name>create</method-name>
+ * 	  </method>
+ * 
+ * 	  Style 3: The following method element refers to the
+ * 	  create(String firstName, String LastName) method of the
+ * 	  EmployeeService bean's home interface(s).
+ * 
+ * 	  <method>
+ * 	      <ejb-name>EmployeeService</ejb-name>
+ * 	      <method-name>create</method-name>
+ * 	      <method-params>
+ * 		  <method-param>java.lang.String</method-param>
+ * 		  <method-param>java.lang.String</method-param>
+ * 	      </method-params>
+ * 	  </method>
+ * 
+ * 	  The following example illustrates a Style 3 element with
+ * 	  more complex parameter types. The method
+ * 	  foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
+ * 	  mypackage.MyClass[][] myclaar) would be specified as:
+ * 
+ * 	  <method>
+ * 	      <ejb-name>EmployeeService</ejb-name>
+ * 	      <method-name>foobar</method-name>
+ * 	      <method-params>
+ * 		  <method-param>char</method-param>
+ * 		  <method-param>int</method-param>
+ * 		  <method-param>int[]</method-param>
+ * 		  <method-param>mypackage.MyClass</method-param>
+ * 		  <method-param>mypackage.MyClass[][]</method-param>
+ * 	      </method-params>
+ * 	  </method>
+ * 
+ * 	  The optional method-intf element can be used when it becomes
+ * 	  necessary to differentiate between a method that is multiply
+ * 	  defined across the enterprise bean's business, home, component,
+ *           and/or web service endpoint interfaces with the same name and
+ * 	  signature. However, if the same method is a method of both the
+ *           local business interface, and the local component interface,
+ *           the same attribute applies to the method for both interfaces.
+ *           Likewise, if the same method is a method of both the remote
+ *           business interface and the remote component interface, the same
+ *           attribute applies to the method for both interfaces.
+ * 
+ * 	  For example, the method element
+ * 
+ * 	  <method>
+ * 	      <ejb-name>EmployeeService</ejb-name>
+ * 	      <method-intf>Remote</method-intf>
+ * 	      <method-name>create</method-name>
+ * 	      <method-params>
+ * 		  <method-param>java.lang.String</method-param>
+ * 		  <method-param>java.lang.String</method-param>
+ * 	      </method-params>
+ * 	  </method>
+ * 
+ * 	  can be used to differentiate the create(String, String)
+ * 	  method defined in the remote interface from the
+ * 	  create(String, String) method defined in the remote home
+ * 	  interface, which would be defined as
+ * 
+ * 	  <method>
+ * 	      <ejb-name>EmployeeService</ejb-name>
+ * 	      <method-intf>Home</method-intf>
+ * 	      <method-name>create</method-name>
+ * 	      <method-params>
+ * 		  <method-param>java.lang.String</method-param>
+ * 		  <method-param>java.lang.String</method-param>
+ * 	      </method-params>
+ * 	  </method>
+ * 
+ * 	  and the create method that is defined in the local home
+ * 	  interface which would be defined as
+ * 
+ * 	  <method>
+ * 	      <ejb-name>EmployeeService</ejb-name>
+ * 	      <method-intf>LocalHome</method-intf>
+ * 	      <method-name>create</method-name>
+ * 	      <method-params>
+ * 		  <method-param>java.lang.String</method-param>
+ * 		  <method-param>java.lang.String</method-param>
+ * 	      </method-params>
+ * 	  </method>
+ * 
+ * 	  The method-intf element can be used with all three Styles
+ * 	  of the method element usage. For example, the following
+ * 	  method element example could be used to refer to all the
+ * 	  methods of the EmployeeService bean's remote home interface
+ *           and the remote business interface.
+ * 
+ * 	  <method>
+ * 	      <ejb-name>EmployeeService</ejb-name>
+ * 	      <method-intf>Home</method-intf>
+ * 	      <method-name>*</method-name>
+ * 	  </method>
+ * 
+ * 	  
+ *       
+ * 
+ * <p>Java class for methodType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="methodType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="method-intf" type="{http://java.sun.com/xml/ns/javaee}method-intfType" minOccurs="0"/>
+ *         &lt;element name="method-name" type="{http://java.sun.com/xml/ns/javaee}method-nameType"/>
+ *         &lt;element name="method-params" type="{http://java.sun.com/xml/ns/javaee}method-paramsType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface MethodMetaData
+{
+
+   /**
+    * 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 ejbName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbNameType }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbNameType }
+    *     
+    */
+   void setEjbName(String value);
+
+   /**
+    * Gets the value of the methodIntf property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodIntfType }
+    *     
+    */
+   String getMethodIntf();
+
+   /**
+    * Sets the value of the methodIntf property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodIntfType }
+    *     
+    */
+   void setMethodIntf(String value);
+
+   /**
+    * Gets the value of the methodName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodNameType }
+    *     
+    */
+   String getMethodName();
+
+   /**
+    * Sets the value of the methodName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodNameType }
+    *     
+    */
+   void setMethodName(String value);
+
+   /**
+    * Gets the value of the methodParams property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodParamsMetaData }
+    *     
+    */
+   MethodParamsMetaData getMethodParams();
+
+   /**
+    * Sets the value of the methodParams property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodParamsMetaData }
+    *     
+    */
+   void setMethodParams(MethodParamsMetaData 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/MethodParamsMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodParamsMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodParamsMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,86 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="method-param" type="{http://java.sun.com/xml/ns/javaee}java-typeType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface MethodParamsMetaData
+{
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<String> getMethodParam();
+
+   /**
+    * 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/MethodPermissionMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodPermissionMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/MethodPermissionMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,169 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ *
+ *
+ * 	The method-permissionType specifies that one or more
+ * 	security roles are allowed to invoke one or more enterprise
+ * 	bean methods. The method-permissionType consists of an
+ * 	optional description, a list of security role names or an
+ * 	indicator to state that the method is unchecked for
+ * 	authorization, and a list of method elements.
+ *
+ * 	The security roles used in the method-permissionType
+ * 	must be defined in the security-role elements of the
+ * 	deployment descriptor, and the methods must be methods
+ * 	defined in the enterprise bean's business, home, component
+ *         and/or web service endpoint interfaces.
+ *
+ *
+ *
+ * <p>Java class for method-permissionType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="method-permissionType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;choice>
+ *           &lt;element name="role-name" type="{http://java.sun.com/xml/ns/javaee}role-nameType" maxOccurs="unbounded"/>
+ *           &lt;element name="unchecked" type="{http://java.sun.com/xml/ns/javaee}emptyType"/>
+ *         &lt;/choice>
+ *         &lt;element name="method" type="{http://java.sun.com/xml/ns/javaee}methodType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface MethodPermissionMetaData
+{
+
+   /**
+    * 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 roleName 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 roleName property.
+    *
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getRoleName().add(newItem);
+    * </pre>
+    *
+    *
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link RoleNameType }
+    *
+    *
+    */
+   List<String> getRoleName();
+
+   /**
+    * Gets the value of the unchecked property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isUnchecked();
+
+   /**
+    * Sets the value of the unchecked property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setUnchecked(boolean value);
+
+   /**
+    * Gets the value of the method 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 method property.
+    *
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getMethod().add(newItem);
+    * </pre>
+    *
+    *
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link MethodMetaData }
+    *
+    *
+    */
+   List<MethodMetaData> getMethod();
+
+   /**
+    * 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/NamedMethodMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/NamedMethodMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/NamedMethodMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,94 @@
+//
+// 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;
+
+/**
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="method-name" type="{http://java.sun.com/xml/ns/javaee}string"/>
+ *         &lt;element name="method-params" type="{http://java.sun.com/xml/ns/javaee}method-paramsType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface NamedMethodMetaData
+{
+
+   /**
+    * Gets the value of the methodName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getMethodName();
+
+   /**
+    * Sets the value of the methodName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setMethodName(String value);
+
+   /**
+    * Gets the value of the methodParams property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodParamsMetaData }
+    *     
+    */
+   MethodParamsMetaData getMethodParams();
+
+   /**
+    * Sets the value of the methodParams property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodParamsMetaData }
+    *     
+    */
+   void setMethodParams(MethodParamsMetaData 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/ParamValueMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ParamValueMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ParamValueMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,128 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	This type is a general type that can be used to declare
+ * 	parameter/value lists.
+ * 
+ *       
+ * 
+ * <p>Java class for param-valueType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="param-valueType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="param-name" type="{http://java.sun.com/xml/ns/javaee}string"/>
+ *         &lt;element name="param-value" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ParamValueMetaData
+{
+
+   /**
+    * 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 paramName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getParamName();
+
+   /**
+    * Sets the value of the paramName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setParamName(String value);
+
+   /**
+    * Gets the value of the paramValue property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getParamValue();
+
+   /**
+    * Sets the value of the paramValue property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setParamValue(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/PersistenceContextRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceContextRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,248 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 	
+ * 
+ * 	  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,
+ *                     the default persistence unit is assumed.
+ * 		  - an optional specification as to whether
+ * 		    the persistence context type is Transaction or
+ * 		    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>
+ *               <persistence-unit-name>PersistenceUnit1
+ *                 </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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="persistence-context-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="persistence-unit-name" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *         &lt;element name="persistence-context-type" type="{http://java.sun.com/xml/ns/javaee}persistence-context-typeType" minOccurs="0"/>
+ *         &lt;element name="persistence-property" type="{http://java.sun.com/xml/ns/javaee}propertyType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface PersistenceContextRefMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getPersistenceContextRefName();
+
+   /**
+    * Sets the value of the persistenceContextRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setPersistenceContextRefName(String value);
+
+   /**
+    * Gets the value of the persistenceUnitName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getPersistenceUnitName();
+
+   /**
+    * Sets the value of the persistenceUnitName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setPersistenceUnitName(String value);
+
+   /**
+    * Gets the value of the persistenceContextType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PersistenceContextTypeType }
+    *     
+    */
+   String getPersistenceContextType();
+
+   /**
+    * Sets the value of the persistenceContextType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PersistenceContextTypeType }
+    *     
+    */
+   void setPersistenceContextType(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<PropertyMetaData> getPersistenceProperty();
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/PersistenceUnitRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceUnitRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PersistenceUnitRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,197 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 	
+ * 
+ * 	  The persistence-unit-ref element contains a declaration
+ * 	  of Deployment Component's reference to a persistence unit
+ * 	  associated within a Deployment Component's
+ * 	  environment. It consists of:
+ * 
+ * 		  - an optional description
+ * 		  - the persistence unit reference name
+ * 		  - an optional persistence unit name.  If not specified,
+ *                     the default persistence unit is assumed.
+ * 		  - optional injection targets
+ * 
+ * 	  Examples:
+ * 
+ *             <persistence-unit-ref>
+ *               <persistence-unit-ref-name>myPersistenceUnit
+ *               </persistence-unit-ref-name>
+ *             </persistence-unit-ref>
+ * 
+ *             <persistence-unit-ref>
+ *               <persistence-unit-ref-name>myPersistenceUnit
+ *                 </persistence-unit-ref-name>
+ *               <persistence-unit-name>PersistenceUnit1
+ *                 </persistence-unit-name>
+ *             </persistence-unit-ref>
+ * 
+ * 	  
+ *       
+ * 
+ * <p>Java class for persistence-unit-refType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="persistence-unit-refType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="persistence-unit-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="persistence-unit-name" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface PersistenceUnitRefMetaData
+{
+
+   /**
+    * 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 persistenceUnitRefName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JndiNameType }
+    *     
+    */
+   String getPersistenceUnitRefName();
+
+   /**
+    * Sets the value of the persistenceUnitRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setPersistenceUnitRefName(String value);
+
+   /**
+    * Gets the value of the persistenceUnitName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getPersistenceUnitName();
+
+   /**
+    * Sets the value of the persistenceUnitName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setPersistenceUnitName(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/PortComponentRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PortComponentRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PortComponentRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,125 @@
+//
+// 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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="service-endpoint-interface" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *         &lt;element name="enable-mtom" type="{http://java.sun.com/xml/ns/javaee}true-falseType" minOccurs="0"/>
+ *         &lt;element name="port-component-link" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface PortComponentRefMetaData
+{
+
+   /**
+    * Gets the value of the serviceEndpointInterface property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getServiceEndpointInterface();
+
+   /**
+    * Sets the value of the serviceEndpointInterface property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setServiceEndpointInterface(String value);
+
+   /**
+    * Gets the value of the enableMtom property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   boolean getEnableMtom();
+
+   /**
+    * Sets the value of the enableMtom property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   void setEnableMtom(boolean value);
+
+   /**
+    * Gets the value of the portComponentLink property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getPortComponentLink();
+
+   /**
+    * Sets the value of the portComponentLink property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setPortComponentLink(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/PropertyMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PropertyMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/PropertyMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,100 @@
+//
+// 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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *         &lt;element name="value" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface PropertyMetaData
+{
+
+   /**
+    * Gets the value of the name property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getName();
+
+   /**
+    * Sets the value of the name property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setName(String value);
+
+   /**
+    * Gets the value of the value property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getValue();
+
+   /**
+    * Sets the value of the value property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   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/QueryMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/QueryMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/QueryMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,161 @@
+//
+// 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 queryType defines a finder or select
+ * 	query. It contains
+ * 	    - an optional description of the query
+ * 	    - the specification of the finder or select
+ * 	      method it is used by
+ * 		- an optional specification of the result type
+ * 		  mapping, if the query is for a select method
+ * 		  and entity objects are returned.
+ * 		- the EJB QL query string that defines the query.
+ * 
+ * 	Queries that are expressible in EJB QL must use the ejb-ql
+ * 	element to specify the query. If a query is not expressible
+ * 	in EJB QL, the description element should be used to
+ * 	describe the semantics of the query and the ejb-ql element
+ * 	should be empty.
+ * 
+ * 	The result-type-mapping is an optional element. It can only
+ * 	be present if the query-method specifies a select method
+ * 	that returns entity objects.  The default value for the
+ * 	result-type-mapping element is "Local".
+ * 
+ *       
+ * 
+ * <p>Java class for queryType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="queryType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" minOccurs="0"/>
+ *         &lt;element name="query-method" type="{http://java.sun.com/xml/ns/javaee}query-methodType"/>
+ *         &lt;element name="result-type-mapping" type="{http://java.sun.com/xml/ns/javaee}result-type-mappingType" minOccurs="0"/>
+ *         &lt;element name="ejb-ql" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface QueryMetaData
+{
+
+   /**
+    * Gets the value of the description property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link DescriptionMetaData }
+    *     
+    */
+   DescriptionMetaData getDescription();
+
+   /**
+    * Sets the value of the description property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link DescriptionMetaData }
+    *     
+    */
+   void setDescription(DescriptionMetaData value);
+
+   /**
+    * Gets the value of the queryMethod property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link QueryMethodMetaData }
+    *     
+    */
+   QueryMethodMetaData getQueryMethod();
+
+   /**
+    * Sets the value of the queryMethod property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link QueryMethodMetaData }
+    *     
+    */
+   void setQueryMethod(QueryMethodMetaData value);
+
+   /**
+    * Gets the value of the resultTypeMapping property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ResultTypeMappingType }
+    *     
+    */
+   String getResultTypeMapping();
+
+   /**
+    * Sets the value of the resultTypeMapping property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ResultTypeMappingType }
+    *     
+    */
+   void setResultTypeMapping(String value);
+
+   /**
+    * Gets the value of the ejbQl property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getEjbQl();
+
+   /**
+    * Sets the value of the ejbQl property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setEjbQl(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/QueryMethodMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/QueryMethodMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/QueryMethodMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,125 @@
+//
+// 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 query-method specifies the method for a finder or select
+ * 	  query.
+ * 
+ * 	  The method-name element specifies the name of a finder or select
+ * 	  method in the entity bean's implementation class.
+ * 
+ * 	  Each method-param must be defined for a query-method using the
+ * 	  method-params element.
+ * 
+ * 	  It is used by the query-method element.
+ * 
+ * 	  Example:
+ * 
+ * 	  <query>
+ * 	      <description>Method finds large orders</description>
+ * 	      <query-method>
+ * 		  <method-name>findLargeOrders</method-name>
+ * 		  <method-params></method-params>
+ * 	      </query-method>
+ * 	      <ejb-ql>
+ * 		SELECT OBJECT(o) FROM Order o
+ * 		  WHERE o.amount &gt; 1000
+ * 	      </ejb-ql>
+ * 	  </query>
+ * 
+ * 	  
+ *       
+ * 
+ * <p>Java class for query-methodType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="query-methodType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="method-name" type="{http://java.sun.com/xml/ns/javaee}method-nameType"/>
+ *         &lt;element name="method-params" type="{http://java.sun.com/xml/ns/javaee}method-paramsType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface QueryMethodMetaData
+{
+
+   /**
+    * Gets the value of the methodName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodNameType }
+    *     
+    */
+   String getMethodName();
+
+   /**
+    * Sets the value of the methodName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodNameType }
+    *     
+    */
+   void setMethodName(String value);
+
+   /**
+    * Gets the value of the methodParams property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodParamsMetaData }
+    *     
+    */
+   MethodParamsMetaData getMethodParams();
+
+   /**
+    * Sets the value of the methodParams property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodParamsMetaData }
+    *     
+    */
+   void setMethodParams(MethodParamsMetaData 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/RelationshipRoleSourceMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RelationshipRoleSourceMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RelationshipRoleSourceMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,110 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The relationship-role-sourceType designates the source of a
+ * 	role that participates in a relationship. A
+ * 	relationship-role-sourceType is used by
+ * 	relationship-role-source elements to uniquely identify an
+ * 	entity bean.
+ * 
+ *       
+ * 
+ * <p>Java class for relationship-role-sourceType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="relationship-role-sourceType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface RelationshipRoleSourceMetaData
+{
+
+   /**
+    * 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 ejbName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbNameType }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbNameType }
+    *     
+    */
+   void setEjbName(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/RelationshipsMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RelationshipsMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RelationshipsMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,114 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The relationshipsType describes the relationships in
+ * 	which entity beans with container-managed persistence
+ * 	participate. The relationshipsType contains an optional
+ * 	description; and a list of ejb-relation elements, which
+ * 	specify the container managed relationships.
+ * 
+ *       
+ * 
+ * <p>Java class for relationshipsType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="relationshipsType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-relation" type="{http://java.sun.com/xml/ns/javaee}ejb-relationType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface RelationshipsMetaData
+{
+
+   /**
+    * 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 ejbRelation 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 ejbRelation property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getEjbRelation().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link EjbRelationMetaData }
+    * 
+    * 
+    */
+   List<EjbRelationMetaData> getEjbRelation();
+
+   /**
+    * 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/RemoveMethodMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RemoveMethodMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RemoveMethodMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,94 @@
+//
+// 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;
+
+/**
+ * <p>Java class for remove-methodType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="remove-methodType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="bean-method" type="{http://java.sun.com/xml/ns/javaee}named-methodType"/>
+ *         &lt;element name="retain-if-exception" type="{http://java.sun.com/xml/ns/javaee}true-falseType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface RemoveMethodMetaData
+{
+
+   /**
+    * Gets the value of the beanMethod property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   NamedMethodMetaData getBeanMethod();
+
+   /**
+    * Sets the value of the beanMethod property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   void setBeanMethod(NamedMethodMetaData value);
+
+   /**
+    * Gets the value of the retainIfException property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   boolean getRetainIfException();
+
+   /**
+    * Sets the value of the retainIfException property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TrueFalseType }
+    *     
+    */
+   void setRetainIfException(boolean 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/ResourceEnvRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceEnvRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceEnvRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,199 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 	
+ * 
+ * 	  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
+ * 	  associated with a resource in the Deployment Component's
+ * 	  environment.  It consists of an optional description, the
+ * 	  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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="resource-env-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="resource-env-ref-type" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &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 }
+    *     
+    */
+   String getResourceEnvRefName();
+
+   /**
+    * Sets the value of the resourceEnvRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setResourceEnvRefName(String value);
+
+   /**
+    * Gets the value of the resourceEnvRefType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getResourceEnvRefType();
+
+   /**
+    * Sets the value of the resourceEnvRefType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setResourceEnvRefType(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/ResourceRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ResourceRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,242 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 	
+ * 
+ * 	  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
+ * 	  connection factory reference name, an optional indication of
+ * 	  the resource manager connection factory type expected by the
+ * 	  Deployment Component code, an optional type of authentication
+ * 	  (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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="res-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="res-type" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;element name="res-auth" type="{http://java.sun.com/xml/ns/javaee}res-authType" minOccurs="0"/>
+ *         &lt;element name="res-sharing-scope" type="{http://java.sun.com/xml/ns/javaee}res-sharing-scopeType" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ResourceRefMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getResRefName();
+
+   /**
+    * Sets the value of the resRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setResRefName(String value);
+
+   /**
+    * Gets the value of the resType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getResType();
+
+   /**
+    * Sets the value of the resType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setResType(String value);
+
+   /**
+    * Gets the value of the resAuth property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ResAuthType }
+    *     
+    */
+   String getResAuth();
+
+   /**
+    * Sets the value of the resAuth property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ResAuthType }
+    *     
+    */
+   void setResAuth(String value);
+
+   /**
+    * Gets the value of the resSharingScope property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ResSharingScopeType }
+    *     
+    */
+   String getResSharingScope();
+
+   /**
+    * Sets the value of the resSharingScope property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ResSharingScopeType }
+    *     
+    */
+   void setResSharingScope(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/RunAsMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RunAsMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/RunAsMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,108 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The run-asType specifies the run-as identity to be
+ * 	used for the execution of a component. It contains an
+ * 	optional description, and the name of a security role.
+ * 
+ *       
+ * 
+ * <p>Java class for run-asType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="run-asType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="role-name" type="{http://java.sun.com/xml/ns/javaee}role-nameType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface RunAsMetaData
+{
+
+   /**
+    * 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 roleName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RoleNameType }
+    *     
+    */
+   String getRoleName();
+
+   /**
+    * Sets the value of the roleName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RoleNameType }
+    *     
+    */
+   void setRoleName(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/SecurityIdentityMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityIdentityMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityIdentityMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,133 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ *
+ *
+ * 	The security-identityType specifies whether the caller's
+ * 	security identity is to be used for the execution of the
+ * 	methods of the enterprise bean or whether a specific run-as
+ * 	identity is to be used. It contains an optional description
+ * 	and a specification of the security identity to be used.
+ *
+ *
+ *
+ * <p>Java class for security-identityType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="security-identityType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;choice>
+ *           &lt;element name="use-caller-identity" type="{http://java.sun.com/xml/ns/javaee}emptyType"/>
+ *           &lt;element name="run-as" type="{http://java.sun.com/xml/ns/javaee}run-asType"/>
+ *         &lt;/choice>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface SecurityIdentityMetaData
+{
+
+   /**
+    * 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 useCallerIdentity property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isUseCallerIdentity();
+
+   /**
+    * Sets the value of the useCallerIdentity property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setUseCallerIdentity(boolean value);
+
+   /**
+    * Gets the value of the runAs property.
+    *
+    * @return
+    *     possible object is
+    *     {@link RunAsMetaData }
+    *
+    */
+   RunAsMetaData getRunAs();
+
+   /**
+    * Sets the value of the runAs property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link RunAsMetaData }
+    *
+    */
+   void setRunAs(RunAsMetaData 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/SecurityRoleMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityRoleMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityRoleMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,120 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 	
+ * 
+ * 	  The security-roleType contains the definition of a security
+ * 	  role. The definition consists of an optional description of
+ * 	  the security role, and the security role name.
+ * 
+ * 	  Example:
+ * 
+ * 	      <security-role>
+ * 	      <description>
+ * 		  This role includes all employees who are authorized
+ * 		  to access the employee service application.
+ * 	      </description>
+ * 	      <role-name>employee</role-name>
+ * 	      </security-role>
+ * 
+ * 	  
+ *       
+ * 
+ * <p>Java class for security-roleType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="security-roleType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="role-name" type="{http://java.sun.com/xml/ns/javaee}role-nameType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface SecurityRoleMetaData
+{
+
+   /**
+    * 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 roleName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RoleNameType }
+    *     
+    */
+   String getRoleName();
+
+   /**
+    * Sets the value of the roleName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RoleNameType }
+    *     
+    */
+   void setRoleName(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/SecurityRoleRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityRoleRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SecurityRoleRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,133 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	The security-role-refType contains the declaration of a
+ * 	security role reference in a component's or a
+ * 	Deployment Component's code. The declaration consists of an
+ * 	optional description, the security role name used in the
+ * 	code, and an optional link to a security role. If the
+ * 	security role is not specified, the Deployer must choose an
+ * 	appropriate security role.
+ * 
+ *       
+ * 
+ * <p>Java class for security-role-refType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="security-role-refType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="role-name" type="{http://java.sun.com/xml/ns/javaee}role-nameType"/>
+ *         &lt;element name="role-link" type="{http://java.sun.com/xml/ns/javaee}role-nameType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface SecurityRoleRefMetaData
+{
+
+   /**
+    * 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 roleName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RoleNameType }
+    *     
+    */
+   String getRoleName();
+
+   /**
+    * Sets the value of the roleName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RoleNameType }
+    *     
+    */
+   void setRoleName(String value);
+
+   /**
+    * Gets the value of the roleLink property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RoleNameType }
+    *     
+    */
+   String getRoleLink();
+
+   /**
+    * Sets the value of the roleLink property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RoleNameType }
+    *     
+    */
+   void setRoleLink(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/ServiceRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,385 @@
+//
+// 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;
+
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+/**
+ * 
+ * 
+ * 	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,
+ * 	an optional WSDL document location, an optional set
+ * 	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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="service-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="service-interface" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *         &lt;element name="service-ref-type" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;element name="wsdl-file" type="{http://java.sun.com/xml/ns/javaee}xsdAnyURIType" minOccurs="0"/>
+ *         &lt;element name="jaxrpc-mapping-file" type="{http://java.sun.com/xml/ns/javaee}pathType" minOccurs="0"/>
+ *         &lt;element name="service-qname" type="{http://java.sun.com/xml/ns/javaee}xsdQNameType" minOccurs="0"/>
+ *         &lt;element name="port-component-ref" type="{http://java.sun.com/xml/ns/javaee}port-component-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;choice>
+ *           &lt;element name="handler" type="{http://java.sun.com/xml/ns/javaee}service-ref_handlerType" maxOccurs="unbounded" minOccurs="0"/>
+ *           &lt;element name="handler-chains" type="{http://java.sun.com/xml/ns/javaee}service-ref_handler-chainsType" minOccurs="0"/>
+ *         &lt;/choice>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ServiceRefMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getServiceRefName();
+
+   /**
+    * Sets the value of the serviceRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setServiceRefName(String value);
+
+   /**
+    * Gets the value of the serviceInterface property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getServiceInterface();
+
+   /**
+    * Sets the value of the serviceInterface property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setServiceInterface(String value);
+
+   /**
+    * Gets the value of the serviceRefType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getServiceRefType();
+
+   /**
+    * Sets the value of the serviceRefType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setServiceRefType(String value);
+
+   /**
+    * Gets the value of the wsdlFile property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdAnyURIType }
+    *     
+    */
+   String getWsdlFile();
+
+   /**
+    * Sets the value of the wsdlFile property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdAnyURIType }
+    *     
+    */
+   void setWsdlFile(String value);
+
+   /**
+    * Gets the value of the jaxrpcMappingFile property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PathType }
+    *     
+    */
+   String getJaxrpcMappingFile();
+
+   /**
+    * Sets the value of the jaxrpcMappingFile property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PathType }
+    *     
+    */
+   void setJaxrpcMappingFile(String value);
+
+   /**
+    * Gets the value of the serviceQname property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdQNameType }
+    *     
+    */
+   QName getServiceQname();
+
+   /**
+    * Sets the value of the serviceQname property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdQNameType }
+    *     
+    */
+   void setServiceQname(QName value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<PortComponentRefMetaData> getPortComponentRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ServiceRef_HandlerMetaData> getHandler();
+
+   /**
+    * Gets the value of the handlerChains property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ServiceRef_HandlerChainsMetaData }
+    *     
+    */
+   ServiceRef_HandlerChainsMetaData getHandlerChains();
+
+   /**
+    * Sets the value of the handlerChains property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ServiceRef_HandlerChainsMetaData }
+    *     
+    */
+   void setHandlerChains(ServiceRef_HandlerChainsMetaData value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * 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/ServiceRef_HandlerChainMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerChainMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerChainMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,163 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ *       The handler-chain element defines the handlerchain.
+ *       Handlerchain can be defined such that the handlers in the
+ *       handlerchain operate,all ports of a service, on a specific
+ *       port or on a list of protocol-bindings. The choice of elements
+ *       service-name-pattern, port-name-pattern and protocol-bindings
+ *       are used to specify whether the handlers in handler-chain are
+ *       for a service, port or protocol binding. If none of these
+ *       choices are specified with the handler-chain element then the
+ *       handlers specified in the handler-chain will be applied on
+ *       everything.
+ * 
+ *       
+ * 
+ * <p>Java class for service-ref_handler-chainType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="service-ref_handler-chainType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;choice minOccurs="0">
+ *           &lt;element name="service-name-pattern" type="{http://java.sun.com/xml/ns/javaee}service-ref_qname-pattern"/>
+ *           &lt;element name="port-name-pattern" type="{http://java.sun.com/xml/ns/javaee}service-ref_qname-pattern"/>
+ *           &lt;element name="protocol-bindings" type="{http://java.sun.com/xml/ns/javaee}service-ref_protocol-bindingListType"/>
+ *         &lt;/choice>
+ *         &lt;element name="handler" type="{http://java.sun.com/xml/ns/javaee}service-ref_handlerType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ServiceRef_HandlerChainMetaData
+{
+
+   /**
+    * Gets the value of the serviceNamePattern property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link java.lang.String }
+    *     
+    */
+   java.lang.String getServiceNamePattern();
+
+   /**
+    * Sets the value of the serviceNamePattern property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link java.lang.String }
+    *     
+    */
+   void setServiceNamePattern(java.lang.String value);
+
+   /**
+    * Gets the value of the portNamePattern property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link java.lang.String }
+    *     
+    */
+   java.lang.String getPortNamePattern();
+
+   /**
+    * Sets the value of the portNamePattern property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link java.lang.String }
+    *     
+    */
+   void setPortNamePattern(java.lang.String value);
+
+   /**
+    * Gets the value of the protocolBindings 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 protocolBindings property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getProtocolBindings().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link java.lang.String }
+    * 
+    * 
+    */
+   List<java.lang.String> getProtocolBindings();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ServiceRef_HandlerMetaData> getHandler();
+
+   /**
+    * 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/ServiceRef_HandlerChainsMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerChainsMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerChainsMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,86 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ *       The handler-chains element defines the handlerchains associated with this
+ *       service or service endpoint.
+ * 
+ *       
+ * 
+ * <p>Java class for service-ref_handler-chainsType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="service-ref_handler-chainsType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="handler-chain" type="{http://java.sun.com/xml/ns/javaee}service-ref_handler-chainType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ServiceRef_HandlerChainsMetaData
+{
+
+   /**
+    * Gets the value of the handlerChain 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 handlerChain property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getHandlerChain().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link ServiceRef_HandlerChainMetaData }
+    * 
+    * 
+    */
+   List<ServiceRef_HandlerChainMetaData> getHandlerChain();
+
+   /**
+    * 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/ServiceRef_HandlerMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/ServiceRef_HandlerMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,282 @@
+//
+// 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;
+
+import java.util.List;
+
+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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="handler-name" type="{http://java.sun.com/xml/ns/javaee}string"/>
+ *         &lt;element name="handler-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *         &lt;element name="init-param" type="{http://java.sun.com/xml/ns/javaee}param-valueType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="soap-header" type="{http://java.sun.com/xml/ns/javaee}xsdQNameType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="soap-role" type="{http://java.sun.com/xml/ns/javaee}string" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="port-name" type="{http://java.sun.com/xml/ns/javaee}string" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ServiceRef_HandlerMetaData
+{
+
+   /**
+    * 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);
+
+}

Added: 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	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/javaee/SessionBeanMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,906 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * 	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
+ * 	      icon file name
+ * 	    - a name assigned to the enterprise bean
+ * 	      in the deployment description
+ *             - an optional mapped-name element that can be used to provide
+ *               vendor-specific deployment information such as the physical
+ *               jndi-name of the session bean's remote home/business interface.
+ *               This element is not required to be supported by all
+ *               implementations. Any use of this element is non-portable.
+ *             - the names of all the remote or local business interfaces,
+ *               if any
+ * 	    - the names of the session bean's remote home and
+ * 	      remote interfaces, if any
+ * 	    - the names of the session bean's local home and
+ * 	      local interfaces, if any
+ * 	    - the name of the session bean's web service endpoint
+ * 	      interface, if any
+ * 	    - the session bean's implementation class
+ * 	    - the session bean's state management type
+ *             - an optional declaration of the session bean's timeout method.
+ * 	    - the optional session bean's transaction management type.
+ *               If it is not present, it is defaulted to Container.
+ *             - an optional list of the session bean class and/or
+ *               superclass around-invoke methods.
+ * 	    - an optional declaration of the bean's
+ * 	      environment entries
+ * 	    - an optional declaration of the bean's EJB references
+ * 	    - an optional declaration of the bean's local
+ * 	      EJB references
+ * 	    - an optional declaration of the bean's web
+ * 	      service references
+ * 	    - an optional declaration of the security role
+ * 	      references
+ * 	    - an optional declaration of the security identity
+ * 	      to be used for the execution of the bean's methods
+ * 	    - an optional declaration of the bean's resource
+ * 	      manager connection factory references
+ * 	    - an optional declaration of the bean's resource
+ * 	      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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;element name="home" type="{http://java.sun.com/xml/ns/javaee}homeType" minOccurs="0"/>
+ *         &lt;element name="remote" type="{http://java.sun.com/xml/ns/javaee}remoteType" minOccurs="0"/>
+ *         &lt;element name="local-home" type="{http://java.sun.com/xml/ns/javaee}local-homeType" minOccurs="0"/>
+ *         &lt;element name="local" type="{http://java.sun.com/xml/ns/javaee}localType" minOccurs="0"/>
+ *         &lt;element name="business-local" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="business-remote" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="service-endpoint" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;element name="ejb-class" type="{http://java.sun.com/xml/ns/javaee}ejb-classType" minOccurs="0"/>
+ *         &lt;element name="session-type" type="{http://java.sun.com/xml/ns/javaee}session-typeType" minOccurs="0"/>
+ *         &lt;element name="timeout-method" type="{http://java.sun.com/xml/ns/javaee}named-methodType" minOccurs="0"/>
+ *         &lt;element name="init-method" type="{http://java.sun.com/xml/ns/javaee}init-methodType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="remove-method" type="{http://java.sun.com/xml/ns/javaee}remove-methodType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="transaction-type" type="{http://java.sun.com/xml/ns/javaee}transaction-typeType" minOccurs="0"/>
+ *         &lt;element name="around-invoke" type="{http://java.sun.com/xml/ns/javaee}around-invokeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;group ref="{http://java.sun.com/xml/ns/javaee}jndiEnvironmentRefsGroup"/>
+ *         &lt;element name="post-activate" type="{http://java.sun.com/xml/ns/javaee}lifecycle-callbackType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="pre-passivate" type="{http://java.sun.com/xml/ns/javaee}lifecycle-callbackType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="security-role-ref" type="{http://java.sun.com/xml/ns/javaee}security-role-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="security-identity" type="{http://java.sun.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface SessionBeanMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbNameType }
+    *     
+    */
+   void setEjbName(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * Gets the value of the home property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link HomeType }
+    *     
+    */
+   String getHome();
+
+   /**
+    * Sets the value of the home property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link HomeType }
+    *     
+    */
+   void setHome(String value);
+
+   /**
+    * Gets the value of the remote property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RemoteType }
+    *     
+    */
+   String getRemote();
+
+   /**
+    * Sets the value of the remote property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RemoteType }
+    *     
+    */
+   void setRemote(String value);
+
+   /**
+    * Gets the value of the localHome property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LocalHomeType }
+    *     
+    */
+   String getLocalHome();
+
+   /**
+    * Sets the value of the localHome property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LocalHomeType }
+    *     
+    */
+   void setLocalHome(String value);
+
+   /**
+    * Gets the value of the local property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LocalType }
+    *     
+    */
+   String getLocal();
+
+   /**
+    * Sets the value of the local property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LocalType }
+    *     
+    */
+   void setLocal(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<String> getBusinessLocal();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<String> getBusinessRemote();
+
+   /**
+    * Gets the value of the serviceEndpoint property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getServiceEndpoint();
+
+   /**
+    * Sets the value of the serviceEndpoint property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setServiceEndpoint(String value);
+
+   /**
+    * Gets the value of the ejbClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbClassType }
+    *     
+    */
+   String getEjbClass();
+
+   /**
+    * Sets the value of the ejbClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbClassType }
+    *     
+    */
+   void setEjbClass(String value);
+
+   /**
+    * Gets the value of the sessionType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link SessionTypeType }
+    *     
+    */
+   String getSessionType();
+
+   /**
+    * Sets the value of the sessionType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link SessionTypeType }
+    *     
+    */
+   void setSessionType(String value);
+
+   /**
+    * Gets the value of the timeoutMethod property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   NamedMethodMetaData getTimeoutMethod();
+
+   /**
+    * Sets the value of the timeoutMethod property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link NamedMethodMetaData }
+    *     
+    */
+   void setTimeoutMethod(NamedMethodMetaData value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<InitMethodMetaData> getInitMethod();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<RemoveMethodMetaData> getRemoveMethod();
+
+   /**
+    * Gets the value of the transactionType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TransactionTypeType }
+    *     
+    */
+   String getTransactionType();
+
+   /**
+    * Sets the value of the transactionType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TransactionTypeType }
+    *     
+    */
+   void setTransactionType(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<AroundInvokeMetaData> getAroundInvoke();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EnvEntryMetaData> getEnvEntry();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EjbRefMetaData> getEjbRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<EjbLocalRefMetaData> getEjbLocalRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ServiceRefMetaData> getServiceRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ResourceRefMetaData> getResourceRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ResourceEnvRefMetaData> getResourceEnvRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<PersistenceContextRefMetaData> getPersistenceContextRef();
+
+   /**
+    * 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/jboss/AnnotationMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/AnnotationMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/AnnotationMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,177 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.InjectionTargetMetaData;
+
+/**
+ * 
+ * 
+ *             The annotationType is used to add annotations to a bean class,
+ *             method, or field.
+ * 
+ *          
+ * 
+ * <p>Java class for annotationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="annotationType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="annotation-class" type="{http://www.jboss.com/xml/ns/javaee}annotation-classType"/>
+ *         &lt;element name="annotation-implementation-class" type="{http://www.jboss.com/xml/ns/javaee}annotation-classType"/>
+ *         &lt;element name="injection-target" type="{http://www.jboss.com/xml/ns/javaee}injection-targetType" minOccurs="0"/>
+ *         &lt;element name="property" type="{http://www.jboss.com/xml/ns/javaee}annotation-propertyType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface AnnotationMetaData
+{
+
+   /**
+    * 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 annotationClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link AnnotationClassType }
+    *     
+    */
+   String getAnnotationClass();
+
+   /**
+    * Sets the value of the annotationClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link AnnotationClassType }
+    *     
+    */
+   void setAnnotationClass(String value);
+
+   /**
+    * Gets the value of the annotationImplementationClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link AnnotationClassType }
+    *     
+    */
+   String getAnnotationImplementationClass();
+
+   /**
+    * Sets the value of the annotationImplementationClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link AnnotationClassType }
+    *     
+    */
+   void setAnnotationImplementationClass(String value);
+
+   /**
+    * Gets the value of the injectionTarget property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link InjectionTargetMetaData }
+    *     
+    */
+   InjectionTargetMetaData getInjectionTarget();
+
+   /**
+    * Sets the value of the injectionTarget property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link InjectionTargetMetaData }
+    *     
+    */
+   void setInjectionTarget(InjectionTargetMetaData value);
+
+   /**
+    * Gets the value of the property 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 property property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getProperty().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link AnnotationPropertyMetaData }
+    * 
+    * 
+    */
+   List<AnnotationPropertyMetaData> getProperty();
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/AnnotationPropertyMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/AnnotationPropertyMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/AnnotationPropertyMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,129 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+
+/**
+ * 
+ * 
+ *             Used to set property values for annotations
+ * 
+ *          
+ * 
+ * <p>Java class for annotation-propertyType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="annotation-propertyType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="property-name" type="{http://java.sun.com/xml/ns/javaee}string"/>
+ *         &lt;element name="property-value" type="{http://java.sun.com/xml/ns/javaee}string"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface AnnotationPropertyMetaData
+{
+
+   /**
+    * 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 propertyName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getPropertyName();
+
+   /**
+    * Sets the value of the propertyName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setPropertyName(String value);
+
+   /**
+    * Gets the value of the propertyValue property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getPropertyValue();
+
+   /**
+    * Sets the value of the propertyValue property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setPropertyValue(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/jboss/CacheConfigMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/CacheConfigMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/CacheConfigMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,182 @@
+//
+// 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;
+
+/**
+ * Element for specifying the class used to provide the caching mechanism for a bean,
+ *             and the cache parameters
+ *          
+ * 
+ * <p>Java class for cache-configType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="cache-configType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="cache-value" type="{http://www.jboss.com/xml/ns/javaee}cache-valueType" minOccurs="0"/>
+ *         &lt;element name="cache-max-size" type="{http://www.jboss.com/xml/ns/javaee}cache-max-sizeType" minOccurs="0"/>
+ *         &lt;element name="idle-timeout-seconds" type="{http://www.jboss.com/xml/ns/javaee}idle-timeout-secondsType" minOccurs="0"/>
+ *         &lt;element name="remove-timeout-seconds" type="{http://www.jboss.com/xml/ns/javaee}remove-timeout-secondsType" minOccurs="0"/>
+ *         &lt;element name="cache-name" type="{http://www.jboss.com/xml/ns/javaee}cache-nameType" minOccurs="0"/>
+ *         &lt;element name="persistence-manager" type="{http://www.jboss.com/xml/ns/javaee}persistence-managerType" minOccurs="0"/>
+ *         &lt;element name="replication-is-passivation" type="{http://www.jboss.com/xml/ns/javaee}replication-is-passivationType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface CacheConfigMetaData
+{
+
+   /**
+    * Gets the value of the cacheValue property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link CacheValueType }
+    *     
+    */
+   String getCacheValue();
+
+   /**
+    * Sets the value of the cacheValue property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link CacheValueType }
+    *     
+    */
+   void setCacheValue(String value);
+
+   /**
+    * Gets the value of the cacheMaxSize property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link CacheMaxSizeType }
+    *     
+    */
+   int getCacheMaxSize();
+
+   /**
+    * Sets the value of the cacheMaxSize property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link CacheMaxSizeType }
+    *     
+    */
+   void setCacheMaxSize(int value);
+
+   /**
+    * Gets the value of the idleTimeoutSeconds property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link IdleTimeoutSecondsType }
+    *     
+    */
+   long getIdleTimeoutSeconds();
+
+   /**
+    * Sets the value of the idleTimeoutSeconds property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link IdleTimeoutSecondsType }
+    *     
+    */
+   void setIdleTimeoutSeconds(long value);
+
+   /**
+    * Gets the value of the removeTimeoutSeconds property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RemoveTimeoutSecondsType }
+    *     
+    */
+   long getRemoveTimeoutSeconds();
+
+   /**
+    * Sets the value of the removeTimeoutSeconds property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RemoveTimeoutSecondsType }
+    *     
+    */
+   void setRemoveTimeoutSeconds(long value);
+
+   /**
+    * Gets the value of the cacheName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link CacheNameType }
+    *     
+    */
+   String getCacheName();
+
+   /**
+    * Sets the value of the cacheName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link CacheNameType }
+    *     
+    */
+   void setCacheName(String value);
+
+   /**
+    * Gets the value of the persistenceManager property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PersistenceManagerType }
+    *     
+    */
+   String getPersistenceManager();
+
+   /**
+    * Sets the value of the persistenceManager property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PersistenceManagerType }
+    *     
+    */
+   void setPersistenceManager(String value);
+
+   /**
+    * Gets the value of the replicationIsPassivation property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ReplicationIsPassivationType }
+    *     
+    */
+   String getReplicationIsPassivation();
+
+   /**
+    * Sets the value of the replicationIsPassivation property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ReplicationIsPassivationType }
+    *     
+    */
+   void setReplicationIsPassivation(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/CallPropertyMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/CallPropertyMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/CallPropertyMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,73 @@
+//
+// 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;
+
+/**
+ * <p>Java class for call-propertyType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="call-propertyType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="prop-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="prop-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface CallPropertyMetaData
+{
+
+   /**
+    * Gets the value of the propName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getPropName();
+
+   /**
+    * Sets the value of the propName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setPropName(String value);
+
+   /**
+    * Gets the value of the propValue property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getPropValue();
+
+   /**
+    * Sets the value of the propValue property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setPropValue(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ClusterConfigMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ClusterConfigMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ClusterConfigMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,191 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+
+/**
+ *  The cluster-config element allows to specify cluster specific settings.
+ *          
+ * 
+ * <p>Java class for cluster-configType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="cluster-configType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="partition-name" type="{http://www.jboss.com/xml/ns/javaee}partition-nameType" minOccurs="0"/>
+ *         &lt;element name="home-load-balance-policy" type="{http://www.jboss.com/xml/ns/javaee}load-balance-policyType" minOccurs="0"/>
+ *         &lt;choice>
+ *           &lt;element name="bean-load-balance-policy" type="{http://www.jboss.com/xml/ns/javaee}bean-load-balance-policyType" minOccurs="0"/>
+ *           &lt;element name="load-balance-policy" type="{http://www.jboss.com/xml/ns/javaee}load-balance-policyType" minOccurs="0"/>
+ *         &lt;/choice>
+ *         &lt;element name="session-state-manager-jndi-name" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ClusterConfigMetaData
+{
+
+   /**
+    * 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 partitionName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PartitionNameType }
+    *     
+    */
+   String getPartitionName();
+
+   /**
+    * Sets the value of the partitionName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PartitionNameType }
+    *     
+    */
+   void setPartitionName(String value);
+
+   /**
+    * Gets the value of the homeLoadBalancePolicy property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LoadBalancePolicyType }
+    *     
+    */
+   String getHomeLoadBalancePolicy();
+
+   /**
+    * Sets the value of the homeLoadBalancePolicy property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LoadBalancePolicyType }
+    *     
+    */
+   void setHomeLoadBalancePolicy(String value);
+
+   /**
+    * Gets the value of the beanLoadBalancePolicy property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link BeanLoadBalancePolicyType }
+    *     
+    */
+   String getBeanLoadBalancePolicy();
+
+   /**
+    * Sets the value of the beanLoadBalancePolicy property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link BeanLoadBalancePolicyType }
+    *     
+    */
+   void setBeanLoadBalancePolicy(String value);
+
+   /**
+    * Gets the value of the loadBalancePolicy property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LoadBalancePolicyType }
+    *     
+    */
+   String getLoadBalancePolicy();
+
+   /**
+    * Sets the value of the loadBalancePolicy property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LoadBalancePolicyType }
+    *     
+    */
+   void setLoadBalancePolicy(String value);
+
+   /**
+    * Gets the value of the sessionStateManagerJndiName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getSessionStateManagerJndiName();
+
+   /**
+    * Sets the value of the sessionStateManagerJndiName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setSessionStateManagerJndiName(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/jboss/ConsumerBeanMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ConsumerBeanMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ConsumerBeanMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,663 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.ActivationConfigMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.DisplayNameMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.IconType;
+
+/**
+ *  The consumer element holds all of the information specific about a
+ *             consumer bean which is a JBoss proprietary extension to EJB3 for sending JMS messages via
+ *             standard Java interfaces. Used in: enterprise-beans 
+ * 
+ * <p>Java class for consumer-beanType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="consumer-beanType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="ejb-class" type="{http://java.sun.com/xml/ns/javaee}ejb-classType"/>
+ *         &lt;element name="message-destination" type="{http://www.jboss.com/xml/ns/javaee}consumer-message-destinationType"/>
+ *         &lt;element name="message-destination-type" type="{http://java.sun.com/xml/ns/javaee}message-destination-typeType"/>
+ *         &lt;element name="producer" type="{http://www.jboss.com/xml/ns/javaee}producerType" maxOccurs="unbounded"/>
+ *         &lt;element name="local-producer" type="{http://www.jboss.com/xml/ns/javaee}producerType" maxOccurs="unbounded"/>
+ *         &lt;element name="current-message" type="{http://www.jboss.com/xml/ns/javaee}method-attributesType"/>
+ *         &lt;element name="message-properties" type="{http://www.jboss.com/xml/ns/javaee}message-propertiesType" maxOccurs="unbounded"/>
+ *         &lt;element name="ejb-ref" type="{http://www.jboss.com/xml/ns/javaee}ejb-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-local-ref" type="{http://www.jboss.com/xml/ns/javaee}ejb-local-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="security-identity" type="{http://www.jboss.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *         &lt;element name="resource-ref" type="{http://www.jboss.com/xml/ns/javaee}resource-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="resource-env-ref" type="{http://www.jboss.com/xml/ns/javaee}resource-env-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="message-destination-ref" type="{http://www.jboss.com/xml/ns/javaee}message-destination-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="security-domain" type="{http://www.jboss.com/xml/ns/javaee}security-domainType" minOccurs="0"/>
+ *         &lt;element name="method-attributes" type="{http://www.jboss.com/xml/ns/javaee}method-attributesType" minOccurs="0"/>
+ *         &lt;element name="depends" type="{http://www.jboss.com/xml/ns/javaee}dependsType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="annotation" type="{http://www.jboss.com/xml/ns/javaee}annotationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ignore-dependency" type="{http://www.jboss.com/xml/ns/javaee}ignore-dependencyType" minOccurs="0"/>
+ *         &lt;element name="aop-domain-name" type="{http://www.jboss.com/xml/ns/javaee}aop-domain-nameType" minOccurs="0"/>
+ *         &lt;element name="pool-config" type="{http://www.jboss.com/xml/ns/javaee}pool-configType" minOccurs="0"/>
+ *         &lt;element name="jndi-ref" type="{http://www.jboss.com/xml/ns/javaee}jndi-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="activation-config" type="{http://www.jboss.com/xml/ns/javaee}activation-configType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ConsumerBeanMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbNameType }
+    *     
+    */
+   void setEjbName(String value);
+
+   /**
+    * Gets the value of the ejbClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbClassType }
+    *     
+    */
+   String getEjbClass();
+
+   /**
+    * Sets the value of the ejbClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbClassType }
+    *     
+    */
+   void setEjbClass(String value);
+
+   /**
+    * Gets the value of the messageDestination property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ConsumerMessageDestinationType }
+    *     
+    */
+   String getMessageDestination();
+
+   /**
+    * Sets the value of the messageDestination property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ConsumerMessageDestinationType }
+    *     
+    */
+   void setMessageDestination(String value);
+
+   /**
+    * Gets the value of the messageDestinationType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MessageDestinationTypeType }
+    *     
+    */
+   String getMessageDestinationType();
+
+   /**
+    * Sets the value of the messageDestinationType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MessageDestinationTypeType }
+    *     
+    */
+   void setMessageDestinationType(String value);
+
+   /**
+    * Gets the value of the producer 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 producer property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getProducer().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link JBossProducerMetaData }
+    * 
+    * 
+    */
+   List<JBossProducerMetaData> getProducer();
+
+   /**
+    * Gets the value of the localProducer 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 localProducer property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getLocalProducer().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link JBossProducerMetaData }
+    * 
+    * 
+    */
+   List<JBossProducerMetaData> getLocalProducer();
+
+   /**
+    * Gets the value of the currentMessage property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodAttributesMetaData }
+    *     
+    */
+   MethodAttributesMetaData getCurrentMessage();
+
+   /**
+    * Sets the value of the currentMessage property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodAttributesMetaData }
+    *     
+    */
+   void setCurrentMessage(MethodAttributesMetaData value);
+
+   /**
+    * Gets the value of the messageProperties 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 messageProperties property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getMessageProperties().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link MessagePropertiesMetaData }
+    * 
+    * 
+    */
+   List<MessagePropertiesMetaData> getMessageProperties();
+
+   /**
+    * 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 JBossEjbRefMetaData }
+    * 
+    * 
+    */
+   List<JBossEjbRefMetaData> getEjbRef();
+
+   /**
+    * 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 JBossEjbLocalRefMetaData }
+    * 
+    * 
+    */
+   List<JBossEjbLocalRefMetaData> getEjbLocalRef();
+
+   /**
+    * Gets the value of the securityIdentity property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JBossSecurityIdentityMetaData }
+    *     
+    */
+   JBossSecurityIdentityMetaData getSecurityIdentity();
+
+   /**
+    * Sets the value of the securityIdentity property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JBossSecurityIdentityMetaData }
+    *     
+    */
+   void setSecurityIdentity(JBossSecurityIdentityMetaData value);
+
+   /**
+    * 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 JBossResourceRefMetaData }
+    * 
+    * 
+    */
+   List<JBossResourceRefMetaData> getResourceRef();
+
+   /**
+    * 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 JBossResourceEnvRefMetaData }
+    * 
+    * 
+    */
+   List<JBossResourceEnvRefMetaData> getResourceEnvRef();
+
+   /**
+    * 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 JBossMessageDestinationRefMetaData }
+    * 
+    * 
+    */
+   List<JBossMessageDestinationRefMetaData> getMessageDestinationRef();
+
+   /**
+    * 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 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 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 activationConfig property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ActivationConfigMetaData }
+    *     
+    */
+   ActivationConfigMetaData getActivationConfig();
+
+   /**
+    * Sets the value of the activationConfig property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ActivationConfigMetaData }
+    *     
+    */
+   void setActivationConfig(ActivationConfigMetaData value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/GenericBeanMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/GenericBeanMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/GenericBeanMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,745 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.DisplayNameMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.IconType;
+import org.jboss.ejb3.metadata.spi.javaee.LifecycleCallbackMetaData;
+
+/**
+ * <p>Java class for generic-beanType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="generic-beanType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}jndiEnvironmentRefsGroup"/>
+ *         &lt;element name="security-identity" type="{http://www.jboss.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *         &lt;element name="jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="home-jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="local-jndi-name" type="{http://www.jboss.com/xml/ns/javaee}local-jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="local-home-jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="jndi-binding-policy" type="{http://www.jboss.com/xml/ns/javaee}jndi-binding-policyType" minOccurs="0"/>
+ *         &lt;element name="security-domain" type="{http://www.jboss.com/xml/ns/javaee}security-domainType" minOccurs="0"/>
+ *         &lt;element name="method-attributes" type="{http://www.jboss.com/xml/ns/javaee}method-attributesType" minOccurs="0"/>
+ *         &lt;element name="depends" type="{http://www.jboss.com/xml/ns/javaee}dependsType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="annotation" type="{http://www.jboss.com/xml/ns/javaee}annotationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ignore-dependency" type="{http://www.jboss.com/xml/ns/javaee}ignore-dependencyType" minOccurs="0"/>
+ *         &lt;element name="aop-domain-name" type="{http://www.jboss.com/xml/ns/javaee}aop-domain-nameType" minOccurs="0"/>
+ *         &lt;element name="pool-config" type="{http://www.jboss.com/xml/ns/javaee}pool-configType" minOccurs="0"/>
+ *         &lt;element name="jndi-ref" type="{http://www.jboss.com/xml/ns/javaee}jndi-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="port-component" type="{http://www.jboss.com/xml/ns/javaee}port-componentType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface GenericBeanMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbNameType }
+    *     
+    */
+   void setEjbName(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JndiNameType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 JBossEnvEntryMetaData }
+    * 
+    * 
+    */
+   List<JBossEnvEntryMetaData> getEnvEntry();
+
+   /**
+    * 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 JBossEjbRefMetaData }
+    * 
+    * 
+    */
+   List<JBossEjbRefMetaData> getEjbRef();
+
+   /**
+    * 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 JBossEjbLocalRefMetaData }
+    * 
+    * 
+    */
+   List<JBossEjbLocalRefMetaData> getEjbLocalRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ServiceRefMetaData> getServiceRef();
+
+   /**
+    * 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 JBossResourceRefMetaData }
+    * 
+    * 
+    */
+   List<JBossResourceRefMetaData> getResourceRef();
+
+   /**
+    * 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 JBossResourceEnvRefMetaData }
+    * 
+    * 
+    */
+   List<JBossResourceEnvRefMetaData> getResourceEnvRef();
+
+   /**
+    * 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 JBossMessageDestinationRefMetaData }
+    * 
+    * 
+    */
+   List<JBossMessageDestinationRefMetaData> 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 JBossPersistenceContextRefMetaData }
+    * 
+    * 
+    */
+   List<JBossPersistenceContextRefMetaData> getPersistenceContextRef();
+
+   /**
+    * 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 JBossPersistenceUnitRefMetaData }
+    * 
+    * 
+    */
+   List<JBossPersistenceUnitRefMetaData> 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 securityIdentity property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JBossSecurityIdentityMetaData }
+    *     
+    */
+   JBossSecurityIdentityMetaData getSecurityIdentity();
+
+   /**
+    * Sets the value of the securityIdentity property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JBossSecurityIdentityMetaData }
+    *     
+    */
+   void setSecurityIdentity(JBossSecurityIdentityMetaData value);
+
+   /**
+    * 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 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 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 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);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/IgnoreDependencyMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/IgnoreDependencyMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/IgnoreDependencyMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,109 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.InjectionTargetMetaData;
+
+/**
+ *  The ignore-dependency element removes an injection dependency
+ * 
+ * <p>Java class for ignore-dependencyType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ignore-dependencyType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="injection-target" type="{http://www.jboss.com/xml/ns/javaee}injection-targetType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface IgnoreDependencyMetaData
+{
+
+   /**
+    * 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 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 }
+    * 
+    * 
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEjbLocalRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEjbLocalRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEjbLocalRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,106 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.EjbLocalRefMetaData;
+
+/**
+ *  The ejb-local-ref element is used to give the jndi-name of an external ejb
+ *             reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+ *             ejb-jar.xml, but you provide a jndi-name in jboss.xml 
+ * 
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-ref-name" type="{http://java.sun.com/xml/ns/javaee}ejb-ref-nameType" minOccurs="0"/>
+ *         &lt;element name="ejb-ref-type" type="{http://java.sun.com/xml/ns/javaee}ejb-ref-typeType" minOccurs="0"/>
+ *         &lt;element name="local-home" type="{http://java.sun.com/xml/ns/javaee}local-homeType" minOccurs="0"/>
+ *         &lt;element name="local" type="{http://java.sun.com/xml/ns/javaee}localType" minOccurs="0"/>
+ *         &lt;element name="ejb-link" type="{http://java.sun.com/xml/ns/javaee}ejb-linkType" minOccurs="0"/>
+ *         &lt;element name="local-jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface JBossEjbLocalRefMetaData extends EjbLocalRefMetaData
+{
+
+   /**
+    * Gets the value of the localJndiName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JndiNameType }
+    *     
+    */
+   String getLocalJndiName();
+
+   /**
+    * Sets the value of the localJndiName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setLocalJndiName(String value);
+
+   /**
+    * 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 ignoreDependency property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *     
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *     
+    */
+   void setIgnoreDependency(boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEjbRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEjbRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEjbRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,86 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.EjbRefMetaData;
+
+/**
+ *  The ejb-ref element is used to give the jndi-name of an external ejb
+ *             reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+ *             ejb-jar.xml, but you provide a jndi-name in jboss.xml Used in: entity, session,
+ *             message-driven, consumer, and service
+ *
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-ref-name" type="{http://java.sun.com/xml/ns/javaee}ejb-ref-nameType" minOccurs="0"/>
+ *         &lt;element name="ejb-ref-type" type="{http://java.sun.com/xml/ns/javaee}ejb-ref-typeType" minOccurs="0"/>
+ *         &lt;element name="home" type="{http://java.sun.com/xml/ns/javaee}homeType" minOccurs="0"/>
+ *         &lt;element name="remote" type="{http://java.sun.com/xml/ns/javaee}remoteType" minOccurs="0"/>
+ *         &lt;element name="ejb-link" type="{http://java.sun.com/xml/ns/javaee}ejb-linkType" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface JBossEjbRefMetaData extends EjbRefMetaData
+{
+
+   /**
+    * 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 ignoreDependency property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setIgnoreDependency(boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEnvEntryMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEnvEntryMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossEnvEntryMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,79 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.EnvEntryMetaData;
+
+/**
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="env-entry-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="env-entry-type" type="{http://java.sun.com/xml/ns/javaee}env-entry-type-valuesType" minOccurs="0"/>
+ *         &lt;element name="env-entry-value" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface JBossEnvEntryMetaData extends EnvEntryMetaData
+{
+
+   /**
+    * 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 ignoreDependency property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setIgnoreDependency(boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDestinationMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDestinationMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDestinationMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,63 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.MessageDestinationMetaData;
+
+/**
+ *  The message-destination element is used to configure the jndi-name for a
+ *             message-destination in ejb-jar.xml Used in: assembly-descriptor 
+ * 
+ * <p>Java class for message-destinationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="message-destinationType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="message-destination-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *         &lt;choice>
+ *           &lt;element name="jndi-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *           &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *         &lt;/choice>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface JBossMessageDestinationMetaData extends MessageDestinationMetaData
+{
+
+   /**
+    * Gets the value of the jndiName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getJndiName();
+
+   /**
+    * Sets the value of the jndiName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setJndiName(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDestinationRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDestinationRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDestinationRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,80 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.MessageDestinationRefMetaData;
+
+/**
+ * <p>Java class for message-destination-refType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="message-destination-refType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="message-destination-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="message-destination-type" type="{http://java.sun.com/xml/ns/javaee}message-destination-typeType" minOccurs="0"/>
+ *         &lt;element name="message-destination-usage" type="{http://java.sun.com/xml/ns/javaee}message-destination-usageType" minOccurs="0"/>
+ *         &lt;element name="message-destination-link" type="{http://java.sun.com/xml/ns/javaee}message-destination-linkType" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface JBossMessageDestinationRefMetaData extends MessageDestinationRefMetaData
+{
+
+   /**
+    * 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 ignoreDependency property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setIgnoreDependency(boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDrivenBeanMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDrivenBeanMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMessageDrivenBeanMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,423 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.MessageDrivenBeanMetaData;
+
+/**
+ *  The message-driven element holds information specific to jboss and not
+ *             declared in ejb-jar.xml about a message-driven bean, such as container configuration and
+ *             resources. The bean should already be declared in ejb-jar.xml, with the same ejb-name.
+ *          
+ * 
+ * <p>Java class for message-driven-beanType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="message-driven-beanType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="activation-config" type="{http://www.jboss.com/xml/ns/javaee}activation-configType" minOccurs="0"/>
+ *         &lt;element name="destination-jndi-name" type="{http://www.jboss.com/xml/ns/javaee}destination-jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="mdb-user" type="{http://www.jboss.com/xml/ns/javaee}mdb-userType" minOccurs="0"/>
+ *         &lt;element name="mdb-passwd" type="{http://www.jboss.com/xml/ns/javaee}mdb-passwdType" minOccurs="0"/>
+ *         &lt;element name="mdb-client-id" type="{http://www.jboss.com/xml/ns/javaee}mdb-client-idType" minOccurs="0"/>
+ *         &lt;element name="mdb-subscription-id" type="{http://www.jboss.com/xml/ns/javaee}mdb-subscription-idType" minOccurs="0"/>
+ *         &lt;element name="resource-adapter-name" type="{http://www.jboss.com/xml/ns/javaee}resource-adapter-nameType" minOccurs="0"/>
+ *         &lt;element name="ejb-ref" type="{http://www.jboss.com/xml/ns/javaee}ejb-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-local-ref" type="{http://www.jboss.com/xml/ns/javaee}ejb-local-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="service-ref" type="{http://www.jboss.com/xml/ns/javaee}service-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="resource-ref" type="{http://www.jboss.com/xml/ns/javaee}resource-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="resource-env-ref" type="{http://www.jboss.com/xml/ns/javaee}resource-env-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="message-destination-ref" type="{http://www.jboss.com/xml/ns/javaee}message-destination-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="security-identity" type="{http://www.jboss.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *         &lt;element name="security-domain" type="{http://www.jboss.com/xml/ns/javaee}security-domainType" minOccurs="0"/>
+ *         &lt;element name="method-attributes" type="{http://www.jboss.com/xml/ns/javaee}method-attributesType" minOccurs="0"/>
+ *         &lt;element name="depends" type="{http://www.jboss.com/xml/ns/javaee}dependsType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-timeout-identity" type="{http://www.jboss.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *         &lt;element name="annotation" type="{http://www.jboss.com/xml/ns/javaee}annotationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ignore-dependency" type="{http://www.jboss.com/xml/ns/javaee}ignore-dependencyType" minOccurs="0"/>
+ *         &lt;element name="aop-domain-name" type="{http://www.jboss.com/xml/ns/javaee}aop-domain-nameType" minOccurs="0"/>
+ *         &lt;element name="pool-config" type="{http://www.jboss.com/xml/ns/javaee}pool-configType" minOccurs="0"/>
+ *         &lt;element name="jndi-ref" type="{http://www.jboss.com/xml/ns/javaee}jndi-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="create-destination" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface JBossMessageDrivenBeanMetaData extends MessageDrivenBeanMetaData
+{
+
+   /**
+    * Gets the value of the destinationJndiName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link DestinationJndiNameType }
+    *     
+    */
+   String getDestinationJndiName();
+
+   /**
+    * Sets the value of the destinationJndiName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link DestinationJndiNameType }
+    *     
+    */
+   void setDestinationJndiName(String value);
+
+   /**
+    * Gets the value of the mdbUser property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MdbUserType }
+    *     
+    */
+   String getMdbUser();
+
+   /**
+    * Sets the value of the mdbUser property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MdbUserType }
+    *     
+    */
+   void setMdbUser(String value);
+
+   /**
+    * Gets the value of the mdbPasswd property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MdbPasswdType }
+    *     
+    */
+   String getMdbPasswd();
+
+   /**
+    * Sets the value of the mdbPasswd property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MdbPasswdType }
+    *     
+    */
+   void setMdbPasswd(String value);
+
+   /**
+    * Gets the value of the mdbClientId property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MdbClientIdType }
+    *     
+    */
+   String getMdbClientId();
+
+   /**
+    * Sets the value of the mdbClientId property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MdbClientIdType }
+    *     
+    */
+   void setMdbClientId(String value);
+
+   /**
+    * Gets the value of the mdbSubscriptionId property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MdbSubscriptionIdType }
+    *     
+    */
+   String getMdbSubscriptionId();
+
+   /**
+    * Sets the value of the mdbSubscriptionId property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MdbSubscriptionIdType }
+    *     
+    */
+   void setMdbSubscriptionId(String value);
+
+   /**
+    * Gets the value of the resourceAdapterName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ResourceAdapterNameType }
+    *     
+    */
+   String getResourceAdapterName();
+
+   /**
+    * Sets the value of the resourceAdapterName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ResourceAdapterNameType }
+    *     
+    */
+   void setResourceAdapterName(String value);
+
+   /**
+    * 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 JBossMessageDestinationRefMetaData }
+    * 
+    * 
+    */
+   List<JBossMessageDestinationRefMetaData> getMessageDestinationRef();
+
+   /**
+    * 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 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);
+
+   /**
+    * 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 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 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 createDestination property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link Boolean }
+    *     
+    */
+   Boolean isCreateDestination();
+
+   /**
+    * Sets the value of the createDestination property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link Boolean }
+    *     
+    */
+   void setCreateDestination(Boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,405 @@
+//
+// 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;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+import org.jboss.ejb3.metadata.spi.javaee.AssemblyDescriptorMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.DisplayNameMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.EnterpriseBeansMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.IconType;
+
+/**
+ *  The jboss element is the root element of the jboss.xml file. It contains
+ *             all the information used by jboss but not described in the ejb-jar.xml file. All of it is
+ *             optional. 1- the application assembler can define custom container configurations for the
+ *             beans. Standard configurations are provided in standardjboss.xml 2- the deployer can
+ *             override the jndi names under which the beans are deployed 3- the deployer can specify
+ *             runtime jndi names for resource managers. 
+ * 
+ * <p>Java class for jbossType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="jbossType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="loader-repository" type="{http://www.jboss.com/xml/ns/javaee}loader-repositoryType" minOccurs="0"/>
+ *         &lt;element name="jmx-name" type="{http://www.jboss.com/xml/ns/javaee}jmx-nameType" minOccurs="0"/>
+ *         &lt;element name="security-domain" type="{http://www.jboss.com/xml/ns/javaee}security-domainType" minOccurs="0"/>
+ *         &lt;element name="missing-method-permissions-excluded-mode" type="{http://www.jboss.com/xml/ns/javaee}missing-method-permissions-excluded-modeType" minOccurs="0"/>
+ *         &lt;element name="unauthenticated-principal" type="{http://www.jboss.com/xml/ns/javaee}unauthenticated-principalType" minOccurs="0"/>
+ *         &lt;element name="jndi-binding-policy" type="{http://www.jboss.com/xml/ns/javaee}jndi-binding-policyType" minOccurs="0"/>
+ *         &lt;element name="jacc-context-id" type="{http://www.jboss.com/xml/ns/javaee}jacc-context-idType" minOccurs="0"/>
+ *         &lt;element name="webservices" type="{http://www.jboss.com/xml/ns/javaee}webservicesType" minOccurs="0"/>
+ *         &lt;element name="enterprise-beans" type="{http://www.jboss.com/xml/ns/javaee}enterprise-beansType" minOccurs="0"/>
+ *         &lt;element name="assembly-descriptor" type="{http://www.jboss.com/xml/ns/javaee}assembly-descriptorType" minOccurs="0"/>
+ *         &lt;element name="resource-managers" type="{http://www.jboss.com/xml/ns/javaee}resource-managersType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="version" type="{http://java.sun.com/xml/ns/javaee}dewey-versionType" fixed="5.1" />
+ *       &lt;attribute name="metadata-complete" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface JBossMetaData
+{
+
+   /**
+    * 
+    * 
+    */
+   @XmlAttribute
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+   public final static String VERSION = "5.1";
+
+   /**
+    * 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 loaderRepository property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link LoaderRepositoryMetaData }
+    *     
+    */
+   LoaderRepositoryMetaData getLoaderRepository();
+
+   /**
+    * Sets the value of the loaderRepository property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link LoaderRepositoryMetaData }
+    *     
+    */
+   void setLoaderRepository(LoaderRepositoryMetaData value);
+
+   /**
+    * Gets the value of the jmxName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JmxNameType }
+    *     
+    */
+   String getJmxName();
+
+   /**
+    * Sets the value of the jmxName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JmxNameType }
+    *     
+    */
+   void setJmxName(String 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 missingMethodPermissionsExcludedMode property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MissingMethodPermissionsExcludedModeType }
+    *     
+    */
+   boolean getMissingMethodPermissionsExcludedMode();
+
+   /**
+    * Sets the value of the missingMethodPermissionsExcludedMode property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MissingMethodPermissionsExcludedModeType }
+    *     
+    */
+   void setMissingMethodPermissionsExcludedMode(boolean value);
+
+   /**
+    * Gets the value of the unauthenticatedPrincipal property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link UnauthenticatedPrincipalType }
+    *     
+    */
+   String getUnauthenticatedPrincipal();
+
+   /**
+    * Sets the value of the unauthenticatedPrincipal property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link UnauthenticatedPrincipalType }
+    *     
+    */
+   void setUnauthenticatedPrincipal(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 jaccContextId property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JaccContextIdType }
+    *     
+    */
+   String getJaccContextId();
+
+   /**
+    * Sets the value of the jaccContextId property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JaccContextIdType }
+    *     
+    */
+   void setJaccContextId(String value);
+
+   /**
+    * Gets the value of the webservices property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link WebservicesMetaData }
+    *     
+    */
+   WebservicesMetaData getWebservices();
+
+   /**
+    * Sets the value of the webservices property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link WebservicesMetaData }
+    *     
+    */
+   void setWebservices(WebservicesMetaData value);
+
+   /**
+    * Gets the value of the enterpriseBeans property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EnterpriseBeansMetaData }
+    *     
+    */
+   EnterpriseBeansMetaData getEnterpriseBeans();
+
+   /**
+    * Sets the value of the enterpriseBeans property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EnterpriseBeansMetaData }
+    *     
+    */
+   void setEnterpriseBeans(EnterpriseBeansMetaData value);
+
+   /**
+    * Gets the value of the assemblyDescriptor property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link AssemblyDescriptorMetaData }
+    *     
+    */
+   AssemblyDescriptorMetaData getAssemblyDescriptor();
+
+   /**
+    * Sets the value of the assemblyDescriptor property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link AssemblyDescriptorMetaData }
+    *     
+    */
+   void setAssemblyDescriptor(AssemblyDescriptorMetaData value);
+
+   /**
+    * Gets the value of the resourceManagers property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ResourceManagersMetaData }
+    *     
+    */
+   ResourceManagersMetaData getResourceManagers();
+
+   /**
+    * Sets the value of the resourceManagers property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ResourceManagersMetaData }
+    *     
+    */
+   void setResourceManagers(ResourceManagersMetaData value);
+
+   /**
+    * Gets the value of the metadataComplete property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link Boolean }
+    *     
+    */
+   Boolean isMetadataComplete();
+
+   /**
+    * Sets the value of the metadataComplete property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link Boolean }
+    *     
+    */
+   void setMetadataComplete(Boolean value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossPersistenceContextRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossPersistenceContextRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossPersistenceContextRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,80 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.PersistenceContextRefMetaData;
+
+/**
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="persistence-context-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="persistence-unit-name" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *         &lt;element name="persistence-context-type" type="{http://java.sun.com/xml/ns/javaee}persistence-context-typeType" minOccurs="0"/>
+ *         &lt;element name="persistence-property" type="{http://java.sun.com/xml/ns/javaee}propertyType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface JBossPersistenceContextRefMetaData extends PersistenceContextRefMetaData
+{
+
+   /**
+    * 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 ignoreDependency property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setIgnoreDependency(boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossPersistenceUnitRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossPersistenceUnitRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossPersistenceUnitRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,78 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.PersistenceUnitRefMetaData;
+
+/**
+ * <p>Java class for persistence-unit-refType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="persistence-unit-refType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="persistence-unit-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="persistence-unit-name" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface JBossPersistenceUnitRefMetaData extends PersistenceUnitRefMetaData
+{
+
+   /**
+    * 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 ignoreDependency property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setIgnoreDependency(boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossProducerMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossProducerMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossProducerMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,97 @@
+//
+// 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;
+
+/**
+ *  The producer element holds all of the information specific about a
+ *             producer interface for a consumer bean Used in: consumer 
+ * 
+ * <p>Java class for producerType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="producerType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
+ *         &lt;element name="connection-factory" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface JBossProducerMetaData
+{
+
+   /**
+    * Gets the value of the clazz property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   String getClazz();
+
+   /**
+    * Sets the value of the clazz property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link FullyQualifiedClassType }
+    *     
+    */
+   void setClazz(String value);
+
+   /**
+    * Gets the value of the connectionFactory property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getConnectionFactory();
+
+   /**
+    * Sets the value of the connectionFactory property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setConnectionFactory(String value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossResourceEnvRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossResourceEnvRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossResourceEnvRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,78 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.ResourceEnvRefMetaData;
+
+/**
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="resource-env-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;element name="resource-env-ref-type" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface JBossResourceEnvRefMetaData extends ResourceEnvRefMetaData
+{
+
+   /**
+    * 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 ignoreDependency property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setIgnoreDependency(boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossResourceRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossResourceRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossResourceRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,132 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.ResourceRefMetaData;
+
+/**
+ *  The resource-ref element gives a mapping between the "code name" of a
+ *             resource (res-ref-name, provided by the Bean Developer) and its "xml name" (resource-name,
+ *             provided by the Application Assembler). If no resource-ref is provided, jboss will assume
+ *             that "xml-name" = "code name" See resource-managers.
+ *
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="res-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="res-type" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" minOccurs="0"/>
+ *         &lt;element name="res-auth" type="{http://java.sun.com/xml/ns/javaee}res-authType" minOccurs="0"/>
+ *         &lt;element name="res-sharing-scope" type="{http://java.sun.com/xml/ns/javaee}res-sharing-scopeType" minOccurs="0"/>
+ *         &lt;choice>
+ *           &lt;element name="resource-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *           &lt;element name="jndi-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *           &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *           &lt;element name="res-url" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *         &lt;/choice>
+ *         &lt;element name="injection-target" type="{http://www.jboss.com/xml/ns/javaee}injection-targetType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ignore-dependency" type="{http://java.sun.com/xml/ns/javaee}emptyType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface JBossResourceRefMetaData extends ResourceRefMetaData
+{
+
+   /**
+    * Gets the value of the resourceName property.
+    *
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *
+    */
+   String getResourceName();
+
+   /**
+    * Sets the value of the resourceName property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *
+    */
+   void setResourceName(String value);
+
+   /**
+    * Gets the value of the jndiName property.
+    *
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *
+    */
+   String getJndiName();
+
+   /**
+    * Sets the value of the jndiName property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *
+    */
+   void setJndiName(String value);
+
+   /**
+    * Gets the value of the resUrl property.
+    *
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *
+    */
+   String getResUrl();
+
+   /**
+    * Sets the value of the resUrl property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *
+    */
+   void setResUrl(String value);
+
+   /**
+    * Gets the value of the ignoreDependency property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setIgnoreDependency(boolean value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSecurityIdentityMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSecurityIdentityMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSecurityIdentityMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,66 @@
+//
+// 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;
+
+import org.jboss.ejb3.metadata.spi.javaee.SecurityIdentityMetaData;
+
+/**
+ *  The security-identity element specifies whether a specific run-as identity
+ *             is to be used. If there is a run-as role defined for an enterprise bean, there can also be a
+ *             run-as-principal define here. If you don't define a run-as principal the callee will see
+ *             ctx.getCallerPrincipal() == 'anonymous' Used in: entity, message-driven, session
+ *          
+ * 
+ * <p>Java class for security-identityType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="security-identityType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;choice minOccurs="0">
+ *           &lt;element name="use-caller-identity" type="{http://java.sun.com/xml/ns/javaee}emptyType"/>
+ *           &lt;element name="run-as" type="{http://www.jboss.com/xml/ns/javaee}run-asType"/>
+ *         &lt;/choice>
+ *         &lt;element name="run-as-principal" type="{http://java.sun.com/xml/ns/javaee}role-nameType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface JBossSecurityIdentityMetaData extends SecurityIdentityMetaData
+{
+
+   /**
+    * Gets the value of the runAsPrincipal property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link RoleNameType }
+    *     
+    */
+   String getRunAsPrincipal();
+
+   /**
+    * Sets the value of the runAsPrincipal property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link RoleNameType }
+    *     
+    */
+   void setRunAsPrincipal(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSecurityRoleMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSecurityRoleMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSecurityRoleMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,66 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.SecurityRoleMetaData;
+
+/**
+ *  The security-role element contains the definition of a security role.
+ *             The definition consists of an the security role name and principal name element(s). 
+ * 
+ * <p>Java class for security-roleType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="security-roleType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="role-name" type="{http://java.sun.com/xml/ns/javaee}role-nameType"/>
+ *         &lt;element name="principal-name" type="{http://www.jboss.com/xml/ns/javaee}principal-nameType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface JBossSecurityRoleMetaData extends SecurityRoleMetaData
+{
+
+   /**
+    * Gets the value of the principalName 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 principalName property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getPrincipalName().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link PrincipalNameType }
+    * 
+    * 
+    */
+   List<String> getPrincipalName();
+
+}

Added: 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	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JBossSessionBeanMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,511 @@
+//
+// 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;
+
+import java.util.List;
+
+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.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="session-beanType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}jndiEnvironmentRefsGroup"/>
+ *         &lt;element name="security-identity" type="{http://www.jboss.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *         &lt;element name="local-binding" type="{http://www.jboss.com/xml/ns/javaee}local-bindingType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="remote-binding" type="{http://www.jboss.com/xml/ns/javaee}remote-bindingType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="business-local" type="{http://java.sun.com/xml/ns/javaee}string" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="business-remote" type="{http://java.sun.com/xml/ns/javaee}string" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="home-jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="local-jndi-name" type="{http://www.jboss.com/xml/ns/javaee}local-jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="local-home-jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="jndi-binding-policy" type="{http://www.jboss.com/xml/ns/javaee}jndi-binding-policyType" minOccurs="0"/>
+ *         &lt;element name="clustered" type="{http://www.jboss.com/xml/ns/javaee}clusteredType" minOccurs="0"/>
+ *         &lt;element name="cluster-config" type="{http://www.jboss.com/xml/ns/javaee}cluster-configType" minOccurs="0"/>
+ *         &lt;element name="security-domain" type="{http://www.jboss.com/xml/ns/javaee}security-domainType" minOccurs="0"/>
+ *         &lt;element name="method-attributes" type="{http://www.jboss.com/xml/ns/javaee}method-attributesType" minOccurs="0"/>
+ *         &lt;element name="depends" type="{http://www.jboss.com/xml/ns/javaee}dependsType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="annotation" type="{http://www.jboss.com/xml/ns/javaee}annotationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ignore-dependency" type="{http://www.jboss.com/xml/ns/javaee}ignore-dependencyType" minOccurs="0"/>
+ *         &lt;element name="aop-domain-name" type="{http://www.jboss.com/xml/ns/javaee}aop-domain-nameType" minOccurs="0"/>
+ *         &lt;element name="cache-config" type="{http://www.jboss.com/xml/ns/javaee}cache-configType" minOccurs="0"/>
+ *         &lt;element name="pool-config" type="{http://www.jboss.com/xml/ns/javaee}pool-configType" minOccurs="0"/>
+ *         &lt;element name="concurrent" type="{http://www.jboss.com/xml/ns/javaee}concurrentType" minOccurs="0"/>
+ *         &lt;element name="jndi-ref" type="{http://www.jboss.com/xml/ns/javaee}jndi-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="port-component" type="{http://www.jboss.com/xml/ns/javaee}port-componentType" minOccurs="0"/>
+ *         &lt;element name="ejb-timeout-identity" type="{http://www.jboss.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface JBossSessionBeanMetaData extends SessionBeanMetaData
+{
+
+   List<JBossMessageDestinationRefMetaData> getMessageDestinationRef();
+
+   /**
+    * 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);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JndiRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JndiRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/JndiRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,194 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.InjectionTargetMetaData;
+
+/**
+ *
+ *
+ *           Used to inject generic types based on JNDI name
+ *
+ *
+ *
+ * <p>Java class for jndi-refType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="jndi-refType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="jndi-ref-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}resourceGroup"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+public interface JndiRefMetaData
+{
+
+   /**
+    * 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 jndiRefName property.
+    *
+    * @return
+    *     possible object is
+    *     {@link JndiNameType }
+    *
+    */
+   String getJndiRefName();
+
+   /**
+    * Sets the value of the jndiRefName property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *
+    */
+   void setJndiRefName(String value);
+
+   /**
+    * 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 mappedName property.
+    *
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    *
+    *
+    */
+   List<InjectionTargetMetaData> getInjectionTarget();
+
+   /**
+    * Gets the value of the ignoreDependency property.
+    *
+    * @return
+    *     possible object is
+    *     {@link EmptyType }
+    *
+    */
+   boolean isIgnoreDependency();
+
+   /**
+    * Sets the value of the ignoreDependency property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link EmptyType }
+    *
+    */
+   void setIgnoreDependency(boolean value);
+
+   /**
+    * Gets the value of the id property.
+    *
+    * @return
+    *     possible object is
+    *     {@link String }
+    *
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    *
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LoaderRepositoryConfigMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LoaderRepositoryConfigMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LoaderRepositoryConfigMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,102 @@
+//
+// 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;
+
+/**
+ *  The loader-repository-config element specifies any arbitrary configuration
+ *             fragment for use in configuring the loader-repository instance. The actual content of this
+ *             element is specific to the loaderRepositoryClass and the code parsing the element.
+ *          
+ * 
+ * <p>Java class for loader-repository-configType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="loader-repository-configType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *       &lt;attribute name="configParserClass" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface LoaderRepositoryConfigMetaData
+{
+
+   /**
+    *  The loader-repository-config element specifies any arbitrary configuration
+    *             fragment for use in configuring the loader-repository instance. The actual content of this
+    *             element is specific to the loaderRepositoryClass and the code parsing the element.
+    *          
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getContent();
+
+   /**
+    *  The loader-repository-config element specifies any arbitrary configuration
+    *             fragment for use in configuring the loader-repository instance. The actual content of this
+    *             element is specific to the loaderRepositoryClass and the code parsing the element.
+    *          
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setContent(String value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+   /**
+    * Gets the value of the configParserClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getConfigParserClass();
+
+   /**
+    * Sets the value of the configParserClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setConfigParserClass(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LoaderRepositoryMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LoaderRepositoryMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LoaderRepositoryMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,141 @@
+//
+// 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;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+
+/**
+ * 
+ *             
+ *       The loader-repository specifies the name of the UnifiedLoaderRepository
+ *    MBean to use for the ear to provide ear level scoping of classes deployed
+ *    in the ear. It is a unique JMX ObjectName string. It may also specify
+ *    an arbitrary configuration by including a loader-repository-config element.
+ * 
+ * Examples:
+ *    <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+ * 
+ *    <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+ *       dot.com:loader=unique-archive-name
+ *       <loader-repository-config configParserClass='dot.com.LoaderParser'>
+ *          java2ParentDelegaton=true
+ *       </loader-repository-config>
+ *    </loader-repository>
+ *         </loader-repository>
+ *         
+ *          
+ * 
+ * <p>Java class for loader-repositoryType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="loader-repositoryType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="loader-repository-config" type="{http://www.jboss.com/xml/ns/javaee}loader-repository-configType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *       &lt;attribute name="loaderRepositoryClass" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface LoaderRepositoryMetaData
+{
+
+   /**
+    * 
+    *             
+    *       The loader-repository specifies the name of the UnifiedLoaderRepository
+    *    MBean to use for the ear to provide ear level scoping of classes deployed
+    *    in the ear. It is a unique JMX ObjectName string. It may also specify
+    *    an arbitrary configuration by including a loader-repository-config element.
+    * 
+    * Examples:
+    *    <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+    * 
+    *    <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+    *       dot.com:loader=unique-archive-name
+    *       <loader-repository-config configParserClass='dot.com.LoaderParser'>
+    *          java2ParentDelegaton=true
+    *       </loader-repository-config>
+    *    </loader-repository>
+    *         </loader-repository>
+    *         
+    *          Gets the value of the content 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 content property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getContent().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link String }
+    * {@link JAXBElement }{@code <}{@link LoaderRepositoryConfigMetaData }{@code >}
+    * 
+    * 
+    */
+   List<Serializable> getContent();
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+   /**
+    * Gets the value of the loaderRepositoryClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getLoaderRepositoryClass();
+
+   /**
+    * Sets the value of the loaderRepositoryClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setLoaderRepositoryClass(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LocalBindingMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LocalBindingMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/LocalBindingMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,87 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+
+/**
+ * 
+ *             
+ *           Element for specifying the local jndi binding for a bean.
+ * 	    
+ *          
+ * 
+ * <p>Java class for local-bindingType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="local-bindingType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface LocalBindingMetaData
+{
+
+   /**
+    * 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 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);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MessagePropertiesMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MessagePropertiesMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MessagePropertiesMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,139 @@
+//
+// 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;
+
+/**
+ *  Element for defining JMS message properties (e.g. persistence, priority)
+ *             for a consumer bean Used in: consumer 
+ * 
+ * <p>Java class for message-propertiesType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="message-propertiesType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="class" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;element name="method" type="{http://www.jboss.com/xml/ns/javaee}methodType"/>
+ *         &lt;element name="delivery" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;element name="priority" type="{http://java.sun.com/xml/ns/javaee}xsdIntegerType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface MessagePropertiesMetaData
+{
+
+   /**
+    * Gets the value of the clazz property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getClazz();
+
+   /**
+    * Sets the value of the clazz property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setClazz(String value);
+
+   /**
+    * Gets the value of the method property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodMetaData }
+    *     
+    */
+   MethodMetaData getMethod();
+
+   /**
+    * Sets the value of the method property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodMetaData }
+    *     
+    */
+   void setMethod(MethodMetaData value);
+
+   /**
+    * Gets the value of the delivery property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getDelivery();
+
+   /**
+    * Sets the value of the delivery property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setDelivery(String value);
+
+   /**
+    * Gets the value of the priority property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdIntegerType }
+    *     
+    */
+   int getPriority();
+
+   /**
+    * Sets the value of the priority property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdIntegerType }
+    *     
+    */
+   void setPriority(int value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MethodAttributesMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MethodAttributesMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MethodAttributesMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,83 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ *  The method-attributes element can be used to specify which methods are
+ *             read only or idempotent. This is used to reduce the need for locks and replication.
+ *          
+ * 
+ * <p>Java class for method-attributesType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="method-attributesType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="method" type="{http://www.jboss.com/xml/ns/javaee}methodType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface MethodAttributesMetaData
+{
+
+   /**
+    * Gets the value of the method 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 method property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getMethod().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link MethodMetaData }
+    * 
+    * 
+    */
+   List<MethodMetaData> getMethod();
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MethodMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MethodMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/MethodMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,139 @@
+//
+// 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;
+
+/**
+ *  The method element is used to specify attributes for one method or all
+ *             those matching a pattern startingstring*. 
+ * 
+ * <p>Java class for methodType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="methodType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="method-name" type="{http://java.sun.com/xml/ns/javaee}method-nameType"/>
+ *         &lt;element name="read-only" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         &lt;element name="idempotent" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         &lt;element name="transaction-timeout" type="{http://www.jboss.com/xml/ns/javaee}transaction-timeoutType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface MethodMetaData
+{
+
+   /**
+    * Gets the value of the methodName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MethodNameType }
+    *     
+    */
+   String getMethodName();
+
+   /**
+    * Sets the value of the methodName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MethodNameType }
+    *     
+    */
+   void setMethodName(String value);
+
+   /**
+    * Gets the value of the readOnly property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link Boolean }
+    *     
+    */
+   Boolean isReadOnly();
+
+   /**
+    * Sets the value of the readOnly property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link Boolean }
+    *     
+    */
+   void setReadOnly(Boolean value);
+
+   /**
+    * Gets the value of the idempotent property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link Boolean }
+    *     
+    */
+   Boolean isIdempotent();
+
+   /**
+    * Sets the value of the idempotent property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link Boolean }
+    *     
+    */
+   void setIdempotent(Boolean value);
+
+   /**
+    * Gets the value of the transactionTimeout property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link TransactionTimeoutType }
+    *     
+    */
+   String getTransactionTimeout();
+
+   /**
+    * Sets the value of the transactionTimeout property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link TransactionTimeoutType }
+    *     
+    */
+   void setTransactionTimeout(String value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PoolConfigMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PoolConfigMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PoolConfigMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,98 @@
+//
+// 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;
+
+/**
+ * Element for specifying the class used to provide the caching mechanism for a bean,
+ *             and the cache parameters
+ *          
+ * 
+ * <p>Java class for pool-configType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="pool-configType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="pool-value" type="{http://www.jboss.com/xml/ns/javaee}pool-valueType" minOccurs="0"/>
+ *         &lt;element name="pool-max-size" type="{http://www.jboss.com/xml/ns/javaee}pool-max-sizeType" minOccurs="0"/>
+ *         &lt;element name="pool-timeout" type="{http://www.jboss.com/xml/ns/javaee}pool-timeoutType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface PoolConfigMetaData
+{
+
+   /**
+    * Gets the value of the poolValue property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PoolValueType }
+    *     
+    */
+   String getPoolValue();
+
+   /**
+    * Sets the value of the poolValue property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PoolValueType }
+    *     
+    */
+   void setPoolValue(String value);
+
+   /**
+    * Gets the value of the poolMaxSize property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PoolMaxSizeType }
+    *     
+    */
+   long getPoolMaxSize();
+
+   /**
+    * Sets the value of the poolMaxSize property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PoolMaxSizeType }
+    *     
+    */
+   void setPoolMaxSize(long value);
+
+   /**
+    * Gets the value of the poolTimeout property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link PoolTimeoutType }
+    *     
+    */
+   long getPoolTimeout();
+
+   /**
+    * Sets the value of the poolTimeout property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link PoolTimeoutType }
+    *     
+    */
+   void setPoolTimeout(long value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PortComponentMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PortComponentMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PortComponentMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,166 @@
+//
+// 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;
+
+/**
+ * 
+ *             
+ *          The port-component element specifies a mapping from a webservice
+ *          port-component whose service-impl-bean/ejb-link value maps to an ejb.
+ *          Used in: session
+ * 
+ *             
+ *          
+ * 
+ * <p>Java class for port-componentType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="port-componentType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="port-component-name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="port-component-uri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="auth-method" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="transport-guarantee" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="secure-wsdl-access" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface PortComponentMetaData
+{
+
+   /**
+    * Gets the value of the portComponentName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getPortComponentName();
+
+   /**
+    * Sets the value of the portComponentName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setPortComponentName(String value);
+
+   /**
+    * Gets the value of the portComponentUri property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getPortComponentUri();
+
+   /**
+    * Sets the value of the portComponentUri property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setPortComponentUri(String value);
+
+   /**
+    * Gets the value of the authMethod property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getAuthMethod();
+
+   /**
+    * Sets the value of the authMethod property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setAuthMethod(String value);
+
+   /**
+    * Gets the value of the transportGuarantee property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getTransportGuarantee();
+
+   /**
+    * Sets the value of the transportGuarantee property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setTransportGuarantee(String value);
+
+   /**
+    * Gets the value of the secureWsdlAccess property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link Boolean }
+    *     
+    */
+   Boolean isSecureWsdlAccess();
+
+   /**
+    * Sets the value of the secureWsdlAccess property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link Boolean }
+    *     
+    */
+   void setSecureWsdlAccess(Boolean value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PortComponentRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PortComponentRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/PortComponentRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,167 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="service-endpoint-interface" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="port-qname" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="config-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="config-file" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="stub-property" type="{http://www.jboss.com/xml/ns/javaee}stub-propertyType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="call-property" type="{http://www.jboss.com/xml/ns/javaee}call-propertyType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface PortComponentRefMetaData
+{
+
+   /**
+    * Gets the value of the serviceEndpointInterface property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getServiceEndpointInterface();
+
+   /**
+    * Sets the value of the serviceEndpointInterface property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setServiceEndpointInterface(String value);
+
+   /**
+    * Gets the value of the portQname property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getPortQname();
+
+   /**
+    * Sets the value of the portQname property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setPortQname(String value);
+
+   /**
+    * Gets the value of the configName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getConfigName();
+
+   /**
+    * Sets the value of the configName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setConfigName(String value);
+
+   /**
+    * Gets the value of the configFile property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getConfigFile();
+
+   /**
+    * Sets the value of the configFile property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setConfigFile(String value);
+
+   /**
+    * Gets the value of the stubProperty 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 stubProperty property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getStubProperty().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link StubPropertyMetaData }
+    * 
+    * 
+    */
+   List<StubPropertyMetaData> getStubProperty();
+
+   /**
+    * Gets the value of the callProperty 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 callProperty property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getCallProperty().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link CallPropertyMetaData }
+    * 
+    * 
+    */
+   List<CallPropertyMetaData> getCallProperty();
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/RemoteBindingMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/RemoteBindingMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/RemoteBindingMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,190 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+
+/**
+ * Element for specifying the remote jndi binding for a bean as well
+ *             as the client interceptor stack
+ *          
+ * 
+ * <p>Java class for remote-bindingType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="remote-bindingType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="client-bind-url" type="{http://www.jboss.com/xml/ns/javaee}client-bind-urlType" minOccurs="0"/>
+ *         &lt;element name="interceptor-stack" type="{http://www.jboss.com/xml/ns/javaee}interceptor-stackType" minOccurs="0"/>
+ *         &lt;element name="proxy-factory" type="{http://www.jboss.com/xml/ns/javaee}proxy-factoryType" minOccurs="0"/>
+ *         &lt;element name="invoker-name" type="{http://www.jboss.com/xml/ns/javaee}invoker-nameType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface RemoteBindingMetaData
+{
+
+   /**
+    * 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 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 clientBindUrl property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ClientBindUrlType }
+    *     
+    */
+   String getClientBindUrl();
+
+   /**
+    * Sets the value of the clientBindUrl property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ClientBindUrlType }
+    *     
+    */
+   void setClientBindUrl(String value);
+
+   /**
+    * Gets the value of the interceptorStack property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link InterceptorStackType }
+    *     
+    */
+   String getInterceptorStack();
+
+   /**
+    * Sets the value of the interceptorStack property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link InterceptorStackType }
+    *     
+    */
+   void setInterceptorStack(String value);
+
+   /**
+    * Gets the value of the proxyFactory property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ProxyFactoryType }
+    *     
+    */
+   String getProxyFactory();
+
+   /**
+    * Sets the value of the proxyFactory property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ProxyFactoryType }
+    *     
+    */
+   void setProxyFactory(String value);
+
+   /**
+    * Gets the value of the invokerName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link InvokerNameType }
+    *     
+    */
+   String getInvokerName();
+
+   /**
+    * Sets the value of the invokerName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link InvokerNameType }
+    *     
+    */
+   void setInvokerName(String value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ResourceManagerMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ResourceManagerMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ResourceManagerMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,173 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+
+/**
+ *  The resource-manager element is used to provide a mapping between the "xml
+ *             name" of a resource (res-name) and its "runtime jndi name" (res-jndi-name or res-url
+ *             according to the type of the resource). If it is not provided, and if the type of the
+ *             resource is javax.sql.DataSource, jboss will look for a javax.sql.DataSource in the jndi
+ *             tree. See resource-managers. Used in: resource-managers 
+ * 
+ * <p>Java class for resource-managerType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="resource-managerType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="res-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *         &lt;choice>
+ *           &lt;element name="res-jndi-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *           &lt;element name="res-url" type="{http://java.sun.com/xml/ns/javaee}xsdStringType"/>
+ *         &lt;/choice>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *       &lt;attribute name="res-class" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ResourceManagerMetaData
+{
+
+   /**
+    * 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 resName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getResName();
+
+   /**
+    * Sets the value of the resName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setResName(String value);
+
+   /**
+    * Gets the value of the resJndiName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getResJndiName();
+
+   /**
+    * Sets the value of the resJndiName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setResJndiName(String value);
+
+   /**
+    * Gets the value of the resUrl property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getResUrl();
+
+   /**
+    * Sets the value of the resUrl property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setResUrl(String value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+   /**
+    * Gets the value of the resClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getResClass();
+
+   /**
+    * Sets the value of the resClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setResClass(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ResourceManagersMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ResourceManagersMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ResourceManagersMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,118 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+
+/**
+ *  The resource-managers element is used to declare resource managers. A
+ *             resource has 3 names: - the "code name" is the name used in the code of the bean, supplied
+ *             by the Bean Developer in the resource-ref section of the ejb-jar.xml file - the "xml name"
+ *             is an intermediary name used by the Application Assembler to identify resources in the XML
+ *             file. - the "runtime jndi name" is the actual jndi-name or url of the deployed resource, it
+ *             is supplied by the Deployer. The mapping between the "code name" and the "xml name" is given
+ *             in the resource-ref section for the bean. If not, jboss will assume that "xml name" = "code
+ *             name". The mapping between the "xml name" and the "runtime jndi name" is given in a
+ *             resource-manager section. If not, and if the datasource is of type javax.sql.DataSource,
+ *             jboss will look for a javax.sql.DataSource in the jndi tree. Used in: jboss
+ *          
+ * 
+ * <p>Java class for resource-managersType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="resource-managersType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/javaee}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="resource-manager" type="{http://www.jboss.com/xml/ns/javaee}resource-managerType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ResourceManagersMetaData
+{
+
+   /**
+    * 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 resourceManager 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 resourceManager property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getResourceManager().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link ResourceManagerMetaData }
+    * 
+    * 
+    */
+   List<ResourceManagerMetaData> getResourceManager();
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ServiceBeanMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ServiceBeanMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ServiceBeanMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,1017 @@
+//
+// 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;
+
+import java.util.List;
+
+import org.jboss.ejb3.metadata.spi.javaee.DescriptionMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.DisplayNameMetaData;
+import org.jboss.ejb3.metadata.spi.javaee.IconType;
+import org.jboss.ejb3.metadata.spi.javaee.LifecycleCallbackMetaData;
+
+/**
+ *  The service element holds all of the information specific about a service
+ *             bean which is a JBoss proprietary extension to EJB3 creating multithreaded, singleton
+ *             services. Service beans are the EJB3 analogy for JMX MBeans. 
+ * 
+ * <p>Java class for service-beanType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="service-beanType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}descriptionGroup"/>
+ *         &lt;element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
+ *         &lt;element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;element name="business-local" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="business-remote" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ejb-class" type="{http://java.sun.com/xml/ns/javaee}ejb-classType" minOccurs="0"/>
+ *         &lt;group ref="{http://www.jboss.com/xml/ns/javaee}jndiEnvironmentRefsGroup"/>
+ *         &lt;element name="security-identity" type="{http://www.jboss.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *         &lt;element name="object-name" type="{http://www.jboss.com/xml/ns/javaee}jmx-nameType" minOccurs="0"/>
+ *         &lt;element name="management" type="{http://www.jboss.com/xml/ns/javaee}managementType" minOccurs="0"/>
+ *         &lt;element name="xmbean" type="{http://www.jboss.com/xml/ns/javaee}xmbeanType" minOccurs="0"/>
+ *         &lt;element name="local-binding" type="{http://www.jboss.com/xml/ns/javaee}local-bindingType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="remote-binding" type="{http://www.jboss.com/xml/ns/javaee}remote-bindingType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="home-jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="local-jndi-name" type="{http://java.sun.com/xml/ns/javaee}jndi-nameType" minOccurs="0"/>
+ *         &lt;element name="jndi-binding-policy" type="{http://www.jboss.com/xml/ns/javaee}jndi-binding-policyType" minOccurs="0"/>
+ *         &lt;element name="clustered" type="{http://www.jboss.com/xml/ns/javaee}clusteredType" minOccurs="0"/>
+ *         &lt;element name="cluster-config" type="{http://www.jboss.com/xml/ns/javaee}cluster-configType" minOccurs="0"/>
+ *         &lt;element name="security-domain" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
+ *         &lt;element name="method-attributes" type="{http://www.jboss.com/xml/ns/javaee}method-attributesType" minOccurs="0"/>
+ *         &lt;element name="depends" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="annotation" type="{http://www.jboss.com/xml/ns/javaee}annotationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ignore-dependency" type="{http://www.jboss.com/xml/ns/javaee}ignore-dependencyType" minOccurs="0"/>
+ *         &lt;element name="aop-domain-name" type="{http://www.jboss.com/xml/ns/javaee}aop-domain-nameType" minOccurs="0"/>
+ *         &lt;element name="pool-config" type="{http://www.jboss.com/xml/ns/javaee}pool-configType" minOccurs="0"/>
+ *         &lt;element name="concurrent" type="{http://www.jboss.com/xml/ns/javaee}concurrentType" minOccurs="0"/>
+ *         &lt;element name="jndi-ref" type="{http://www.jboss.com/xml/ns/javaee}jndi-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="port-component" type="{http://www.jboss.com/xml/ns/javaee}port-componentType" minOccurs="0"/>
+ *         &lt;element name="ejb-timeout-identity" type="{http://www.jboss.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ServiceBeanMetaData
+{
+
+   /**
+    * 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 }
+    *     
+    */
+   String getEjbName();
+
+   /**
+    * Sets the value of the ejbName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbNameType }
+    *     
+    */
+   void setEjbName(String value);
+
+   /**
+    * Gets the value of the mappedName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XsdStringType }
+    *     
+    */
+   String getMappedName();
+
+   /**
+    * Sets the value of the mappedName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   void setMappedName(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<String> getBusinessLocal();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<String> getBusinessRemote();
+
+   /**
+    * Gets the value of the ejbClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link EjbClassType }
+    *     
+    */
+   String getEjbClass();
+
+   /**
+    * Sets the value of the ejbClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link EjbClassType }
+    *     
+    */
+   void setEjbClass(String value);
+
+   /**
+    * 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 JBossEnvEntryMetaData }
+    * 
+    * 
+    */
+   List<JBossEnvEntryMetaData> getEnvEntry();
+
+   /**
+    * 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 JBossEjbRefMetaData }
+    * 
+    * 
+    */
+   List<JBossEjbRefMetaData> getEjbRef();
+
+   /**
+    * 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 JBossEjbLocalRefMetaData }
+    * 
+    * 
+    */
+   List<JBossEjbLocalRefMetaData> getEjbLocalRef();
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<ServiceRefMetaData> getServiceRef();
+
+   /**
+    * 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 JBossResourceRefMetaData }
+    * 
+    * 
+    */
+   List<JBossResourceRefMetaData> getResourceRef();
+
+   /**
+    * 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 JBossResourceEnvRefMetaData }
+    * 
+    * 
+    */
+   List<JBossResourceEnvRefMetaData> getResourceEnvRef();
+
+   /**
+    * 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 JBossMessageDestinationRefMetaData }
+    * 
+    * 
+    */
+   List<JBossMessageDestinationRefMetaData> 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 JBossPersistenceContextRefMetaData }
+    * 
+    * 
+    */
+   List<JBossPersistenceContextRefMetaData> getPersistenceContextRef();
+
+   /**
+    * 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 JBossPersistenceUnitRefMetaData }
+    * 
+    * 
+    */
+   List<JBossPersistenceUnitRefMetaData> 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 securityIdentity property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JBossSecurityIdentityMetaData }
+    *     
+    */
+   JBossSecurityIdentityMetaData getSecurityIdentity();
+
+   /**
+    * Sets the value of the securityIdentity property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JBossSecurityIdentityMetaData }
+    *     
+    */
+   void setSecurityIdentity(JBossSecurityIdentityMetaData value);
+
+   /**
+    * Gets the value of the objectName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link JmxNameType }
+    *     
+    */
+   String getObjectName();
+
+   /**
+    * Sets the value of the objectName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JmxNameType }
+    *     
+    */
+   void setObjectName(String value);
+
+   /**
+    * Gets the value of the management property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ManagementType }
+    *     
+    */
+   String getManagement();
+
+   /**
+    * Sets the value of the management property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ManagementType }
+    *     
+    */
+   void setManagement(String value);
+
+   /**
+    * Gets the value of the xmbean property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link XmbeanType }
+    *     
+    */
+   String getXmbean();
+
+   /**
+    * Sets the value of the xmbean property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XmbeanType }
+    *     
+    */
+   void setXmbean(String value);
+
+   /**
+    * 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 JndiNameType }
+    *     
+    */
+   String getLocalJndiName();
+
+   /**
+    * Sets the value of the localJndiName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link JndiNameType }
+    *     
+    */
+   void setLocalJndiName(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 XsdStringType }
+    *     
+    */
+   String getSecurityDomain();
+
+   /**
+    * Sets the value of the securityDomain property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link XsdStringType }
+    *     
+    */
+   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 XsdStringType }
+    * 
+    * 
+    */
+   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 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);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ServiceRefMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ServiceRefMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/ServiceRefMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,270 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * 
+ *                  
+ *   Runtime settings for a web service reference. In the simplest case,
+ *   there is no runtime information required for a service ref.  Runtime info
+ *   is only needed in the following cases :
+ * 
+ *   * to define the port that should be used to resolve a container-managed port
+ *   * to define default Stub property settings for Stub objects
+ *   * to define the URL of a final WSDL document to be used
+ * 
+ *   Example:
+ * 
+ *   <service-ref>
+ *    <service-ref-name>OrganizationService</service-ref-name>
+ *    <wsdl-override>file:/wsdlRepository/organization-service.wsdl</wsdl-override>
+ *   </service-ref>
+ * 
+ *   <service-ref>
+ *    <service-ref-name>OrganizationService</service-ref-name>
+ *    <config-name>Secure Client Config</config-name>
+ *    <config-file>META-INF/jbossws-client-config.xml</config-file>
+ *    <handler-chain>META-INF/jbossws-client-handlers.xml</handler-chain>
+ *   </service-ref>
+ * 
+ *   <service-ref>
+ *    <service-ref-name>SecureService</service-ref-name>
+ *    <service-impl-class>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService</service-impl-class>
+ *    <service-qname>{http://org.jboss.ws/wsref}SecureEndpointService</service-qname>
+ *     <port-component-ref>
+ *      <service-endpoint-interface>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint</service-endpoint-interface>
+ *      <port-qname>{http://org.jboss.ws/wsref}SecureEndpointPort</port-qname>
+ *      <stub-property>
+ *       <name>javax.xml.ws.security.auth.username</name>
+ *       <value>kermit</value>
+ *      </stub-property>
+ *      <stub-property>
+ *       <name>javax.xml.ws.security.auth.password</name>
+ *       <value>thefrog</value>
+ *      </stub-property>
+ *    </port-component-ref>
+ *   </service-ref>
+ *     
+ *          
+ * 
+ * <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>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="service-ref-name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="service-impl-class" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="service-qname" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="config-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="config-file" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="handler-chain" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="port-component-ref" type="{http://www.jboss.com/xml/ns/javaee}port-component-refType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="wsdl-override" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface ServiceRefMetaData
+{
+
+   /**
+    * Gets the value of the serviceRefName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getServiceRefName();
+
+   /**
+    * Sets the value of the serviceRefName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setServiceRefName(String value);
+
+   /**
+    * Gets the value of the serviceImplClass property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getServiceImplClass();
+
+   /**
+    * Sets the value of the serviceImplClass property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setServiceImplClass(String value);
+
+   /**
+    * Gets the value of the serviceQname property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getServiceQname();
+
+   /**
+    * Sets the value of the serviceQname property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setServiceQname(String value);
+
+   /**
+    * Gets the value of the configName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getConfigName();
+
+   /**
+    * Sets the value of the configName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setConfigName(String value);
+
+   /**
+    * Gets the value of the configFile property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getConfigFile();
+
+   /**
+    * Sets the value of the configFile property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setConfigFile(String value);
+
+   /**
+    * Gets the value of the handlerChain property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getHandlerChain();
+
+   /**
+    * Sets the value of the handlerChain property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setHandlerChain(String value);
+
+   /**
+    * 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 }
+    * 
+    * 
+    */
+   List<PortComponentRefMetaData> getPortComponentRef();
+
+   /**
+    * Gets the value of the wsdlOverride property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getWsdlOverride();
+
+   /**
+    * Sets the value of the wsdlOverride property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setWsdlOverride(String value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/StubPropertyMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/StubPropertyMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/StubPropertyMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,73 @@
+//
+// 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;
+
+/**
+ * <p>Java class for stub-propertyType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="stub-propertyType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="prop-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="prop-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface StubPropertyMetaData
+{
+
+   /**
+    * Gets the value of the propName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getPropName();
+
+   /**
+    * Sets the value of the propName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setPropName(String value);
+
+   /**
+    * Gets the value of the propValue property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getPropValue();
+
+   /**
+    * Sets the value of the propValue property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setPropValue(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/WebserviceDescriptionMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/WebserviceDescriptionMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/WebserviceDescriptionMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,145 @@
+//
+// 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;
+
+/**
+ * 
+ *             
+ *             Runtime information about a web service.
+ *             wsdl-publish-location is optionally used to specify
+ *             where the final wsdl and any dependent files should be stored.  This location
+ *             resides on the file system from which deployment is initiated.
+ *             
+ *          
+ * 
+ * <p>Java class for webservice-descriptionType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="webservice-descriptionType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="webservice-description-name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="config-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="config-file" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="wsdl-publish-location" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface WebserviceDescriptionMetaData
+{
+
+   /**
+    * Gets the value of the webserviceDescriptionName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getWebserviceDescriptionName();
+
+   /**
+    * Sets the value of the webserviceDescriptionName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setWebserviceDescriptionName(String value);
+
+   /**
+    * Gets the value of the configName property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getConfigName();
+
+   /**
+    * Sets the value of the configName property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setConfigName(String value);
+
+   /**
+    * Gets the value of the configFile property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getConfigFile();
+
+   /**
+    * Sets the value of the configFile property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setConfigFile(String value);
+
+   /**
+    * Gets the value of the wsdlPublishLocation property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getWsdlPublishLocation();
+
+   /**
+    * Sets the value of the wsdlPublishLocation property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setWsdlPublishLocation(String value);
+
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   String getId();
+
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   void setId(String value);
+
+}

Added: projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/WebservicesMetaData.java
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/WebservicesMetaData.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/WebservicesMetaData.java	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,100 @@
+//
+// 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;
+
+import java.util.List;
+
+/**
+ * <p>Java class for webservicesType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="webservicesType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="context-root" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
+ *         &lt;element name="webservice-description" type="{http://www.jboss.com/xml/ns/javaee}webservice-descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+public interface WebservicesMetaData
+{
+
+   /**
+    * Gets the value of the contextRoot property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   String getContextRoot();
+
+   /**
+    * Sets the value of the contextRoot property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link com.sun.java.xml.ns.javaee.String }
+    *     
+    */
+   void setContextRoot(String value);
+
+   /**
+    * Gets the value of the webserviceDescription 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 webserviceDescription property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getWebserviceDescription().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link WebserviceDescriptionMetaData }
+    * 
+    * 
+    */
+   List<WebserviceDescriptionMetaData> getWebserviceDescription();
+
+   /**
+    * 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/jboss/jaxb.properties
===================================================================
--- projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/jaxb.properties	                        (rev 0)
+++ projects/ejb3/trunk/metadata-spi/src/main/java/org/jboss/ejb3/metadata/spi/jboss/jaxb.properties	2009-06-22 12:05:52 UTC (rev 90495)
@@ -0,0 +1,2 @@
+#Mon Jun 08 19:12:16 IST 2009
+javax.xml.bind.context.factory=org.jboss.ejb3.metadata.spi.impl.JAXBContextFactory




More information about the jboss-cvs-commits mailing list