You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by mn...@apache.org on 2009/11/05 00:48:42 UTC

svn commit: r832913 [7/12] - in /openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was: ./ v6/ v6/common/ v6/commonbnd/ v6/ecore/ v6/ejb/ v6/ejbbnd/ v6/java/ v6/webservice/ v6/webservice/clientbnd/ v6/wsclient/ v6/xmi/

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/EJBRelationshipRole.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/EJBRelationshipRole.java?rev=832913&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/EJBRelationshipRole.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/EJBRelationshipRole.java Wed Nov  4 23:48:38 2009
@@ -0,0 +1,519 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *  
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+package org.apache.openejb.jee.was.v6.ejb;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlIDREF;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.namespace.QName;
+import org.apache.openejb.jee.was.v6.common.Description;
+import org.apache.openejb.jee.was.v6.xmi.Extension;
+
+/**
+ * 
+ * @since J2EE1.3 The ejb-relationship-role element describes a role within a
+ *        relationship. There are two roles in each relationship. The
+ *        ejb-relationship-role element 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 relationship-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 that
+ *        entity bean that participates in the relationship is "not aware" of
+ *        the relationship.
+ * @invariant multiplicity != null
+ * 
+ * @invariant roleSource != null
+ * @invariant Cascade delete can only be specified in an EJBRelationshipRole
+ *            element in which the roleSource element specifies a dependent
+ *            object class.
+ * 
+ * 
+ * @invariant Cascade delete can only be specified for an EJBRelationshipRole
+ *            contained in an EJBrelation in which the other EJBRelationshipRole
+ *            element specifies a multiplicity of One.
+ * 
+ * 
+ *            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> ...
+ * 
+ * 
+ *            <p>
+ *            Java class for EJBRelationshipRole complex type.
+ * 
+ *            <p>
+ *            The following schema fragment specifies the expected content
+ *            contained within this class.
+ * 
+ *            <pre>
+ * &lt;complexType name="EJBRelationshipRole">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="source" type="{ejb.xmi}RoleSource"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="cmrField" type="{ejb.xmi}CMRField"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="descriptions" type="{common.xmi}Description"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element ref="{http://www.omg.org/XMI}Extension"/>
+ *         &lt;/choice>
+ *       &lt;/choice>
+ *       &lt;attGroup ref="{http://www.omg.org/XMI}ObjectAttribs"/>
+ *       &lt;attribute name="cascadeDelete" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="multiplicity" type="{ejb.xmi}MultiplicityKind" />
+ *       &lt;attribute name="roleName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute ref="{http://www.omg.org/XMI}id"/>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EJBRelationshipRole", propOrder = { "sources", "cmrFields",
+		"descriptions", "extensions" })
+public class EJBRelationshipRole {
+
+	@XmlElement(name = "source")
+	protected List<RoleSource> sources;
+	@XmlElement(name = "cmrField")
+	protected List<CMRField> cmrFields;
+	protected List<Description> descriptions;
+	@XmlElement(name = "Extension", namespace = "http://www.omg.org/XMI")
+	protected List<Extension> extensions;
+	@XmlAttribute
+	protected Boolean cascadeDelete;
+	@XmlAttribute
+	protected String description;
+	@XmlAttribute
+	protected MultiplicityEnum multiplicity;
+	@XmlAttribute
+	protected String roleName;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+	@XmlID
+	protected String id;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected QName type;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String version;
+	@XmlAttribute
+	protected String href;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	@XmlIDREF
+	protected Object idref;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String label;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String uuid;
+
+	/**
+	 * Gets the value of the sources property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the sources property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getSources().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link RoleSource }
+	 * 
+	 * 
+	 */
+	public List<RoleSource> getSources() {
+		if (sources == null) {
+			sources = new ArrayList<RoleSource>();
+		}
+		return this.sources;
+	}
+
+	/**
+	 * Gets the value of the cmrFields property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the cmrFields property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getCmrFields().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list {@link CMRField }
+	 * 
+	 * 
+	 */
+	public List<CMRField> getCmrFields() {
+		if (cmrFields == null) {
+			cmrFields = new ArrayList<CMRField>();
+		}
+		return this.cmrFields;
+	}
+
+	/**
+	 * Gets the value of the descriptions property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the descriptions property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getDescriptions().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link Description }
+	 * 
+	 * 
+	 */
+	public List<Description> getDescriptions() {
+		if (descriptions == null) {
+			descriptions = new ArrayList<Description>();
+		}
+		return this.descriptions;
+	}
+
+	/**
+	 * Gets the value of the extensions property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the extensions property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getExtensions().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link Extension }
+	 * 
+	 * 
+	 */
+	public List<Extension> getExtensions() {
+		if (extensions == null) {
+			extensions = new ArrayList<Extension>();
+		}
+		return this.extensions;
+	}
+
+	/**
+	 * Gets the value of the cascadeDelete property.
+	 * 
+	 * @return possible object is {@link Boolean }
+	 * 
+	 */
+	public Boolean isCascadeDelete() {
+		return cascadeDelete;
+	}
+
+	/**
+	 * Sets the value of the cascadeDelete property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link Boolean }
+	 * 
+	 */
+	public void setCascadeDelete(Boolean value) {
+		this.cascadeDelete = value;
+	}
+
+	/**
+	 * Gets the value of the description property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * Sets the value of the description property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setDescription(String value) {
+		this.description = value;
+	}
+
+	/**
+	 * Gets the value of the multiplicity property.
+	 * 
+	 * @return possible object is {@link MultiplicityEnum }
+	 * 
+	 */
+	public MultiplicityEnum getMultiplicity() {
+		return multiplicity;
+	}
+
+	/**
+	 * Sets the value of the multiplicity property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link MultiplicityEnum }
+	 * 
+	 */
+	public void setMultiplicity(MultiplicityEnum value) {
+		this.multiplicity = value;
+	}
+
+	/**
+	 * Gets the value of the roleName property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getRoleName() {
+		return roleName;
+	}
+
+	/**
+	 * Sets the value of the roleName property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setRoleName(String value) {
+		this.roleName = value;
+	}
+
+	/**
+	 * Gets the value of the id property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * Sets the value of the id property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setId(String value) {
+		this.id = value;
+	}
+
+	/**
+	 * Gets the value of the type property.
+	 * 
+	 * @return possible object is {@link QName }
+	 * 
+	 */
+	public QName getType() {
+		return type;
+	}
+
+	/**
+	 * Sets the value of the type property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link QName }
+	 * 
+	 */
+	public void setType(QName value) {
+		this.type = value;
+	}
+
+	/**
+	 * Gets the value of the version property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getVersion() {
+		if (version == null) {
+			return "2.0";
+		} else {
+			return version;
+		}
+	}
+
+	/**
+	 * Sets the value of the version property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setVersion(String value) {
+		this.version = value;
+	}
+
+	/**
+	 * Gets the value of the href property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getHref() {
+		return href;
+	}
+
+	/**
+	 * Sets the value of the href property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setHref(String value) {
+		this.href = value;
+	}
+
+	/**
+	 * Gets the value of the idref property.
+	 * 
+	 * @return possible object is {@link Object }
+	 * 
+	 */
+	public Object getIdref() {
+		return idref;
+	}
+
+	/**
+	 * Sets the value of the idref property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link Object }
+	 * 
+	 */
+	public void setIdref(Object value) {
+		this.idref = value;
+	}
+
+	/**
+	 * Gets the value of the label property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getLabel() {
+		return label;
+	}
+
+	/**
+	 * Sets the value of the label property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setLabel(String value) {
+		this.label = value;
+	}
+
+	/**
+	 * Gets the value of the uuid property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getUuid() {
+		return uuid;
+	}
+
+	/**
+	 * Sets the value of the uuid property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setUuid(String value) {
+		this.uuid = value;
+	}
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/EnterpriseBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/EnterpriseBean.java?rev=832913&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/EnterpriseBean.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/EnterpriseBean.java Wed Nov  4 23:48:38 2009
@@ -0,0 +1,460 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *  
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+package org.apache.openejb.jee.was.v6.ejb;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.openejb.jee.was.v6.common.JNDIEnvRefsGroup;
+import org.apache.openejb.jee.was.v6.common.SecurityIdentity;
+import org.apache.openejb.jee.was.v6.common.SecurityRoleRef;
+import org.apache.openejb.jee.was.v6.java.JavaClass;
+
+/**
+ * 
+ * EnterpriseJavaBean is a class. It can have instances, someone could write an
+ * instance document containing Departments and Employees. It also has
+ * attributes, operations, and associations. These are actually derived/filtered
+ * from its implementation classes and interfaces. For mapping and browsing
+ * purposes, though, you would like the EJB to appear as a class.
+ * 
+ * In this light, even Session Beans can have associations and properties
+ * implemented by their bean. For example, it would be meaningful to describe
+ * associations from a Session to the Entities which it uses to perform its
+ * work.
+ * 
+ * 
+ * <p>
+ * Java class for EnterpriseBean complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="EnterpriseBean">
+ *   &lt;complexContent>
+ *     &lt;extension base="{common.xmi}JNDIEnvRefsGroup">
+ *       &lt;choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="securityRoleRefs" type="{common.xmi}SecurityRoleRef"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="ejbClass" type="{java.xmi}JavaClass"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="homeInterface" type="{java.xmi}JavaClass"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="remoteInterface" type="{java.xmi}JavaClass"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="securityIdentity" type="{common.xmi}SecurityIdentity"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="localHomeInterface" type="{java.xmi}JavaClass"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="localInterface" type="{java.xmi}JavaClass"/>
+ *         &lt;/choice>
+ *       &lt;/choice>
+ *       &lt;attribute name="ejbClass" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="homeInterface" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="localHomeInterface" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="localInterface" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="remoteInterface" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EnterpriseBean", propOrder = { "securityRoleRefs",
+		"ejbClasses", "homeInterfaces", "remoteInterfaces",
+		"securityIdentities", "localHomeInterfaces", "localInterfaces" })
+public class EnterpriseBean extends JNDIEnvRefsGroup {
+
+	protected List<SecurityRoleRef> securityRoleRefs;
+	@XmlElement(name = "ejbClass")
+	protected List<JavaClass> ejbClasses;
+	@XmlElement(name = "homeInterface")
+	protected List<JavaClass> homeInterfaces;
+	@XmlElement(name = "remoteInterface")
+	protected List<JavaClass> remoteInterfaces;
+	@XmlElement(name = "securityIdentity")
+	protected List<SecurityIdentity> securityIdentities;
+	@XmlElement(name = "localHomeInterface")
+	protected List<JavaClass> localHomeInterfaces;
+	@XmlElement(name = "localInterface")
+	protected List<JavaClass> localInterfaces;
+	@XmlAttribute
+	protected String ejbClass;
+	@XmlAttribute
+	protected String homeInterface;
+	@XmlAttribute
+	protected String localHomeInterface;
+	@XmlAttribute
+	protected String localInterface;
+	@XmlAttribute
+	protected String name;
+	@XmlAttribute
+	protected String remoteInterface;
+
+	/**
+	 * Gets the value of the securityRoleRefs property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the securityRoleRefs property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getSecurityRoleRefs().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link SecurityRoleRef }
+	 * 
+	 * 
+	 */
+	public List<SecurityRoleRef> getSecurityRoleRefs() {
+		if (securityRoleRefs == null) {
+			securityRoleRefs = new ArrayList<SecurityRoleRef>();
+		}
+		return this.securityRoleRefs;
+	}
+
+	/**
+	 * Gets the value of the ejbClasses property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the ejbClasses property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getEjbClasses().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link JavaClass }
+	 * 
+	 * 
+	 */
+	public List<JavaClass> getEjbClasses() {
+		if (ejbClasses == null) {
+			ejbClasses = new ArrayList<JavaClass>();
+		}
+		return this.ejbClasses;
+	}
+
+	/**
+	 * Gets the value of the homeInterfaces property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the homeInterfaces property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getHomeInterfaces().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link JavaClass }
+	 * 
+	 * 
+	 */
+	public List<JavaClass> getHomeInterfaces() {
+		if (homeInterfaces == null) {
+			homeInterfaces = new ArrayList<JavaClass>();
+		}
+		return this.homeInterfaces;
+	}
+
+	/**
+	 * Gets the value of the remoteInterfaces property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the remoteInterfaces property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getRemoteInterfaces().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link JavaClass }
+	 * 
+	 * 
+	 */
+	public List<JavaClass> getRemoteInterfaces() {
+		if (remoteInterfaces == null) {
+			remoteInterfaces = new ArrayList<JavaClass>();
+		}
+		return this.remoteInterfaces;
+	}
+
+	/**
+	 * Gets the value of the securityIdentities property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the securityIdentities property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getSecurityIdentities().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link SecurityIdentity }
+	 * 
+	 * 
+	 */
+	public List<SecurityIdentity> getSecurityIdentities() {
+		if (securityIdentities == null) {
+			securityIdentities = new ArrayList<SecurityIdentity>();
+		}
+		return this.securityIdentities;
+	}
+
+	/**
+	 * Gets the value of the localHomeInterfaces property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the localHomeInterfaces property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getLocalHomeInterfaces().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link JavaClass }
+	 * 
+	 * 
+	 */
+	public List<JavaClass> getLocalHomeInterfaces() {
+		if (localHomeInterfaces == null) {
+			localHomeInterfaces = new ArrayList<JavaClass>();
+		}
+		return this.localHomeInterfaces;
+	}
+
+	/**
+	 * Gets the value of the localInterfaces property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the localInterfaces property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getLocalInterfaces().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link JavaClass }
+	 * 
+	 * 
+	 */
+	public List<JavaClass> getLocalInterfaces() {
+		if (localInterfaces == null) {
+			localInterfaces = new ArrayList<JavaClass>();
+		}
+		return this.localInterfaces;
+	}
+
+	/**
+	 * Gets the value of the ejbClass property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getEjbClass() {
+		return ejbClass;
+	}
+
+	/**
+	 * Sets the value of the ejbClass property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setEjbClass(String value) {
+		this.ejbClass = value;
+	}
+
+	/**
+	 * Gets the value of the homeInterface property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getHomeInterface() {
+		return homeInterface;
+	}
+
+	/**
+	 * Sets the value of the homeInterface property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setHomeInterface(String value) {
+		this.homeInterface = value;
+	}
+
+	/**
+	 * Gets the value of the localHomeInterface property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getLocalHomeInterface() {
+		return localHomeInterface;
+	}
+
+	/**
+	 * Sets the value of the localHomeInterface property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setLocalHomeInterface(String value) {
+		this.localHomeInterface = value;
+	}
+
+	/**
+	 * Gets the value of the localInterface property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getLocalInterface() {
+		return localInterface;
+	}
+
+	/**
+	 * Sets the value of the localInterface property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setLocalInterface(String value) {
+		this.localInterface = value;
+	}
+
+	/**
+	 * Gets the value of the name property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * Sets the value of the name property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setName(String value) {
+		this.name = value;
+	}
+
+	/**
+	 * Gets the value of the remoteInterface property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getRemoteInterface() {
+		return remoteInterface;
+	}
+
+	/**
+	 * Sets the value of the remoteInterface property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setRemoteInterface(String value) {
+		this.remoteInterface = value;
+	}
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/Entity.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/Entity.java?rev=832913&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/Entity.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/Entity.java Wed Nov  4 23:48:38 2009
@@ -0,0 +1,174 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *  
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+package org.apache.openejb.jee.was.v6.ejb;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.openejb.jee.was.v6.java.JavaClass;
+
+/**
+ * 
+ * The entity element declares an entity bean. The declaration consists of: an
+ * optional description; optional display name; optional small icon file name;
+ * optional large icon file name; a unique name assigned to the enterprise bean
+ * in the deployment descriptor; the names of the entity bean’s home and remote
+ * interfaces, if any; the names of the entity bean’s local home and local
+ * interface, if any; the entity bean’s implementation class; the entity bean’s
+ * persistence management type; 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 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 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 local-home and local elements must be
+ * specified if the entity bean has a local home and local interface. 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 complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="Entity">
+ *   &lt;complexContent>
+ *     &lt;extension base="{ejb.xmi}EnterpriseBean">
+ *       &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *         &lt;element name="primaryKey" type="{java.xmi}JavaClass"/>
+ *       &lt;/choice>
+ *       &lt;attribute name="primaryKey" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="reentrant" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Entity", propOrder = { "primaryKeys" })
+public class Entity extends EnterpriseBean {
+
+	@XmlElement(name = "primaryKey")
+	protected List<JavaClass> primaryKeys;
+	@XmlAttribute
+	protected String primaryKey;
+	@XmlAttribute
+	protected Boolean reentrant;
+
+	/**
+	 * Gets the value of the primaryKeys property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the primaryKeys property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getPrimaryKeys().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link JavaClass }
+	 * 
+	 * 
+	 */
+	public List<JavaClass> getPrimaryKeys() {
+		if (primaryKeys == null) {
+			primaryKeys = new ArrayList<JavaClass>();
+		}
+		return this.primaryKeys;
+	}
+
+	/**
+	 * Gets the value of the primaryKey property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getPrimaryKey() {
+		return primaryKey;
+	}
+
+	/**
+	 * Sets the value of the primaryKey property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setPrimaryKey(String value) {
+		this.primaryKey = value;
+	}
+
+	/**
+	 * Gets the value of the reentrant property.
+	 * 
+	 * @return possible object is {@link Boolean }
+	 * 
+	 */
+	public Boolean isReentrant() {
+		return reentrant;
+	}
+
+	/**
+	 * Sets the value of the reentrant property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link Boolean }
+	 * 
+	 */
+	public void setReentrant(Boolean value) {
+		this.reentrant = value;
+	}
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/ExcludeList.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/ExcludeList.java?rev=832913&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/ExcludeList.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/ExcludeList.java Wed Nov  4 23:48:38 2009
@@ -0,0 +1,366 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *  
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+package org.apache.openejb.jee.was.v6.ejb;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlIDREF;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.namespace.QName;
+import org.apache.openejb.jee.was.v6.common.Description;
+import org.apache.openejb.jee.was.v6.xmi.Extension;
+
+/**
+ * 
+ * The exclude list element defines a set of methods which the Assembler marks
+ * to be uncallable. It contains one or more methods.
+ * 
+ * If the method permission relation contains methods that are in the exclude
+ * list, the Deployer must consider those methods to be uncallable.
+ * 
+ * 
+ * <p>
+ * Java class for ExcludeList complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ExcludeList">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="methodElements" type="{ejb.xmi}MethodElement"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="descriptions" type="{common.xmi}Description"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element ref="{http://www.omg.org/XMI}Extension"/>
+ *         &lt;/choice>
+ *       &lt;/choice>
+ *       &lt;attGroup ref="{http://www.omg.org/XMI}ObjectAttribs"/>
+ *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute ref="{http://www.omg.org/XMI}id"/>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ExcludeList", propOrder = { "methodElements", "descriptions",
+		"extensions" })
+public class ExcludeList {
+
+	protected List<MethodElement> methodElements;
+	protected List<Description> descriptions;
+	@XmlElement(name = "Extension", namespace = "http://www.omg.org/XMI")
+	protected List<Extension> extensions;
+	@XmlAttribute
+	protected String description;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+	@XmlID
+	protected String id;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected QName type;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String version;
+	@XmlAttribute
+	protected String href;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	@XmlIDREF
+	protected Object idref;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String label;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String uuid;
+
+	/**
+	 * Gets the value of the methodElements property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the methodElements property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getMethodElements().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link MethodElement }
+	 * 
+	 * 
+	 */
+	public List<MethodElement> getMethodElements() {
+		if (methodElements == null) {
+			methodElements = new ArrayList<MethodElement>();
+		}
+		return this.methodElements;
+	}
+
+	/**
+	 * Gets the value of the descriptions property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the descriptions property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getDescriptions().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link Description }
+	 * 
+	 * 
+	 */
+	public List<Description> getDescriptions() {
+		if (descriptions == null) {
+			descriptions = new ArrayList<Description>();
+		}
+		return this.descriptions;
+	}
+
+	/**
+	 * Gets the value of the extensions property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the extensions property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getExtensions().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link Extension }
+	 * 
+	 * 
+	 */
+	public List<Extension> getExtensions() {
+		if (extensions == null) {
+			extensions = new ArrayList<Extension>();
+		}
+		return this.extensions;
+	}
+
+	/**
+	 * Gets the value of the description property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * Sets the value of the description property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setDescription(String value) {
+		this.description = value;
+	}
+
+	/**
+	 * Gets the value of the id property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * Sets the value of the id property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setId(String value) {
+		this.id = value;
+	}
+
+	/**
+	 * Gets the value of the type property.
+	 * 
+	 * @return possible object is {@link QName }
+	 * 
+	 */
+	public QName getType() {
+		return type;
+	}
+
+	/**
+	 * Sets the value of the type property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link QName }
+	 * 
+	 */
+	public void setType(QName value) {
+		this.type = value;
+	}
+
+	/**
+	 * Gets the value of the version property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getVersion() {
+		if (version == null) {
+			return "2.0";
+		} else {
+			return version;
+		}
+	}
+
+	/**
+	 * Sets the value of the version property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setVersion(String value) {
+		this.version = value;
+	}
+
+	/**
+	 * Gets the value of the href property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getHref() {
+		return href;
+	}
+
+	/**
+	 * Sets the value of the href property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setHref(String value) {
+		this.href = value;
+	}
+
+	/**
+	 * Gets the value of the idref property.
+	 * 
+	 * @return possible object is {@link Object }
+	 * 
+	 */
+	public Object getIdref() {
+		return idref;
+	}
+
+	/**
+	 * Sets the value of the idref property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link Object }
+	 * 
+	 */
+	public void setIdref(Object value) {
+		this.idref = value;
+	}
+
+	/**
+	 * Gets the value of the label property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getLabel() {
+		return label;
+	}
+
+	/**
+	 * Sets the value of the label property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setLabel(String value) {
+		this.label = value;
+	}
+
+	/**
+	 * Gets the value of the uuid property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getUuid() {
+		return uuid;
+	}
+
+	/**
+	 * Sets the value of the uuid property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setUuid(String value) {
+		this.uuid = value;
+	}
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MessageDriven.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MessageDriven.java?rev=832913&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MessageDriven.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MessageDriven.java Wed Nov  4 23:48:38 2009
@@ -0,0 +1,361 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *  
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+package org.apache.openejb.jee.was.v6.ejb;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.openejb.jee.was.v6.java.JavaClass;
+
+/**
+ * 
+ * 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 - the message-driven
+ * bean's implementation class - an optional declaration of the bean's messaging
+ * type - the message-driven bean's transaction management type - 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
+ * 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 MessageDriven complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="MessageDriven">
+ *   &lt;complexContent>
+ *     &lt;extension base="{ejb.xmi}EnterpriseBean">
+ *       &lt;choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="destination" type="{ejb.xmi}MessageDrivenDestination"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="activationConfig" type="{ejb.xmi}ActivationConfig"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="messageDestination" type="{java.xmi}JavaClass"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="messagingType" type="{java.xmi}JavaClass"/>
+ *         &lt;/choice>
+ *       &lt;/choice>
+ *       &lt;attribute name="acknowledgeMode" type="{ejb.xmi}AcknowledgeMode" />
+ *       &lt;attribute name="link" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="messageDestination" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="messageSelector" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="messagingType" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="transactionType" type="{ejb.xmi}TransactionType" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MessageDriven", propOrder = { "destinations",
+		"activationConfigs", "messageDestinations", "messagingTypes" })
+public class MessageDriven extends EnterpriseBean {
+
+	@XmlElement(name = "destination")
+	protected List<MessageDrivenDestination> destinations;
+	@XmlElement(name = "activationConfig")
+	protected List<ActivationConfig> activationConfigs;
+	@XmlElement(name = "messageDestination")
+	protected List<JavaClass> messageDestinations;
+	@XmlElement(name = "messagingType")
+	protected List<JavaClass> messagingTypes;
+	@XmlAttribute
+	protected AcknowledgeModeEnum acknowledgeMode;
+	@XmlAttribute
+	protected String link;
+	@XmlAttribute
+	protected String messageDestination;
+	@XmlAttribute
+	protected String messageSelector;
+	@XmlAttribute
+	protected String messagingType;
+	@XmlAttribute
+	protected TransactionEnum transactionType;
+
+	/**
+	 * Gets the value of the destinations property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the destinations property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getDestinations().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link MessageDrivenDestination }
+	 * 
+	 * 
+	 */
+	public List<MessageDrivenDestination> getDestinations() {
+		if (destinations == null) {
+			destinations = new ArrayList<MessageDrivenDestination>();
+		}
+		return this.destinations;
+	}
+
+	/**
+	 * Gets the value of the activationConfigs property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the activationConfigs property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getActivationConfigs().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link ActivationConfig }
+	 * 
+	 * 
+	 */
+	public List<ActivationConfig> getActivationConfigs() {
+		if (activationConfigs == null) {
+			activationConfigs = new ArrayList<ActivationConfig>();
+		}
+		return this.activationConfigs;
+	}
+
+	/**
+	 * Gets the value of the messageDestinations property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the messageDestinations property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getMessageDestinations().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link JavaClass }
+	 * 
+	 * 
+	 */
+	public List<JavaClass> getMessageDestinations() {
+		if (messageDestinations == null) {
+			messageDestinations = new ArrayList<JavaClass>();
+		}
+		return this.messageDestinations;
+	}
+
+	/**
+	 * Gets the value of the messagingTypes property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the messagingTypes property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getMessagingTypes().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link JavaClass }
+	 * 
+	 * 
+	 */
+	public List<JavaClass> getMessagingTypes() {
+		if (messagingTypes == null) {
+			messagingTypes = new ArrayList<JavaClass>();
+		}
+		return this.messagingTypes;
+	}
+
+	/**
+	 * Gets the value of the acknowledgeMode property.
+	 * 
+	 * @return possible object is {@link AcknowledgeModeEnum }
+	 * 
+	 */
+	public AcknowledgeModeEnum getAcknowledgeMode() {
+		return acknowledgeMode;
+	}
+
+	/**
+	 * Sets the value of the acknowledgeMode property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link AcknowledgeModeEnum }
+	 * 
+	 */
+	public void setAcknowledgeMode(AcknowledgeModeEnum value) {
+		this.acknowledgeMode = value;
+	}
+
+	/**
+	 * Gets the value of the link property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getLink() {
+		return link;
+	}
+
+	/**
+	 * Sets the value of the link property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setLink(String value) {
+		this.link = value;
+	}
+
+	/**
+	 * Gets the value of the messageDestination property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getMessageDestination() {
+		return messageDestination;
+	}
+
+	/**
+	 * Sets the value of the messageDestination property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setMessageDestination(String value) {
+		this.messageDestination = value;
+	}
+
+	/**
+	 * Gets the value of the messageSelector property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getMessageSelector() {
+		return messageSelector;
+	}
+
+	/**
+	 * Sets the value of the messageSelector property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setMessageSelector(String value) {
+		this.messageSelector = value;
+	}
+
+	/**
+	 * Gets the value of the messagingType property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getMessagingType() {
+		return messagingType;
+	}
+
+	/**
+	 * Sets the value of the messagingType property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setMessagingType(String value) {
+		this.messagingType = value;
+	}
+
+	/**
+	 * Gets the value of the transactionType property.
+	 * 
+	 * @return possible object is {@link TransactionEnum }
+	 * 
+	 */
+	public TransactionEnum getTransactionType() {
+		return transactionType;
+	}
+
+	/**
+	 * Sets the value of the transactionType property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link TransactionEnum }
+	 * 
+	 */
+	public void setTransactionType(TransactionEnum value) {
+		this.transactionType = value;
+	}
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MessageDrivenDestination.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MessageDrivenDestination.java?rev=832913&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MessageDrivenDestination.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MessageDrivenDestination.java Wed Nov  4 23:48:38 2009
@@ -0,0 +1,318 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *  
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+package org.apache.openejb.jee.was.v6.ejb;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlIDREF;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.namespace.QName;
+import org.apache.openejb.jee.was.v6.xmi.Extension;
+
+/**
+ * 
+ * The message-driven-destination element provides advice to the Deployer as to
+ * whether a message-driven bean is intended for a Queue or a Topic. The
+ * declaration consists of: the type of the message-driven bean's intended
+ * destination and an optional declaration of whether a durable or non-durable
+ * subscription should be used if the destination-type is javax.jms.Topic.
+ * 
+ * 
+ * <p>
+ * Java class for MessageDrivenDestination complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="MessageDrivenDestination">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *         &lt;element ref="{http://www.omg.org/XMI}Extension"/>
+ *       &lt;/choice>
+ *       &lt;attGroup ref="{http://www.omg.org/XMI}ObjectAttribs"/>
+ *       &lt;attribute name="subscriptionDurability" type="{ejb.xmi}SubscriptionDurabilityKind" />
+ *       &lt;attribute name="type" type="{ejb.xmi}DestinationType" />
+ *       &lt;attribute ref="{http://www.omg.org/XMI}id"/>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MessageDrivenDestination", propOrder = { "extensions" })
+public class MessageDrivenDestination {
+
+	@XmlElement(name = "Extension", namespace = "http://www.omg.org/XMI")
+	protected List<Extension> extensions;
+	@XmlAttribute
+	protected SubscriptionDurabilityEnum subscriptionDurability;
+	@XmlAttribute(name = "type")
+	protected DestinationEnum destinationType;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+	@XmlID
+	protected String id;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected QName type;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String version;
+	@XmlAttribute
+	protected String href;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	@XmlIDREF
+	protected Object idref;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String label;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String uuid;
+
+	/**
+	 * Gets the value of the extensions property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the extensions property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getExtensions().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link Extension }
+	 * 
+	 * 
+	 */
+	public List<Extension> getExtensions() {
+		if (extensions == null) {
+			extensions = new ArrayList<Extension>();
+		}
+		return this.extensions;
+	}
+
+	/**
+	 * Gets the value of the subscriptionDurability property.
+	 * 
+	 * @return possible object is {@link SubscriptionDurabilityEnum }
+	 * 
+	 */
+	public SubscriptionDurabilityEnum getSubscriptionDurability() {
+		return subscriptionDurability;
+	}
+
+	/**
+	 * Sets the value of the subscriptionDurability property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link SubscriptionDurabilityEnum }
+	 * 
+	 */
+	public void setSubscriptionDurability(SubscriptionDurabilityEnum value) {
+		this.subscriptionDurability = value;
+	}
+
+	/**
+	 * Gets the value of the destinationType property.
+	 * 
+	 * @return possible object is {@link DestinationEnum }
+	 * 
+	 */
+	public DestinationEnum getDestinationType() {
+		return destinationType;
+	}
+
+	/**
+	 * Sets the value of the destinationType property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link DestinationEnum }
+	 * 
+	 */
+	public void setDestinationType(DestinationEnum value) {
+		this.destinationType = value;
+	}
+
+	/**
+	 * Gets the value of the id property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * Sets the value of the id property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setId(String value) {
+		this.id = value;
+	}
+
+	/**
+	 * Gets the value of the type property.
+	 * 
+	 * @return possible object is {@link QName }
+	 * 
+	 */
+	public QName getType() {
+		return type;
+	}
+
+	/**
+	 * Sets the value of the type property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link QName }
+	 * 
+	 */
+	public void setType(QName value) {
+		this.type = value;
+	}
+
+	/**
+	 * Gets the value of the version property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getVersion() {
+		if (version == null) {
+			return "2.0";
+		} else {
+			return version;
+		}
+	}
+
+	/**
+	 * Sets the value of the version property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setVersion(String value) {
+		this.version = value;
+	}
+
+	/**
+	 * Gets the value of the href property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getHref() {
+		return href;
+	}
+
+	/**
+	 * Sets the value of the href property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setHref(String value) {
+		this.href = value;
+	}
+
+	/**
+	 * Gets the value of the idref property.
+	 * 
+	 * @return possible object is {@link Object }
+	 * 
+	 */
+	public Object getIdref() {
+		return idref;
+	}
+
+	/**
+	 * Sets the value of the idref property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link Object }
+	 * 
+	 */
+	public void setIdref(Object value) {
+		this.idref = value;
+	}
+
+	/**
+	 * Gets the value of the label property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getLabel() {
+		return label;
+	}
+
+	/**
+	 * Sets the value of the label property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setLabel(String value) {
+		this.label = value;
+	}
+
+	/**
+	 * Gets the value of the uuid property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getUuid() {
+		return uuid;
+	}
+
+	/**
+	 * Sets the value of the uuid property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setUuid(String value) {
+		this.uuid = value;
+	}
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MethodElement.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MethodElement.java?rev=832913&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MethodElement.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MethodElement.java Wed Nov  4 23:48:38 2009
@@ -0,0 +1,653 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *  
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+package org.apache.openejb.jee.was.v6.ejb;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlIDREF;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.namespace.QName;
+import org.apache.openejb.jee.was.v6.common.Description;
+import org.apache.openejb.jee.was.v6.xmi.Extension;
+
+/**
+ * 
+ * The method element is used to denote a method of an enterprise bean's home or
+ * remote interface, or a set of methods. The ejb-name element must be the name
+ * of one of the enterprise beans in declared in the deployment descriptor; the
+ * optional method-intf element allows to distinguish between a method with the
+ * same signature that is defined in both the home and remote interface; 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 the method element syntax:
+ * 
+ * 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 home and remote 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[][]).
+ * 
+ * 
+ * 
+ * Used in: method-permission and container-transaction
+ * 
+ * Examples:
+ * 
+ * 
+ * Style 1: The following method element refers to all the methods of the
+ * EmployeeService bean's home and remote 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:
+ * 
+ * 
+ * <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.
+ * 
+ * 
+ * <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 defined in the home interface and a method
+ * with the same name and signature that is defined in the remote interface.
+ * 
+ * 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 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>
+ * 
+ * 
+ * <p>
+ * Java class for MethodElement complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="MethodElement">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="enterpriseBean" type="{ejb.xmi}EnterpriseBean"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element name="descriptions" type="{common.xmi}Description"/>
+ *         &lt;/choice>
+ *         &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *           &lt;element ref="{http://www.omg.org/XMI}Extension"/>
+ *         &lt;/choice>
+ *       &lt;/choice>
+ *       &lt;attGroup ref="{http://www.omg.org/XMI}ObjectAttribs"/>
+ *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="enterpriseBean" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="parms" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="type" type="{ejb.xmi}MethodElementKind" />
+ *       &lt;attribute ref="{http://www.omg.org/XMI}id"/>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MethodElement", propOrder = { "enterpriseBeans",
+		"descriptions", "extensions" })
+public class MethodElement {
+
+	@XmlElement(name = "enterpriseBean")
+	protected List<EnterpriseBean> enterpriseBeans;
+	protected List<Description> descriptions;
+	@XmlElement(name = "Extension", namespace = "http://www.omg.org/XMI")
+	protected List<Extension> extensions;
+	@XmlAttribute
+	protected String description;
+	@XmlAttribute
+	protected String enterpriseBean;
+	@XmlAttribute
+	protected String name;
+	@XmlAttribute
+	protected String parms;
+	@XmlAttribute(name = "type")
+	protected MethodElementEnum methodElementType;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+	@XmlID
+	protected String id;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected QName type;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String version;
+	@XmlAttribute
+	protected String href;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	@XmlIDREF
+	protected Object idref;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String label;
+	@XmlAttribute(namespace = "http://www.omg.org/XMI")
+	protected String uuid;
+
+	/**
+	 * Gets the value of the enterpriseBeans property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the enterpriseBeans property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getEnterpriseBeans().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link EnterpriseBean }
+	 * 
+	 * 
+	 */
+	public List<EnterpriseBean> getEnterpriseBeans() {
+		if (enterpriseBeans == null) {
+			enterpriseBeans = new ArrayList<EnterpriseBean>();
+		}
+		return this.enterpriseBeans;
+	}
+
+	/**
+	 * Gets the value of the descriptions property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the descriptions property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getDescriptions().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link Description }
+	 * 
+	 * 
+	 */
+	public List<Description> getDescriptions() {
+		if (descriptions == null) {
+			descriptions = new ArrayList<Description>();
+		}
+		return this.descriptions;
+	}
+
+	/**
+	 * Gets the value of the extensions property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the extensions property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getExtensions().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link Extension }
+	 * 
+	 * 
+	 */
+	public List<Extension> getExtensions() {
+		if (extensions == null) {
+			extensions = new ArrayList<Extension>();
+		}
+		return this.extensions;
+	}
+
+	/**
+	 * Gets the value of the description property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * Sets the value of the description property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setDescription(String value) {
+		this.description = value;
+	}
+
+	/**
+	 * Gets the value of the enterpriseBean property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getEnterpriseBean() {
+		return enterpriseBean;
+	}
+
+	/**
+	 * Sets the value of the enterpriseBean property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setEnterpriseBean(String value) {
+		this.enterpriseBean = value;
+	}
+
+	/**
+	 * Gets the value of the name property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * Sets the value of the name property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setName(String value) {
+		this.name = value;
+	}
+
+	/**
+	 * Gets the value of the parms property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getParms() {
+		return parms;
+	}
+
+	/**
+	 * Sets the value of the parms property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setParms(String value) {
+		this.parms = value;
+	}
+
+	/**
+	 * Gets the value of the methodElementType property.
+	 * 
+	 * @return possible object is {@link MethodElementEnum }
+	 * 
+	 */
+	public MethodElementEnum getMethodElementType() {
+		return methodElementType;
+	}
+
+	/**
+	 * Sets the value of the methodElementType property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link MethodElementEnum }
+	 * 
+	 */
+	public void setMethodElementType(MethodElementEnum value) {
+		this.methodElementType = value;
+	}
+
+	/**
+	 * Gets the value of the id property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * Sets the value of the id property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setId(String value) {
+		this.id = value;
+	}
+
+	/**
+	 * Gets the value of the type property.
+	 * 
+	 * @return possible object is {@link QName }
+	 * 
+	 */
+	public QName getType() {
+		return type;
+	}
+
+	/**
+	 * Sets the value of the type property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link QName }
+	 * 
+	 */
+	public void setType(QName value) {
+		this.type = value;
+	}
+
+	/**
+	 * Gets the value of the version property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getVersion() {
+		if (version == null) {
+			return "2.0";
+		} else {
+			return version;
+		}
+	}
+
+	/**
+	 * Sets the value of the version property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setVersion(String value) {
+		this.version = value;
+	}
+
+	/**
+	 * Gets the value of the href property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getHref() {
+		return href;
+	}
+
+	/**
+	 * Sets the value of the href property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setHref(String value) {
+		this.href = value;
+	}
+
+	/**
+	 * Gets the value of the idref property.
+	 * 
+	 * @return possible object is {@link Object }
+	 * 
+	 */
+	public Object getIdref() {
+		return idref;
+	}
+
+	/**
+	 * Sets the value of the idref property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link Object }
+	 * 
+	 */
+	public void setIdref(Object value) {
+		this.idref = value;
+	}
+
+	/**
+	 * Gets the value of the label property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getLabel() {
+		return label;
+	}
+
+	/**
+	 * Sets the value of the label property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setLabel(String value) {
+		this.label = value;
+	}
+
+	/**
+	 * Gets the value of the uuid property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getUuid() {
+		return uuid;
+	}
+
+	/**
+	 * Sets the value of the uuid property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setUuid(String value) {
+		this.uuid = value;
+	}
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MethodElementEnum.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MethodElementEnum.java?rev=832913&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MethodElementEnum.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/was/v6/ejb/MethodElementEnum.java Wed Nov  4 23:48:38 2009
@@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *  
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+package org.apache.openejb.jee.was.v6.ejb;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+
+/**
+ * <p>
+ * Java class for MethodElementKind.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * <p>
+ * 
+ * <pre>
+ * &lt;simpleType name="MethodElementKind">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NCName">
+ *     &lt;enumeration value="Unspecified"/>
+ *     &lt;enumeration value="Remote"/>
+ *     &lt;enumeration value="Home"/>
+ *     &lt;enumeration value="Local"/>
+ *     &lt;enumeration value="LocalHome"/>
+ *     &lt;enumeration value="ServiceEndpoint"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlEnum
+public enum MethodElementEnum {
+
+	@XmlEnumValue("Unspecified")
+	UNSPECIFIED("Unspecified"), @XmlEnumValue("Remote")
+	REMOTE("Remote"), @XmlEnumValue("Home")
+	HOME("Home"), @XmlEnumValue("Local")
+	LOCAL("Local"), @XmlEnumValue("LocalHome")
+	LOCAL_HOME("LocalHome"), @XmlEnumValue("ServiceEndpoint")
+	SERVICE_ENDPOINT("ServiceEndpoint");
+	private final String value;
+
+	MethodElementEnum(String v) {
+		value = v;
+	}
+
+	public String value() {
+		return value;
+	}
+
+	public static MethodElementEnum fromValue(String v) {
+		for (MethodElementEnum c : MethodElementEnum.values()) {
+			if (c.value.equals(v)) {
+				return c;
+			}
+		}
+		throw new IllegalArgumentException(v.toString());
+	}
+
+}