<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. | |
Copyright 1999-2007 Sun Microsystems, Inc. All rights reserved. | |
The contents of this file are subject to the terms of either the GNU | |
General Public License Version 2 only ("GPL") or the Common Development | |
and Distribution License("CDDL") (collectively, the "License"). You | |
may not use this file except in compliance with the License. You can obtain | |
a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html | |
or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific | |
language governing permissions and limitations under the License. | |
When distributing the software, include this License Header Notice in each | |
file and include the License file at glassfish/bootstrap/legal/LICENSE.txt. | |
Sun designates this particular file as subject to the "Classpath" exception | |
as provided by Sun in the GPL Version 2 section of the License file that | |
accompanied this code. If applicable, add the following below the License | |
Header, with the fields enclosed by brackets [] replaced by your own | |
identifying information: "Portions Copyrighted [year] | |
[name of copyright owner]" | |
Contributor(s): | |
If you wish your version of this file to be governed by only the CDDL or | |
only the GPL Version 2, indicate your decision by adding "[Contributor] | |
elects to include this software in this distribution under the [CDDL or GPL | |
Version 2] license." If you don't indicate a single choice of license, a | |
recipient has the option to distribute your version of this file under | |
either the CDDL, the GPL Version 2 or to extend the choice of license to | |
its licensees as provided above. However, if you add GPL Version 2 code | |
and therefore, elected the GPL Version 2 license, then the option applies | |
only if the new code is made subject to such option by the copyright | |
holder. | |
--> | |
<!-- This is the XML DTD for the EJB 1.1 deployment descriptor. --> | |
<!-- | |
The assembly-descriptor element contains application-assembly information. | |
The application-assembly information consists of the following parts: | |
the definition of security roles, the definition of method permissions, | |
and the definition of transaction attributes for enterprise beans with | |
container-managed transaction demarcation. | |
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. | |
Used in: ejb-jar | |
--> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |
<xs:element name="assembly-descriptor"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-role"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="method-permission"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="container-transaction"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The cmp-field element describes a container-managed field. The field | |
element includes an optional description of the field, and the name of | |
the field. | |
Used in: entity | |
--> | |
<xs:element name="cmp-field"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="field-name"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The container-transaction element specifies how the container must | |
manage transaction scopes for the enterprise bean's method invocations. | |
The element consists of an optional description, a list of method | |
elements, and a transaction attribute.The transaction attribute is to | |
be applied to all the specified methods. | |
Used in: assembly-descriptor | |
--> | |
<xs:element name="container-transaction"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element maxOccurs="unbounded" ref="method"/> | |
<xs:element ref="trans-attribute"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The description element is used by the ejb-jar file producer to provide | |
text describing the parent element. | |
The description element should include any information that the ejb-jar | |
file producer wants to provide to the consumer of the ejb-jar file | |
(i.e. to the Deployer). Typically, the tools used by the ejb-jar file | |
consumer will display the description when processing the parent | |
element. | |
Used in: cmp-field, container-transaction, ejb-jar, entity, env-entry, | |
ejb-ref, method, method-permission, resource-ref, security-role, | |
security-role-ref, and session. | |
--> | |
<xs:element name="description"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The display-name element contains a short name that is intended to be | |
display by tools. | |
Used in: ejb-jar, session, and entity | |
Example: | |
<display-name>Employee Self Service</display-name> | |
--> | |
<xs:element name="display-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-class element contains the fully-qualified name of the | |
enterprise bean's class. | |
Used in: entity and session | |
Example: | |
<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class> | |
--> | |
<xs:element name="ejb-class"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. The Deployer should make the ejb-client JAR | |
file accessible to the client's class-loader. | |
Used in: ejb-jar | |
Example: | |
<ejb-client-jar>employee_service_client.jar</ejb-client-jar> | |
--> | |
<xs:element name="ejb-client-jar"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-jar element is the root element of the EJB deployment | |
descriptor. It contains an optional description of the ejb-jar file, | |
optional display name, optional small icon file name, optional large | |
icon file name, mandatory structural information about all included | |
enterprise beans, optional application-assembly descriptor, and an | |
optional name of an ejb-client-jar file for the ejb-jar. | |
--> | |
<xs:element name="ejb-jar"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="display-name"/> | |
<xs:element minOccurs="0" ref="small-icon"/> | |
<xs:element minOccurs="0" ref="large-icon"/> | |
<xs:element ref="enterprise-beans"/> | |
<xs:element minOccurs="0" ref="assembly-descriptor"/> | |
<xs:element minOccurs="0" ref="ejb-client-jar"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-link element is used in the ejb-ref element to specify that an | |
EJB reference is linked to another enterprise bean in the ejb-jar | |
file. | |
The value of the ejb-link element must be the ejb-name of an enterprise | |
bean in the same ejb-jar file, or in another ejb-jar file in the same | |
J2EE application unit. | |
Used in: ejb-ref | |
Example: | |
<ejb-link>EmployeeRecord</ejb-link> | |
--> | |
<xs:element name="ejb-link"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-name element specifies an enterprise bean's name. 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. | |
The enterprise bean code does not depend on the name; therefore the | |
name can be changed during the application-assembly process without | |
breaking the enterprise bean's function. | |
There is no architected relationship between the ejb-name in the | |
deployment descriptor and the JNDI name that the Deployer will assign | |
to the enterprise bean's home. | |
The name must conform to the lexical rules for an NMTOKEN. | |
Used in: entity, method, and session | |
Example: | |
<ejb-name>EmployeeService</ejb-name> | |
--> | |
<xs:element name="ejb-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-ref element is used for the declaration of a reference to | |
another enterprise bean's home. The declaration consists of an optional | |
description; the EJB reference name used in the code of the referencing | |
enterprise bean; the expected type of the referenced enterprise bean; | |
the expected home and remote interfaces of the referenced enterprise | |
bean; and an optional ejb-link information. | |
The optional ejb-link element is used to specify the referenced | |
enterprise bean. It is used typically in ejb-jar files that contain an | |
assembled application. | |
Used in: entity and session | |
--> | |
<xs:element name="ejb-ref"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="ejb-ref-name"/> | |
<xs:element ref="ejb-ref-type"/> | |
<xs:element ref="home"/> | |
<xs:element ref="remote"/> | |
<xs:element minOccurs="0" ref="ejb-link"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-ref-name element contains the name of an EJB reference. The EJB | |
reference is an entry in the enterprise bean's environment. | |
It is recommended that name is prefixed with "ejb/". | |
Used in: ejb-ref | |
Example: | |
<ejb-ref-name>ejb/Payroll</ejb-ref-name> | |
--> | |
<xs:element name="ejb-ref-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-ref-type element contains the expected type of the referenced | |
enterprise bean. | |
The ejb-ref-type element must be one of the following: | |
<ejb-ref-type>Entity</ejb-ref-type> | |
<ejb-ref-type>Session</ejb-ref-type> | |
Used in: ejb-ref | |
--> | |
<xs:element name="ejb-ref-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The enterprise-beans element contains the declarations of one or more | |
enterprise beans. | |
--> | |
<xs:element name="enterprise-beans"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element ref="session"/> | |
<xs:element ref="entity"/> | |
</xs:choice> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The entity element declares an entity bean. The declaration consists | |
of: an optional description; optional display name; optional small icon | |
file name; optional large icon file name; a name assigned to the | |
enterprise bean in the deployment descriptor; the names of the entity | |
bean's home and remote interfaces; 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 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 security role references; | |
and an optional declaration of the bean's resource manager connection | |
factory references. | |
The optional primkey-field may be present in the descriptor if the | |
entity's persistency-type is Container. | |
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 persistency-type is Container, and none must not be present if | |
the entity's persistence-type is Bean. | |
Used in: enterprise-beans | |
--> | |
<xs:element name="entity"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="display-name"/> | |
<xs:element minOccurs="0" ref="small-icon"/> | |
<xs:element minOccurs="0" ref="large-icon"/> | |
<xs:element ref="ejb-name"/> | |
<xs:element ref="home"/> | |
<xs:element ref="remote"/> | |
<xs:element ref="ejb-class"/> | |
<xs:element ref="persistence-type"/> | |
<xs:element ref="prim-key-class"/> | |
<xs:element ref="reentrant"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cmp-field"/> | |
<xs:element minOccurs="0" ref="primkey-field"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="env-entry"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-role-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-ref"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The env-entry element contains the declaration of an enterprise bean's | |
environment entries. The declaration consists of an optional | |
description, the name of the environment entry, and an optional value. | |
Used in: entity and session | |
--> | |
<xs:element name="env-entry"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="env-entry-name"/> | |
<xs:element ref="env-entry-type"/> | |
<xs:element minOccurs="0" ref="env-entry-value"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The env-entry-name element contains the name of an enterprise bean's | |
environment entry. | |
Used in: env-entry | |
Example: | |
<env-entry-name>minAmount</env-entry-name> | |
--> | |
<xs:element name="env-entry-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The env-entry-type element contains the fully-qualified Java type of | |
the environment entry value that is expected by the enterprise bean's | |
code. | |
The following are the legal values of env-entry-type: | |
java.lang.Boolean, java.lang.String, java.lang.Integer, | |
java.lang.Double, java.lang.Byte, java.lang.Short, java.lang.Long, and | |
java.lang.Float. | |
Used in: env-entry | |
Example: | |
<env-entry-type>java.lang.Boolean</env-entry-type> | |
--> | |
<xs:element name="env-entry-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The env-entry-value element contains the value of an enterprise bean's | |
environment entry. | |
Used in: env-entry | |
Example: | |
<env-entry-value>100.00</env-entry-value> | |
--> | |
<xs:element name="env-entry-value"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The field-name element specifies the name of a container managed field. | |
The name must be a public field of the enterprise bean class or one of | |
its superclasses. | |
Used in: cmp-field | |
Example: | |
<field-name>firstName</field-Name> | |
--> | |
<xs:element name="field-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The home element contains the fully-qualified name of the enterprise | |
bean's home interface. | |
Used in: ejb-ref, entity, and session | |
Example: | |
<home>com.aardvark.payroll.PayrollHome</home> | |
--> | |
<xs:element name="home"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The large-icon element contains the name of a file containing a large | |
(32 x 32) icon image. The file name is relative path within the ejb-jar | |
file. | |
The image must be either in the JPEG or GIF format, and the file name | |
must end with the suffix ".jpg" or ".gif" respectively. The icon can | |
be used by tools. | |
Example: | |
<large-icon>employee-service-icon32x32.jpg</large-icon> | |
--> | |
<xs:element name="large-icon"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method element is used to denote a method of an enterprise bean's | |
home or remote interface, or a set of methods. The ejb-name element | |
must be the name of one of the enterprise beans in declared in the | |
deployment descriptor; the optional method-intf element allows to | |
distinguish between a method with the same signature that is defined in | |
both the home and remote interface; the method-name element specifies | |
the method name; and the optional method-params elements identify a | |
single method among multiple methods with an overloaded method name. | |
There are three possible styles of the method element syntax: | |
1. <method> | |
<ejb-name>EJBNAME</ejb-name> | |
<method-name>*</method-name> | |
</method> | |
This style is used to refer to all the methods of the specified | |
enterprise bean's home and remote interfaces. | |
2. <method> | |
<ejb-name>EJBNAME</ejb-name> | |
<method-name>METHOD</method-name> | |
</method>> | |
This style is used to refer to the specified method of the | |
specified enterprise bean. If there are multiple methods with | |
the same overloaded name, the element of this style refers to | |
all the methods with the overloaded name. | |
3. <method> | |
<ejb-name>EJBNAME</ejb-name> | |
<method-name>METHOD</method-name> | |
<method-params> | |
<method-param>PARAM-1</method-param> | |
<method-param>PARAM-2</method-param> | |
... | |
<method-param>PARAM-n</method-param> | |
</method-params> | |
<method> | |
This style is used to refer to a single method within a set of | |
methods with an overloaded name. PARAM-1 through PARAM-n are the | |
fully-qualified Java types of the method's input parameters (if | |
the method has no input arguments, the method-params element | |
contains no method-param elements). Arrays are specified by the | |
array element's type, followed by one or more pair of square | |
brackets (e.g. int[][]). | |
Used in: method-permission and container-transaction | |
Examples: | |
Style 1: The following method element refers to all the methods of | |
the EmployeeService bean's home and remote interfaces: | |
<method> | |
<ejb-name>EmployeeService</ejb-name> | |
<method-name>*</method-name> | |
</method> | |
Style 2: The following method element refers to all the create | |
methods of the EmployeeService bean's home interface: | |
<method> | |
<ejb-name>EmployeeService</ejb-name> | |
<method-name>create</method-name> | |
</method> | |
Style 3: The following method element refers to the | |
create(String firstName, String LastName) method of the | |
EmployeeService bean's home interface. | |
<method> | |
<ejb-name>EmployeeService</ejb-name> | |
<method-name>create</method-name> | |
<method-params> | |
<method-param>java.lang.String</method-param> | |
<method-param>java.lang.String</method-param> | |
</method-params> | |
</method> | |
The following example illustrates a Style 3 element with | |
more complex parameter types. The method | |
foobar(char s, int i, int[] iar, mypackage.MyClass mycl, | |
mypackage.MyClass[][] myclaar) | |
would be specified as: | |
<method> | |
<ejb-name>EmployeeService</ejb-name> | |
<method-name>foobar</method-name> | |
<method-params> | |
<method-param>char</method-param> | |
<method-param>int</method-param> | |
<method-param>int[]</method-param> | |
<method-param>mypackage.MyClass</method-param> | |
<method-param>mypackage.MyClass[][]</method-param> | |
</method-params> | |
</method> | |
The optional method-intf element can be used when it becomes | |
necessary to differentiate between a method defined in the home | |
interface and a method with the same name and signature that is | |
defined in the remote interface. | |
For example, the method element | |
<method> | |
<ejb-name>EmployeeService</ejb-name> | |
<method-intf>Remote</method-intf> | |
<method-name>create</method-name> | |
<method-params> | |
<method-param>java.lang.String</method-param> | |
<method-param>java.lang.String</method-param> | |
</method-params> | |
</method> | |
can be used to differentiate the create(String, String) method | |
defined in the remote interface from the create(String, String) | |
method defined in the home interface, which would be defined as | |
<method> | |
<ejb-name>EmployeeService</ejb-name> | |
<method-intf>Home</method-intf> | |
<method-name>create</method-name> | |
<method-params> | |
<method-param>java.lang.String</method-param> | |
<method-param>java.lang.String</method-param> | |
</method-params> | |
</method> | |
--> | |
<xs:element name="method"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="ejb-name"/> | |
<xs:element minOccurs="0" ref="method-intf"/> | |
<xs:element ref="method-name"/> | |
<xs:element minOccurs="0" ref="method-params"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-intf element allows a method element to differentiate | |
between the methods with the same name and signature that are defined | |
in both the remote and home interfaces. | |
The method-intf element must be one of the following: | |
<method-intf>Home</method-intf> | |
<method-intf>Remote</method-intf> | |
Used in: method | |
--> | |
<xs:element name="method-intf"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-name element 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 remote and home | |
interfaces. | |
Used in: method | |
--> | |
<xs:element name="method-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-param element contains the fully-qualified Java type name of | |
a method parameter. | |
Used in: method-params | |
--> | |
<xs:element name="method-param"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-params element contains a list of the fully-qualified Java | |
type names of the method parameters. | |
Used in: method | |
--> | |
<xs:element name="method-params"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="method-param"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-permission element specifies that one or more security roles | |
are allowed to invoke one or more enterprise bean methods. The | |
method-permission element consists of an optional description, a list | |
of security role names, and a list of method elements. | |
The security roles used in the method-permission element must be | |
defined in the security-role element of the deployment descriptor, and | |
the methods must be methods defined in the enterprise bean's remote | |
and/or home interfaces. | |
Used in: assembly-descriptor | |
--> | |
<xs:element name="method-permission"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element maxOccurs="unbounded" ref="role-name"/> | |
<xs:element maxOccurs="unbounded" ref="method"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The persistence-type element specifies an entity bean's persistence | |
management type. | |
The persistence-type element must be one of the two following: | |
<persistence-type>Bean</persistence-type> | |
<persistence-type>Container</persistence-type> | |
Used in: entity | |
--> | |
<xs:element name="persistence-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: entity | |
Examples: | |
<prim-key-class>java.lang.String</prim-key-class> | |
<prim-key-class>com.wombat.empl.EmployeeID</prim-key-class> | |
<prim-key-class>java.lang.Object</prim-key-class> | |
--> | |
<xs:element name="prim-key-class"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: entity | |
Example: | |
<primkey-field>EmployeeId</primkey-field> | |
--> | |
<xs:element name="primkey-field"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The reentrant element specifies whether an entity bean is reentrant or not. | |
The reentrant element must be one of the two following: | |
<reentrant>True</reentrant> | |
<reentrant>False</reentrant> | |
Used in: entity | |
--> | |
<xs:element name="reentrant"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The remote element contains the fully-qualified name of the enterprise | |
bean's remote interface. | |
Used in: ejb-ref, entity, and session | |
Example: | |
<remote>com.wombat.empl.EmployeeService</remote> | |
--> | |
<xs:element name="remote"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The res-auth element specifies whether the enterprise bean code signs | |
on programmatically to the resource manager, or whether the Container | |
will sign on to the resource manager on behalf of the bean. In the | |
latter case, the Container uses information that is supplied by the | |
Deployer. | |
The value of this element must be one of the two following: | |
<res-auth>Application</res-auth> | |
<res-auth>Container</res-auth> | |
--> | |
<xs:element name="res-auth"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The res-ref-name element specifies the name of a resource manager | |
connection factory reference. | |
Used in: resource-ref | |
--> | |
<xs:element name="res-ref-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The res-type element specifies the type of the data source. The type is | |
specified by the Java interface (or class) expected to be implemented | |
by the data source. | |
Used in: resource-ref | |
--> | |
<xs:element name="res-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The resource-ref element contains a declaration of enterprise bean's | |
reference to an external resource. It consists of an optional | |
description, the resource manager connection factory reference name, | |
the indication of the resource manager connection factory type expected | |
by the enterprise bean code, and the type of authentication (bean or | |
container). | |
Used in: entity and session | |
Example: | |
<resource-ref> | |
<res-ref-name>EmployeeAppDB</res-ref-name> | |
<res-type>javax.sql.DataSource</res-type> | |
<res-auth>Container</res-auth> | |
</resource-ref> | |
--> | |
<xs:element name="resource-ref"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="res-ref-name"/> | |
<xs:element ref="res-type"/> | |
<xs:element ref="res-auth"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The role-link element is used to link a security role reference to a | |
defined security role. The role-link element must contain the name of | |
one of the security roles defined in the security-role elements. | |
Used in: security-role-ref | |
--> | |
<xs:element name="role-link"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The role-name element contains the name of a security role. | |
The name must conform to the lexical rules for an NMTOKEN. | |
Used in: method-permission, security-role, and security-role-ref | |
--> | |
<xs:element name="role-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The security-role element contains the definition of a security role. | |
The definition consists of an optional description of the security | |
role, and the security role name. | |
Used in: assembly-descriptor | |
Example: | |
<security-role> | |
<description> | |
This role includes all employees who | |
are authorized to access the employee | |
service application. | |
</description> | |
<role-name>employee</role-name> | |
</security-role> | |
--> | |
<xs:element name="security-role"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="role-name"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The security-role-ref element contains the declaration of a security | |
role reference in the enterprise bean's code. The declaration consists | |
of an optional description, the security role name used in the code, | |
and an optional link to a defined security role. | |
The value of the role-name element must be the String used as the | |
parameter to the EJBContext.isCallerInRole(String roleName) method. | |
The value of the role-link element must be the name of one of the | |
security roles defined in the security-role elements. | |
Used in: entity and session | |
--> | |
<xs:element name="security-role-ref"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="role-name"/> | |
<xs:element minOccurs="0" ref="role-link"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The session-type element describes whether the session bean is a | |
stateful session, or stateless session. | |
The session-type element must be one of the two following: | |
<session-type>Stateful</session-type> | |
<session-type>Stateless</session-type> | |
--> | |
<xs:element name="session-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The session element declares an session bean. The declaration consists | |
of: an optional description; optional display name; optional small icon | |
file name; optional large icon file name; a name assigned to the | |
enterprise bean in the deployment description; the names of the session | |
bean's home and remote interfaces; 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 security role references; | |
and an optional declaration of the bean's resource manager connection | |
factory references. | |
The elements that are optional are "optional" in the sense that they | |
are omitted when if lists represented by them are empty. | |
Used in: enterprise-beans | |
--> | |
<xs:element name="session"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="display-name"/> | |
<xs:element minOccurs="0" ref="small-icon"/> | |
<xs:element minOccurs="0" ref="large-icon"/> | |
<xs:element ref="ejb-name"/> | |
<xs:element ref="home"/> | |
<xs:element ref="remote"/> | |
<xs:element ref="ejb-class"/> | |
<xs:element ref="session-type"/> | |
<xs:element ref="transaction-type"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="env-entry"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-role-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-ref"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The small-icon element contains the name of a file containing a small | |
(16 x 16) icon image. The file name is relative path within the ejb-jar | |
file. | |
The image must be either in the JPEG or GIF format, and the file name | |
must end with the suffix ".jpg" or ".gif" respectively. | |
The icon can be used by tools. | |
Example: | |
<small-icon>employee-service-icon16x16.jpg</small-icon> | |
--> | |
<xs:element name="small-icon"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The transaction-type element specifies an enterprise bean's transaction | |
management type. | |
The transaction-type element must be one of the two following: | |
<transaction-type>Bean</transaction-type> | |
<transaction-type>Container</transaction-type> | |
Used in: session | |
--> | |
<xs:element name="transaction-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The trans-attribute element specifies how the container must manage the | |
transaction boundaries when delegating a method invocation to an | |
enterprise bean's business method. | |
The value of trans-attribute must be one of the following: | |
<trans-attribute>NotSupported</trans-attribute> | |
<trans-attribute>Supports</trans-attribute> | |
<trans-attribute>Required</trans-attribute> | |
<trans-attribute>RequiresNew</trans-attribute> | |
<trans-attribute>Mandatory</trans-attribute> | |
<trans-attribute>Never</trans-attribute> | |
Used in: container-transaction | |
--> | |
<xs:element name="trans-attribute"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:schema> | |
<!-- | |
The ID mechanism is to allow tools that produce additional deployment | |
information (i.e information beyond the standard EJB deployment | |
descriptor information) to store the non-standard information in a | |
separate file, and easily refer from these tools-specific files to the | |
information in the standard deployment descriptor. | |
The EJB architecture does not allow the tools to add the non-standard | |
information into the EJB deployment descriptor. | |
--> |