| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" |
| targetNamespace="http://java.sun.com/xml/ns/j2ee" |
| xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" |
| xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| elementFormDefault="qualified" |
| attributeFormDefault="unqualified" |
| version="2.1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| @(#)ejb-jar_2_1.xsds 1.23 08/01/03 |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| Copyright 2003 Sun Microsystems, Inc., 901 San Antonio |
| Road, Palo Alto, California 94303, U.S.A. All rights |
| reserved. |
| |
| Sun Microsystems, Inc. has intellectual property rights |
| relating to technology described in this document. In |
| particular, and without limitation, these intellectual |
| property rights may include one or more of the U.S. patents |
| listed at http://www.sun.com/patents and one or more |
| additional patents or pending patent applications in the |
| U.S. and other countries. |
| |
| This document and the technology which it describes are |
| distributed under licenses restricting their use, copying, |
| distribution, and decompilation. No part of this document |
| may be reproduced in any form by any means without prior |
| written authorization of Sun and its licensors, if any. |
| |
| Third-party software, including font technology, is |
| copyrighted and licensed from Sun suppliers. |
| |
| Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE, |
| JavaServer Pages, Enterprise JavaBeans and the Java Coffee |
| Cup logo are trademarks or registered trademarks of Sun |
| Microsystems, Inc. in the U.S. and other countries. |
| |
| Federal Acquisitions: Commercial Software - Government Users |
| Subject to Standard License Terms and Conditions. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:annotation> |
| <xsd:documentation> |
| <![CDATA[ |
| |
| This is the XML Schema for the EJB 2.1 deployment descriptor. |
| The deployment descriptor must be named "META-INF/ejb-jar.xml" in |
| the EJB's jar file. All EJB deployment descriptors must indicate |
| the ejb-jar schema by using the J2EE namespace: |
| |
| http://java.sun.com/xml/ns/j2ee |
| |
| and by indicating the version of the schema by |
| using the version element as shown below: |
| |
| <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee |
| http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" |
| version="2.1"> |
| ... |
| </ejb-jar> |
| |
| The instance documents may indicate the published version of |
| the schema using the xsi:schemaLocation attribute for the |
| J2EE namespace with the following location: |
| |
| http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The following conventions apply to all J2EE |
| deployment descriptor elements unless indicated otherwise. |
| |
| - In elements that specify a pathname to a file within the |
| same JAR file, relative filenames (i.e., those not |
| starting with "/") are considered relative to the root of |
| the JAR file's namespace. Absolute filenames (i.e., those |
| starting with "/") also specify names in the root of the |
| JAR file's namespace. In general, relative names are |
| preferred. The exception is .war files where absolute |
| names are preferred for consistency with the Servlet API. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:include schemaLocation="j2ee_1_4.xsd"/> |
| |
| |
| <!-- **************************************************** --> |
| |
| |
| <xsd:element name="ejb-jar" type="j2ee:ejb-jarType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| This is the root of the ejb-jar deployment descriptor. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:key name="ejb-name-key"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-name element contains the name of an enterprise |
| bean. The name must be unique within the ejb-jar file. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:enterprise-beans/*"/> |
| <xsd:field xpath="j2ee:ejb-name"/> |
| </xsd:key> |
| |
| <xsd:keyref name="ejb-name-references" |
| refer="j2ee:ejb-name-key"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The keyref indicates the references from |
| relationship-role-source must be to a specific ejb-name |
| defined within the scope of enterprise-beans element. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector |
| xpath=".//j2ee:ejb-relationship-role/j2ee:relationship-role-source"/> |
| <xsd:field |
| xpath="j2ee:ejb-name"/> |
| </xsd:keyref> |
| |
| <xsd:key name="role-name-key"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| A role-name-key is specified to allow the references |
| from the security-role-refs. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:assembly-descriptor/j2ee:security-role"/> |
| <xsd:field xpath="j2ee:role-name"/> |
| </xsd:key> |
| |
| <xsd:keyref name="role-name-references" |
| refer="j2ee:role-name-key"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The keyref indicates the references from |
| security-role-ref to a specified role-name. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:enterprise-beans/*/j2ee:security-role-ref"/> |
| <xsd:field xpath="j2ee:role-link"/> |
| </xsd:keyref> |
| </xsd:element> |
| |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="activation-config-propertyType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="activation-config-property-name" |
| type="j2ee:xsdStringType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The activation-config-property-name element contains |
| the name for an activation configuration property of |
| a message-driven bean. |
| |
| For JMS message-driven beans, the following property |
| names are recognized: acknowledgeMode, |
| messageSelector, destinationType, subscriptionDurability |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="activation-config-property-value" |
| type="j2ee:xsdStringType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The activation-config-property-value element |
| contains the value for an activation configuration |
| property of a message-driven bean. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="activation-configType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="activation-config-property" |
| type="j2ee:activation-config-propertyType" |
| maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="assembly-descriptorType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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 and a list of |
| methods to be excluded from being invoked. |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="security-role" |
| type="j2ee:security-roleType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="method-permission" |
| type="j2ee:method-permissionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="container-transaction" |
| type="j2ee:container-transactionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="message-destination" |
| type="j2ee:message-destinationType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="exclude-list" |
| type="j2ee:exclude-listType" |
| minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="cmp-fieldType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The cmp-fieldType describes a container-managed field. The |
| cmp-fieldType contains an optional description of the field, |
| and the name of the field. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="field-name" |
| type="j2ee:java-identifierType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The field-name element specifies the name of a |
| container managed field. |
| |
| The name of the cmp-field of an entity bean with |
| cmp-version 2.x must begin with a lowercase |
| letter. This field is accessed by methods whose |
| names consists of the name of the field specified by |
| field-name in which the first letter is uppercased, |
| prefixed by "get" or "set". |
| |
| The name of the cmp-field of an entity bean with |
| cmp-version 1.x must denote a public field of the |
| enterprise bean class or one of its superclasses. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="cmp-versionType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The cmp-versionType specifies the version of an entity bean |
| with container-managed persistence. It is used by |
| cmp-version elements. |
| |
| The value must be one of the two following: |
| |
| 1.x |
| 2.x |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="1.x"/> |
| <xsd:enumeration value="2.x"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="cmr-field-typeType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The cmr-field-type element specifies the class of a |
| collection-valued logical relationship field in the entity |
| bean class. The value of an element using cmr-field-typeType |
| must be either: java.util.Collection or java.util.Set. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="java.util.Collection"/> |
| <xsd:enumeration value="java.util.Set"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="cmr-fieldType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="cmr-field-name" |
| type="j2ee:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The cmr-field-name element specifies the name of a |
| logical relationship field in the entity bean |
| class. The name of the cmr-field must begin with a |
| lowercase letter. This field is accessed by methods |
| whose names consist of the name of the field |
| specified by cmr-field-name in which the first |
| letter is uppercased, prefixed by "get" or "set". |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="cmr-field-type" |
| type="j2ee:cmr-field-typeType" |
| minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="container-transactionType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="method" |
| type="j2ee:methodType" |
| maxOccurs="unbounded"/> |
| <xsd:element name="trans-attribute" |
| type="j2ee:trans-attributeType"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="ejb-classType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| <![CDATA[ |
| |
| The ejb-classType contains the fully-qualified name of the |
| enterprise bean's class. It is used by ejb-class elements. |
| |
| Example: |
| |
| <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class> |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:fully-qualified-classType"/> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="ejb-jarType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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 |
| - mandatory structural information about all included |
| enterprise beans |
| - 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:group ref="j2ee:descriptionGroup"/> |
| <xsd:element name="enterprise-beans" |
| type="j2ee:enterprise-beansType"/> |
| <xsd:element name="relationships" |
| type="j2ee:relationshipsType" |
| minOccurs="0"> |
| <xsd:unique name="relationship-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-relation-name contains the name of a |
| relation. The name must be unique within |
| relationships. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:ejb-relation"/> |
| <xsd:field xpath="j2ee:ejb-relation-name"/> |
| </xsd:unique> |
| </xsd:element> |
| <xsd:element name="assembly-descriptor" |
| type="j2ee:assembly-descriptorType" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| Providing an assembly-descriptor in the deployment |
| descriptor is optional for the ejb-jar file |
| producer. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="ejb-client-jar" |
| type="j2ee:pathType" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| <![CDATA[ |
| |
| The optional ejb-client-jar element specifies a JAR |
| file that contains the class files necessary for a |
| client program to access the |
| enterprise beans in the ejb-jar file. |
| |
| Example: |
| |
| <ejb-client-jar>employee_service_client.jar |
| </ejb-client-jar> |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="version" |
| type="j2ee:dewey-versionType" |
| fixed="2.1" |
| use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The version specifies the version of the |
| EJB specification that the instance document must |
| comply with. This information enables deployment tools |
| to validate a particular EJB Deployment |
| Descriptor with respect to a specific version of the EJB |
| schema. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="ejb-nameType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| <![CDATA[ |
| |
| The ejb-nameType specifies an enterprise bean's name. It is |
| used by ejb-name elements. This name is assigned by the |
| ejb-jar file producer to name the enterprise bean in the |
| ejb-jar file's deployment descriptor. The name must be |
| unique among the names of the enterprise beans in the same |
| ejb-jar file. |
| |
| There is no architected relationship between the used |
| ejb-name in the deployment descriptor and the JNDI name that |
| the Deployer will assign to the enterprise bean's home. |
| |
| The name for an entity bean must conform to the lexical |
| rules for an NMTOKEN. |
| |
| Example: |
| |
| <ejb-name>EmployeeService</ejb-name> |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:xsdNMTOKENType"/> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="ejb-relationType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="ejb-relation-name" |
| type="j2ee:string" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-relation-name element provides a unique name |
| within the ejb-jar file for a relationship. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="ejb-relationship-role" |
| type="j2ee:ejb-relationship-roleType"/> |
| <xsd:element name="ejb-relationship-role" |
| type="j2ee:ejb-relationship-roleType"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="ejb-relationship-roleType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| <![CDATA[ |
| |
| 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> |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="ejb-relationship-role-name" |
| type="j2ee:string" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-relationship-role-name element defines a |
| name for a role that is unique within an |
| ejb-relation. Different relationships can use the |
| same name for a role. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="multiplicity" |
| type="j2ee:multiplicityType"/> |
| <xsd:element name="cascade-delete" |
| type="j2ee:emptyType" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The cascade-delete element specifies that, within a |
| particular relationship, the lifetime of one or more |
| entity beans is dependent upon the lifetime of |
| another entity bean. The cascade-delete element can |
| only be specified for an ejb-relationship-role |
| element contained in an ejb-relation element in |
| which the other ejb-relationship-role |
| element specifies a multiplicity of One. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="relationship-role-source" |
| type="j2ee:relationship-role-sourceType"/> |
| <xsd:element name="cmr-field" |
| type="j2ee:cmr-fieldType" |
| minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="enterprise-beansType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The enterprise-beansType declares one or more enterprise |
| beans. Each bean can be a session, entity or message-driven |
| bean. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:choice maxOccurs="unbounded"> |
| <xsd:element name="session" |
| type="j2ee:session-beanType"> |
| <xsd:unique name="session-ejb-local-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-ref-name element contains the name of |
| an EJB reference. The EJB reference is an entry in |
| the component's environment and is relative to the |
| java:comp/env context. The name must be unique within |
| the component. |
| |
| It is recommended that name be prefixed with "ejb/". |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:ejb-local-ref"/> |
| <xsd:field xpath="j2ee:ejb-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="session-ejb-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-ref-name element contains the name of an EJB |
| reference. The EJB reference is an entry in the |
| component's environment and is relative to the |
| java:comp/env context. The name must be unique |
| within the component. |
| |
| It is recommended that name is prefixed with "ejb/". |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:ejb-ref"/> |
| <xsd:field xpath="j2ee:ejb-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="session-resource-env-ref-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The resource-env-ref-name element specifies the name |
| of a resource environment reference; its value is |
| the environment entry name used in the component |
| code. The name is a JNDI name relative to the |
| java:comp/env context and must be unique within an |
| component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:resource-env-ref"/> |
| <xsd:field xpath="j2ee:resource-env-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="session-message-destination-ref-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The message-destination-ref-name element specifies the name |
| of a message destination reference; its value is |
| the message destination reference name used in the component |
| code. The name is a JNDI name relative to the |
| java:comp/env context and must be unique within an |
| component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:message-destination-ref"/> |
| <xsd:field xpath="j2ee:message-destination-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="session-res-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The res-ref-name element specifies the name of a |
| resource manager connection factory reference. The name |
| is a JNDI name relative to the java:comp/env context. |
| The name must be unique within an component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:resource-ref"/> |
| <xsd:field xpath="j2ee:res-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="session-env-entry-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The env-entry-name element contains the name of a |
| component's environment entry. The name is a JNDI |
| name relative to the java:comp/env context. The |
| name must be unique within an component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:env-entry"/> |
| <xsd:field xpath="j2ee:env-entry-name"/> |
| </xsd:unique> |
| </xsd:element> |
| |
| <xsd:element name="entity" |
| type="j2ee:entity-beanType"> |
| <xsd:unique name="entity-ejb-local-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-ref-name element contains the name of |
| an EJB reference. The EJB reference is an entry in |
| the component's environment and is relative to the |
| java:comp/env context. The name must be unique within |
| the component. |
| |
| It is recommended that name be prefixed with "ejb/". |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:ejb-local-ref"/> |
| <xsd:field xpath="j2ee:ejb-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="entity-ejb-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-ref-name element contains the name of an EJB |
| reference. The EJB reference is an entry in the |
| component's environment and is relative to the |
| java:comp/env context. The name must be unique |
| within the component. |
| |
| It is recommended that name is prefixed with "ejb/". |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:ejb-ref"/> |
| <xsd:field xpath="j2ee:ejb-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="entity-resource-env-ref-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The resource-env-ref-name element specifies the name |
| of a resource environment reference; its value is |
| the environment entry name used in the component |
| code. The name is a JNDI name relative to the |
| java:comp/env context and must be unique within an |
| component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:resource-env-ref"/> |
| <xsd:field xpath="j2ee:resource-env-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="entity-message-destination-ref-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The message-destination-ref-name element specifies the name |
| of a message destination reference; its value is |
| the message destination reference name used in the component |
| code. The name is a JNDI name relative to the |
| java:comp/env context and must be unique within an |
| component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:message-destination-ref"/> |
| <xsd:field xpath="j2ee:message-destination-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="entity-res-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The res-ref-name element specifies the name of a |
| resource manager connection factory reference. The name |
| is a JNDI name relative to the java:comp/env context. |
| The name must be unique within an component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:resource-ref"/> |
| <xsd:field xpath="j2ee:res-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="entity-env-entry-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The env-entry-name element contains the name of a |
| component's environment entry. The name is a JNDI |
| name relative to the java:comp/env context. The |
| name must be unique within an component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:env-entry"/> |
| <xsd:field xpath="j2ee:env-entry-name"/> |
| </xsd:unique> |
| </xsd:element> |
| |
| <xsd:element name="message-driven" |
| type="j2ee:message-driven-beanType"> |
| <xsd:unique name="messaged-ejb-local-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-ref-name element contains the name of |
| an EJB reference. The EJB reference is an entry in |
| the component's environment and is relative to the |
| java:comp/env context. The name must be unique within |
| the component. |
| |
| It is recommended that name be prefixed with "ejb/". |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:ejb-local-ref"/> |
| <xsd:field xpath="j2ee:ejb-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="messaged-ejb-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-ref-name element contains the name of an EJB |
| reference. The EJB reference is an entry in the |
| component's environment and is relative to the |
| java:comp/env context. The name must be unique |
| within the component. |
| |
| It is recommended that name is prefixed with "ejb/". |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:ejb-ref"/> |
| <xsd:field xpath="j2ee:ejb-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="messaged-resource-env-ref-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The resource-env-ref-name element specifies the name |
| of a resource environment reference; its value is |
| the environment entry name used in the component |
| code. The name is a JNDI name relative to the |
| java:comp/env context and must be unique within an |
| component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:resource-env-ref"/> |
| <xsd:field xpath="j2ee:resource-env-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="messaged-message-destination-ref-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The message-destination-ref-name element specifies the name |
| of a message destination reference; its value is |
| the message destination reference name used in the component |
| code. The name is a JNDI name relative to the |
| java:comp/env context and must be unique within an |
| component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:message-destination-ref"/> |
| <xsd:field xpath="j2ee:message-destination-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="messaged-res-ref-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The res-ref-name element specifies the name of a |
| resource manager connection factory reference. The name |
| is a JNDI name relative to the java:comp/env context. |
| The name must be unique within an component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:resource-ref"/> |
| <xsd:field xpath="j2ee:res-ref-name"/> |
| </xsd:unique> |
| |
| <xsd:unique name="messaged-env-entry-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The env-entry-name element contains the name of a |
| component's environment entry. The name is a JNDI |
| name relative to the java:comp/env context. The |
| name must be unique within an component. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector xpath="j2ee:env-entry"/> |
| <xsd:field xpath="j2ee:env-entry-name"/> |
| </xsd:unique> |
| </xsd:element> |
| |
| </xsd:choice> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="entity-beanType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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 |
| - 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 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 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:group ref="j2ee:descriptionGroup"/> |
| <xsd:element name="ejb-name" |
| type="j2ee:ejb-nameType"/> |
| <xsd:element name="home" |
| type="j2ee:homeType" |
| minOccurs="0"/> |
| <xsd:element name="remote" |
| type="j2ee:remoteType" |
| minOccurs="0"/> |
| <xsd:element name="local-home" |
| type="j2ee:local-homeType" |
| minOccurs="0"/> |
| <xsd:element name="local" |
| type="j2ee:localType" |
| minOccurs="0"/> |
| <xsd:element name="ejb-class" |
| type="j2ee:ejb-classType"/> |
| <xsd:element name="persistence-type" |
| type="j2ee:persistence-typeType"/> |
| <xsd:element name="prim-key-class" |
| type="j2ee:fully-qualified-classType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The prim-key-class element contains the |
| fully-qualified name of an |
| entity bean's primary key class. |
| |
| If the definition of the primary key class is |
| deferred to deployment time, the prim-key-class |
| element should specify java.lang.Object. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="reentrant" |
| type="j2ee:true-falseType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The reentrant element specifies whether an entity |
| bean is reentrant or not. |
| |
| The reentrant element must be one of the two |
| following: true or false |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="cmp-version" |
| type="j2ee:cmp-versionType" |
| minOccurs="0"/> |
| <xsd:element name="abstract-schema-name" |
| type="j2ee:java-identifierType" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The abstract-schema-name element specifies the name |
| of the abstract schema type of an entity bean with |
| cmp-version 2.x. It is used in EJB QL queries. |
| |
| For example, the abstract-schema-name for an entity |
| bean whose local interface is |
| com.acme.commerce.Order might be Order. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="cmp-field" |
| type="j2ee:cmp-fieldType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="primkey-field" |
| type="j2ee:string" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The primkey-field element is used to specify the |
| name of the primary key field for an entity with |
| container-managed persistence. |
| |
| The primkey-field must be one of the fields declared |
| in the cmp-field element, and the type of the field |
| must be the same as the primary key type. |
| |
| The primkey-field element is not used if the primary |
| key maps to multiple container-managed fields |
| (i.e. the key is a compound key). In this case, the |
| fields of the primary key class must be public, and |
| their names must correspond to the field names of |
| the entity bean class that comprise the key. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/> |
| <xsd:element name="security-role-ref" |
| type="j2ee:security-role-refType" |
| minOccurs="0" maxOccurs="unbounded"/> |
| <xsd:element name="security-identity" |
| type="j2ee:security-identityType" |
| minOccurs="0"/> |
| <xsd:element name="query" |
| type="j2ee:queryType" |
| minOccurs="0" maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="exclude-listType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="method" |
| type="j2ee:methodType" |
| maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="message-driven-beanType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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 |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:group ref="j2ee:descriptionGroup"/> |
| <xsd:element name="ejb-name" |
| type="j2ee:ejb-nameType"/> |
| <xsd:element name="ejb-class" |
| type="j2ee:ejb-classType"/> |
| <xsd:element name="messaging-type" |
| type="j2ee:fully-qualified-classType" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The messaging-type element specifies the message |
| listener interface of the message-driven bean. If |
| the messaging-type element is not specified, it is |
| assumed to be javax.jms.MessageListener. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="transaction-type" |
| type="j2ee:transaction-typeType"/> |
| <xsd:element name="message-destination-type" |
| type="j2ee:message-destination-typeType" |
| minOccurs="0"/> |
| <xsd:element name="message-destination-link" |
| type="j2ee:message-destination-linkType" |
| minOccurs="0"/> |
| <xsd:element name="activation-config" |
| type="j2ee:activation-configType" |
| minOccurs="0"/> |
| <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/> |
| <xsd:element name="security-identity" |
| type="j2ee:security-identityType" |
| minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="method-intfType"> |
| |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The method-intf element allows a method element to |
| differentiate between the methods with the same name and |
| signature that are multiply defined across the home and |
| component interfaces (e.g, in both an enterprise bean's |
| remote and local interfaces or in both an enterprise bean's |
| home and remote interfaces, etc.); the component and web |
| service endpoint interfaces, and so on. |
| |
| The method-intf element must be one of the following: |
| |
| Home |
| Remote |
| LocalHome |
| Local |
| ServiceEndpoint |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="Home"/> |
| <xsd:enumeration value="Remote"/> |
| <xsd:enumeration value="LocalHome"/> |
| <xsd:enumeration value="Local"/> |
| <xsd:enumeration value="ServiceEndpoint"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="method-nameType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The method-nameType contains a name of an enterprise |
| bean method or the asterisk (*) character. The asterisk is |
| used when the element denotes all the methods of an |
| enterprise bean's client view interfaces. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"/> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="method-paramsType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The method-paramsType defines a list of the |
| fully-qualified Java type names of the method parameters. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="method-param" |
| type="j2ee:java-typeType" |
| minOccurs="0" |
| maxOccurs="unbounded"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The method-param element contains a primitive |
| or a fully-qualified Java type name of a method |
| parameter. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="method-permissionType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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 home, component and/or web |
| service endpoint interfaces. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:choice> |
| <xsd:element name="role-name" |
| type="j2ee:role-nameType" |
| maxOccurs="unbounded"/> |
| <xsd:element name="unchecked" |
| type="j2ee:emptyType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The unchecked element specifies that a method is |
| not checked for authorization by the container |
| prior to invocation of the method. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:choice> |
| <xsd:element name="method" |
| type="j2ee:methodType" |
| maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="methodType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| <![CDATA[ |
| |
| The methodType is used to denote a method of an enterprise |
| bean's 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 home, component, and/or web service endpoint |
| interfaces; 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 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 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 home, component, and/or |
| web service endpoint interfaces with the same name and |
| signature. |
| |
| 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 th ree 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. |
| |
| <method> |
| <ejb-name>EmployeeService</ejb-name> |
| <method-intf>Home</method-intf> |
| <method-name>*</method-name> |
| </method> |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" maxOccurs="unbounded"/> |
| <xsd:element name="ejb-name" |
| type="j2ee:ejb-nameType"/> |
| <xsd:element name="method-intf" |
| type="j2ee:method-intfType" |
| minOccurs="0"> |
| </xsd:element> |
| <xsd:element name="method-name" |
| type="j2ee:method-nameType"/> |
| <xsd:element name="method-params" |
| type="j2ee:method-paramsType" |
| minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="multiplicityType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The multiplicityType describes the multiplicity of the |
| role that participates in a relation. |
| |
| The value must be one of the two following: |
| |
| One |
| Many |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="One"/> |
| <xsd:enumeration value="Many"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="persistence-typeType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The persistence-typeType specifies an entity bean's persistence |
| management type. |
| |
| The persistence-type element must be one of the two following: |
| |
| Bean |
| Container |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="Bean"/> |
| <xsd:enumeration value="Container"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="query-methodType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| <![CDATA[ |
| |
| 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 > 1000 |
| </ejb-ql> |
| </query> |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="method-name" |
| type="j2ee:method-nameType"/> |
| <xsd:element name="method-params" |
| type="j2ee:method-paramsType"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="queryType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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". |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" minOccurs="0"/> |
| <xsd:element name="query-method" |
| type="j2ee:query-methodType"/> |
| <xsd:element name="result-type-mapping" |
| type="j2ee:result-type-mappingType" |
| minOccurs="0"/> |
| <xsd:element name="ejb-ql" |
| type="j2ee:xsdStringType"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="relationship-role-sourceType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="ejb-name" |
| type="j2ee:ejb-nameType"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="relationshipsType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="ejb-relation" |
| type="j2ee:ejb-relationType" |
| maxOccurs="unbounded"> |
| |
| <xsd:unique name="role-name-uniqueness"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The ejb-relationship-role-name contains the name of a |
| relationship role. The name must be unique within |
| a relationship, but can be reused in different |
| relationships. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:selector |
| xpath=".//j2ee:ejb-relationship-role-name"/> |
| <xsd:field |
| xpath="."/> |
| </xsd:unique> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="result-type-mappingType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The result-type-mappingType is used in the query element to |
| specify whether an abstract schema type returned by a query |
| for a select method is to be mapped to an EJBLocalObject or |
| EJBObject type. |
| |
| The value must be one of the following: |
| |
| Local |
| Remote |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="Local"/> |
| <xsd:enumeration value="Remote"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="security-identityType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:element name="description" |
| type="j2ee:descriptionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:choice> |
| <xsd:element name="use-caller-identity" |
| type="j2ee:emptyType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The use-caller-identity element specifies that |
| the caller's security identity be used as the |
| security identity for the execution of the |
| enterprise bean's methods. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="run-as" |
| type="j2ee:run-asType"/> |
| </xsd:choice> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="session-beanType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| 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 |
| - 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 |
| - the session bean's transaction management type |
| - 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. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:sequence> |
| <xsd:group ref="j2ee:descriptionGroup"/> |
| <xsd:element name="ejb-name" |
| type="j2ee:ejb-nameType"/> |
| <xsd:element name="home" |
| type="j2ee:homeType" |
| minOccurs="0"/> |
| <xsd:element name="remote" |
| type="j2ee:remoteType" |
| minOccurs="0"/> |
| <xsd:element name="local-home" |
| type="j2ee:local-homeType" |
| minOccurs="0"/> |
| <xsd:element name="local" |
| type="j2ee:localType" |
| minOccurs="0"/> |
| <xsd:element name="service-endpoint" |
| type="j2ee:fully-qualified-classType" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The service-endpoint element contains the |
| fully-qualified name of the enterprise bean's web |
| service endpoint interface. The service-endpoint |
| element may only be specified for a stateless |
| session bean. The specified interface must be a |
| valid JAX-RPC service endpoint interface. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="ejb-class" |
| type="j2ee:ejb-classType"/> |
| <xsd:element name="session-type" |
| type="j2ee:session-typeType"/> |
| <xsd:element name="transaction-type" |
| type="j2ee:transaction-typeType"/> |
| <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/> |
| <xsd:element name="security-role-ref" |
| type="j2ee:security-role-refType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="security-identity" |
| type="j2ee:security-identityType" |
| minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attribute name="id" type="xsd:ID"/> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="session-typeType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The session-typeType describes whether the session bean is a |
| stateful session or stateless session. It is used by |
| session-type elements. |
| |
| The value must be one of the two following: |
| |
| Stateful |
| Stateless |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="Stateful"/> |
| <xsd:enumeration value="Stateless"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="trans-attributeType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The trans-attributeType specifies how the container must |
| manage the transaction boundaries when delegating a method |
| invocation to an enterprise bean's business method. |
| |
| The value must be one of the following: |
| |
| NotSupported |
| Supports |
| Required |
| RequiresNew |
| Mandatory |
| Never |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="NotSupported"/> |
| <xsd:enumeration value="Supports"/> |
| <xsd:enumeration value="Required"/> |
| <xsd:enumeration value="RequiresNew"/> |
| <xsd:enumeration value="Mandatory"/> |
| <xsd:enumeration value="Never"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="transaction-typeType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The transaction-typeType specifies an enterprise bean's |
| transaction management type. |
| |
| The transaction-type must be one of the two following: |
| |
| Bean |
| Container |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleContent> |
| <xsd:restriction base="j2ee:string"> |
| <xsd:enumeration value="Bean"/> |
| <xsd:enumeration value="Container"/> |
| </xsd:restriction> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| </xsd:schema> |
| |