<?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.10 07/24/02 | |
</xsd:documentation> | |
</xsd:annotation> | |
<xsd:annotation> | |
<xsd:documentation> | |
Copyright 2002 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> | |
This is the XML Schema for the EJB 2.1 deployment | |
descriptor. 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> | |
<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:enterprise-beans/*/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="xsd:string"> | |
<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="xsd:string"> | |
<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: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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</xsd:complexType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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:restriction base="j2ee:string"> | |
<xsd:enumeration value="1.x"/> | |
<xsd:enumeration value="2.x"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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:restriction base="j2ee:string"> | |
<xsd:enumeration value="java.util.Collection"/> | |
<xsd:enumeration value="java.util.Set"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</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:complexType> | |
<!-- **************************************************** --> | |
<xsd:simpleType name="ejb-classType"> | |
<xsd:annotation> | |
<xsd:documentation> | |
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:restriction base="j2ee:fully-qualified-classType"/> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<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:element name="description" | |
type="j2ee:descriptionType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="display-name" | |
type="j2ee:display-nameType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="icon" | |
type="j2ee:iconType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<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> | |
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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</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:complexType> | |
<!-- **************************************************** --> | |
<xsd:simpleType name="ejb-nameType"> | |
<xsd:annotation> | |
<xsd:documentation> | |
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:restriction base="xsd:NMTOKEN"> | |
<xsd:whiteSpace value="collapse"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</xsd:complexType> | |
<!-- **************************************************** --> | |
<xsd:complexType name="ejb-relationship-roleType"> | |
<xsd:annotation> | |
<xsd:documentation> | |
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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</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: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. | |
- an optional set of deployment-extension | |
declarations. | |
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:element name="description" | |
type="j2ee:descriptionType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="display-name" | |
type="j2ee:display-nameType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="icon" | |
type="j2ee:iconType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<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:element name="env-entry" | |
type="j2ee:env-entryType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="ejb-ref" | |
type="j2ee:ejb-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="ejb-local-ref" | |
type="j2ee:ejb-local-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="service-ref" | |
type="j2ee:service-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<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="resource-ref" | |
type="j2ee:resource-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="resource-env-ref" | |
type="j2ee:resource-env-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="message-destination-ref" | |
type="j2ee:message-destination-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="query" | |
type="j2ee:queryType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</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:complexType> | |
<!-- **************************************************** --> | |
<xsd:simpleType name="java-typeType"> | |
<xsd:annotation> | |
<xsd:documentation> | |
This is a generic type that designates a Java primitive | |
type or a fully qualified name of a Java interface/type. | |
</xsd:documentation> | |
</xsd:annotation> | |
<xsd:restriction base="j2ee:string"> | |
<xsd:pattern value="[^\p{Z}]*"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<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 | |
- an optional declaration of deployment extensions | |
</xsd:documentation> | |
</xsd:annotation> | |
<xsd:sequence> | |
<xsd:element name="description" | |
type="j2ee:descriptionType" | |
minOccurs="0"/> | |
<xsd:element name="display-name" | |
type="j2ee:display-nameType" | |
minOccurs="0"/> | |
<xsd:element name="icon" | |
type="j2ee:iconType" | |
minOccurs="0"/> | |
<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:element name="env-entry" | |
type="j2ee:env-entryType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="ejb-ref" | |
type="j2ee:ejb-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="ejb-local-ref" | |
type="j2ee:ejb-local-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="service-ref" | |
type="j2ee:service-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="security-identity" | |
type="j2ee:security-identityType" | |
minOccurs="0"/> | |
<xsd:element name="resource-ref" | |
type="j2ee:resource-refType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
<xsd:element name="resource-env-ref" | |
type="j2ee:resource-env-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="message-destination-ref" | |
type="j2ee:message-destination-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</xsd:complexType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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: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:simpleType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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:restriction base="j2ee:string"/> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<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: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:complexType> | |
<!-- **************************************************** --> | |
<xsd:complexType name="methodType"> | |
<xsd:annotation> | |
<xsd:documentation> | |
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:complexType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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:restriction base="j2ee:string"> | |
<xsd:enumeration value="One"/> | |
<xsd:enumeration value="Many"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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:restriction base="j2ee:string"> | |
<xsd:enumeration value="Bean"/> | |
<xsd:enumeration value="Container"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<xsd:complexType name="query-methodType"> | |
<xsd:annotation> | |
<xsd:documentation> | |
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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</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. | |
- an optional declaration of deployment extensions | |
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="xsd:string"/> | |
<xsd:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</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: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:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</xsd:complexType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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:restriction base="j2ee:string"> | |
<xsd:enumeration value="Local"/> | |
<xsd:enumeration value="Remote"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<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:complexType> | |
<!-- **************************************************** --> | |
<xsd:complexType name="service-refType"> | |
<xsd:annotation> | |
<xsd:documentation> | |
THIS IS A PLACEHOLDER TYPE which will | |
be REPLACED. It will be defined based on | |
definition to be supplied by JSR109. | |
</xsd:documentation> | |
</xsd:annotation> | |
<xsd:simpleContent> | |
<xsd:extension base="xsd:string"> | |
</xsd:extension> | |
</xsd:simpleContent> | |
</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 | |
- an optional declaration deployment extensions | |
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:element name="description" | |
type="j2ee:descriptionType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="display-name" | |
type="j2ee:display-nameType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="icon" | |
type="j2ee:iconType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<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:element name="env-entry" | |
type="j2ee:env-entryType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="ejb-ref" | |
type="j2ee:ejb-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="ejb-local-ref" | |
type="j2ee:ejb-local-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="service-ref" | |
type="j2ee:service-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<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="resource-ref" | |
type="j2ee:resource-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="resource-env-ref" | |
type="j2ee:resource-env-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="message-destination-ref" | |
type="j2ee:message-destination-refType" | |
minOccurs="0" | |
maxOccurs="unbounded"/> | |
<xsd:element name="deployment-extension" | |
type="j2ee:deployment-extensionType" | |
minOccurs="0" maxOccurs="unbounded"/> | |
</xsd:sequence> | |
</xsd:complexType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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:restriction base="j2ee:string"> | |
<xsd:enumeration value="Stateful"/> | |
<xsd:enumeration value="Stateless"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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: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:simpleType> | |
<!-- **************************************************** --> | |
<xsd:simpleType 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:restriction base="j2ee:string"> | |
<xsd:enumeration value="Bean"/> | |
<xsd:enumeration value="Container"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
</xsd:schema> | |