| <?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. | |
| --> |