KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > enterprise > tools > common > dd > ejb > SunEjbJar


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23
24 /**
25  * This generated bean class SunEjbJar matches the schema element sun-ejb-jar
26  *
27  * Generated on Wed Aug 13 10:43:32 PDT 2003
28  *
29  * This class matches the root element of the DTD,
30  * and is the root of the following bean graph:
31  *
32  * sun-ejb-jar : SunEjbJar
33  * security-role-mapping : SecurityRoleMapping[0,n]
34  * role-name : String
35  * (
36  * | principal-name : String
37  * | group-name : String
38  * )[1,n]
39  * enterprise-beans : EnterpriseBeans
40  * name : String?
41  * unique-id : String?
42  * ejb : Ejb[0,n]
43  * ejb-name : String
44  * jndi-name : String?
45  * ejb-ref : EjbRef[0,n]
46  * ejb-ref-name : String
47  * jndi-name : String
48  * resource-ref : ResourceRef[0,n]
49  * res-ref-name : String
50  * jndi-name : String
51  * default-resource-principal : DefaultResourcePrincipal?
52  * name : String
53  * password : String
54  * resource-env-ref : ResourceEnvRef[0,n]
55  * resource-env-ref-name : String
56  * jndi-name : String
57  * service-ref : ServiceRef[0,n]
58  * service-ref-name : String
59  * port-info : PortInfo[0,n]
60  * service-endpoint-interface : String?
61  * wsdl-port : WsdlPort?
62  * namespaceURI : String
63  * localpart : String
64  * stub-property : StubProperty[0,n]
65  * name : String
66  * value : String
67  * call-property : CallProperty[0,n]
68  * name : String
69  * value : String
70  * call-property : CallProperty[0,n]
71  * name : String
72  * value : String
73  * wsdl-override : String?
74  * service-impl-class : String?
75  * service-qname : ServiceQname?
76  * namespaceURI : String
77  * localpart : String
78  * pass-by-reference : String?
79  * cmp : Cmp?
80  * mapping-properties : String?
81  * is-one-one-cmp : String?
82  * one-one-finders : OneOneFinders?
83  * finder : Finder[1,n]
84  * method-name : String
85  * query-params : String?
86  * query-filter : String?
87  * query-variables : String?
88  * query-ordering : String?
89  * principal : Principal?
90  * name : String
91  * mdb-connection-factory : MdbConnectionFactory?
92  * jndi-name : String
93  * default-resource-principal : DefaultResourcePrincipal?
94  * name : String
95  * password : String
96  * jms-durable-subscription-name : String?
97  * jms-max-messages-load : String?
98  * ior-security-config : IorSecurityConfig?
99  * transport-config : TransportConfig?
100  * integrity : String
101  * confidentiality : String
102  * establish-trust-in-target : String
103  * establish-trust-in-client : String
104  * as-context : AsContext?
105  * auth-method : String
106  * realm : String
107  * required : String
108  * sas-context : SasContext?
109  * caller-propagation : String
110  * is-read-only-bean : String?
111  * refresh-period-in-seconds : String?
112  * commit-option : String?
113  * cmt-timeout-in-seconds : String?
114  * gen-classes : GenClasses?
115  * remote-impl : String?
116  * local-impl : String?
117  * remote-home-impl : String?
118  * local-home-impl : String?
119  * bean-pool : BeanPool?
120  * steady-pool-size : String?
121  * resize-quantity : String?
122  * max-pool-size : String?
123  * pool-idle-timeout-in-seconds : String?
124  * max-wait-time-in-millis : String?
125  * bean-cache : BeanCache?
126  * max-cache-size : String?
127  * resize-quantity : String?
128  * is-cache-overflow-allowed : String?
129  * cache-idle-timeout-in-seconds : String?
130  * removal-timeout-in-seconds : String?
131  * victim-selection-policy : String?
132  * mdb-resource-adapter : MdbResourceAdapter?
133  * resource-adapter-mid : String
134  * activation-config : ActivationConfig?
135  * description : String?
136  * activation-config-property : ActivationConfigProperty[1,n]
137  * activation-config-property-name : String
138  * activation-config-property-value : String
139  * webservice-endpoint : WebserviceEndpoint[0,n]
140  * port-component-name : String
141  * endpoint-address-uri : String?
142  * login-config : LoginConfig?
143  * auth-method : String
144  * transport-guarantee : String?
145  * service-qname : ServiceQname?
146  * namespaceURI : String
147  * localpart : String
148  * tie-class : String?
149  * servlet-impl-class : String?
150  * session : Session?
151  * checkpoint-location : String?
152  * quick-checkpoint : String?
153  * checkpointed-methods : CheckpointedMethods?
154  * description : String?
155  * method : Method[1,n]
156  * description : String?
157  * method-intf : String?
158  * method-name : String
159  * method-params : MethodParams?
160  * method-param : String[0,n]
161  * pm-descriptors : PmDescriptors?
162  * pm-descriptor : PmDescriptor[1,n]
163  * pm-identifier : String
164  * pm-version : String
165  * pm-config : String?
166  * pm-class-generator : String
167  * pm-mapping-factory : String?
168  * pm-inuse : PmInuse
169  * pm-identifier : String
170  * pm-version : String
171  * cmp-resource : CmpResource?
172  * jndi-name : String
173  * default-resource-principal : DefaultResourcePrincipal?
174  * name : String
175  * password : String
176  * property : PropertyElement[0,n]
177  * name : String
178  * value : String
179  * create-tables-at-deploy : String?
180  * drop-tables-at-undeploy : String?
181  * database-vendor-name : String?
182  * schema-generator-properties : SchemaGeneratorProperties?
183  * property : PropertyElement[0,n]
184  * name : String
185  * value : String
186  * message-destination : MessageDestination[0,n]
187  * message-destination-name : String
188  * jndi-name : String
189  * webservice-description : WebserviceDescription[0,n]
190  * webservice-description-name : String
191  * wsdl-publish-location : String?
192  *
193  */

194
195 package com.sun.enterprise.tools.common.dd.ejb;
196
197 import org.w3c.dom.*;
198 import org.netbeans.modules.schema2beans.*;
199 import java.beans.*;
200 import java.util.*;
201 import java.io.*;
202 import com.sun.enterprise.tools.common.dd.SecurityRoleMapping;
203
204 // BEGIN_NOI18N
205

206 public class SunEjbJar extends com.sun.enterprise.tools.common.dd.SunBaseBean
207 {
208
209     static Vector comparators = new Vector();
210
211     static public final String JavaDoc SECURITY_ROLE_MAPPING = "SecurityRoleMapping"; // NOI18N
212
static public final String JavaDoc ENTERPRISE_BEANS = "EnterpriseBeans"; // NOI18N
213

214     public SunEjbJar() throws org.netbeans.modules.schema2beans.Schema2BeansException {
215         this(null, Common.USE_DEFAULT_VALUES);
216     }
217
218     public SunEjbJar(org.w3c.dom.Node JavaDoc doc, int options) throws org.netbeans.modules.schema2beans.Schema2BeansException {
219         this(Common.NO_DEFAULT_VALUES);
220         initFromNode(doc, options);
221     }
222     protected void initFromNode(org.w3c.dom.Node JavaDoc doc, int options) throws Schema2BeansException
223     {
224         if (doc == null)
225         {
226             doc = GraphManager.createRootElementNode("sun-ejb-jar"); // NOI18N
227
if (doc == null)
228                 throw new Schema2BeansException(Common.getMessage(
229                     "CantCreateDOMRoot_msg", "sun-ejb-jar"));
230         }
231         Node n = GraphManager.getElementNode("sun-ejb-jar", doc); // NOI18N
232
if (n == null)
233             throw new Schema2BeansException(Common.getMessage(
234                 "DocRootNotInDOMGraph_msg", "sun-ejb-jar", doc.getFirstChild().getNodeName()));
235
236         this.graphManager.setXmlDocument(doc);
237
238         // Entry point of the createBeans() recursive calls
239
this.createBean(n, this.graphManager());
240         this.initialize(options);
241     }
242     public SunEjbJar(int options)
243     {
244         super(comparators, new org.netbeans.modules.schema2beans.Version(1, 2, 0));
245         initOptions(options);
246     }
247     protected void initOptions(int options)
248     {
249         // The graph manager is allocated in the bean root
250
this.graphManager = new GraphManager(this);
251         this.createRoot("sun-ejb-jar", "SunEjbJar", // NOI18N
252
Common.TYPE_1 | Common.TYPE_BEAN, SunEjbJar.class);
253
254         // Properties (see root bean comments for the bean graph)
255
this.createProperty("security-role-mapping", // NOI18N
256
SECURITY_ROLE_MAPPING,
257             Common.TYPE_0_N | Common.TYPE_BEAN | Common.TYPE_KEY,
258             SecurityRoleMapping.class);
259         this.createProperty("enterprise-beans", // NOI18N
260
ENTERPRISE_BEANS,
261             Common.TYPE_1 | Common.TYPE_BEAN | Common.TYPE_KEY,
262             EnterpriseBeans.class);
263         this.initialize(options);
264     }
265
266     // Setting the default values of the properties
267
void initialize(int options)
268     {
269
270     }
271
272     // This attribute is an array, possibly empty
273
public void setSecurityRoleMapping(int index, SecurityRoleMapping value) {
274         this.setValue(SECURITY_ROLE_MAPPING, index, value);
275     }
276
277     //
278
public SecurityRoleMapping getSecurityRoleMapping(int index) {
279         return (SecurityRoleMapping)this.getValue(SECURITY_ROLE_MAPPING, index);
280     }
281
282     // This attribute is an array, possibly empty
283
public void setSecurityRoleMapping(SecurityRoleMapping[] value) {
284         this.setValue(SECURITY_ROLE_MAPPING, value);
285     }
286
287     //
288
public SecurityRoleMapping[] getSecurityRoleMapping() {
289         return (SecurityRoleMapping[])this.getValues(SECURITY_ROLE_MAPPING);
290     }
291
292     // Return the number of properties
293
public int sizeSecurityRoleMapping() {
294         return this.size(SECURITY_ROLE_MAPPING);
295     }
296
297     // Add a new element returning its index in the list
298
public int addSecurityRoleMapping(SecurityRoleMapping value) {
299         return this.addValue(SECURITY_ROLE_MAPPING, value);
300     }
301
302     //
303
// Remove an element using its reference
304
// Returns the index the element had in the list
305
//
306
public int removeSecurityRoleMapping(SecurityRoleMapping value) {
307         return this.removeValue(SECURITY_ROLE_MAPPING, value);
308     }
309
310     // This attribute is mandatory
311
public void setEnterpriseBeans(EnterpriseBeans value) {
312         this.setValue(ENTERPRISE_BEANS, value);
313     }
314
315     //
316
public EnterpriseBeans getEnterpriseBeans() {
317         return (EnterpriseBeans)this.getValue(ENTERPRISE_BEANS);
318     }
319
320     //
321
public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) {
322         comparators.add(c);
323     }
324
325     //
326
public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) {
327         comparators.remove(c);
328     }
329     //
330
// This method returns the root of the bean graph
331
// Each call creates a new bean graph from the specified DOM graph
332
//
333
public static SunEjbJar createGraph(org.w3c.dom.Node JavaDoc doc) throws org.netbeans.modules.schema2beans.Schema2BeansException {
334         return new SunEjbJar(doc, Common.NO_DEFAULT_VALUES);
335     }
336
337     public static SunEjbJar createGraph(java.io.InputStream JavaDoc in) throws org.netbeans.modules.schema2beans.Schema2BeansException {
338         return createGraph(in, false);
339     }
340
341     public static SunEjbJar createGraph(java.io.InputStream JavaDoc in, boolean validate) throws org.netbeans.modules.schema2beans.Schema2BeansException {
342         Document doc = GraphManager.createXmlDocument(in, validate);
343         return createGraph(doc);
344     }
345
346     //
347
// This method returns the root for a new empty bean graph
348
//
349
public static SunEjbJar createGraph() {
350         try {
351             return new SunEjbJar();
352         }
353         catch (Schema2BeansException e) {
354             throw new RuntimeException JavaDoc(e.getMessage());
355         }
356     }
357
358     public void validate() throws org.netbeans.modules.schema2beans.ValidateException {
359         boolean restrictionFailure = false;
360         // Validating property securityRoleMapping
361
for (int _index = 0; _index < sizeSecurityRoleMapping(); ++_index) {
362             SecurityRoleMapping element = getSecurityRoleMapping(_index);
363             if (element != null) {
364                 element.validate();
365             }
366         }
367         // Validating property enterpriseBeans
368
if (getEnterpriseBeans() == null) {
369             throw new org.netbeans.modules.schema2beans.ValidateException("getEnterpriseBeans() == null", "enterpriseBeans", this); // NOI18N
370
}
371         getEnterpriseBeans().validate();
372     }
373
374     // Special serializer: output XML as serialization
375
private void writeObject(java.io.ObjectOutputStream JavaDoc out) throws java.io.IOException JavaDoc{
376         ByteArrayOutputStream baos = new ByteArrayOutputStream();
377         write(baos);
378         String JavaDoc str = baos.toString();;
379         // System.out.println("str='"+str+"'");
380
out.writeUTF(str);
381     }
382     // Special deserializer: read XML as deserialization
383
private void readObject(java.io.ObjectInputStream JavaDoc in) throws java.io.IOException JavaDoc, ClassNotFoundException JavaDoc{
384         try{
385             init(comparators, new org.netbeans.modules.schema2beans.Version(1, 2, 0));
386             String JavaDoc strDocument = in.readUTF();
387             // System.out.println("strDocument='"+strDocument+"'");
388
ByteArrayInputStream bais = new ByteArrayInputStream(strDocument.getBytes());
389             Document doc = GraphManager.createXmlDocument(bais, false);
390             initOptions(Common.NO_DEFAULT_VALUES);
391             initFromNode(doc, Common.NO_DEFAULT_VALUES);
392         }
393         catch (Schema2BeansException e) {
394             e.printStackTrace();
395             throw new RuntimeException JavaDoc(e.getMessage());
396         }
397     }
398
399     // Dump the content of this bean returning it as a String
400
public void dump(StringBuffer JavaDoc str, String JavaDoc indent){
401         String JavaDoc s;
402         Object JavaDoc o;
403         org.netbeans.modules.schema2beans.BaseBean n;
404         str.append(indent);
405         str.append("SecurityRoleMapping["+this.sizeSecurityRoleMapping()+"]"); // NOI18N
406
for(int i=0; i<this.sizeSecurityRoleMapping(); i++)
407         {
408             str.append(indent+"\t");
409             str.append("#"+i+":");
410             n = (org.netbeans.modules.schema2beans.BaseBean) this.getSecurityRoleMapping(i);
411             if (n != null)
412                 n.dump(str, indent + "\t"); // NOI18N
413
else
414                 str.append(indent+"\tnull"); // NOI18N
415
this.dumpAttributes(SECURITY_ROLE_MAPPING, i, str, indent);
416         }
417
418         str.append(indent);
419         str.append("EnterpriseBeans"); // NOI18N
420
n = (org.netbeans.modules.schema2beans.BaseBean) this.getEnterpriseBeans();
421         if (n != null)
422             n.dump(str, indent + "\t"); // NOI18N
423
else
424             str.append(indent+"\tnull"); // NOI18N
425
this.dumpAttributes(ENTERPRISE_BEANS, 0, str, indent);
426
427     }
428     public String JavaDoc dumpBeanNode(){
429         StringBuffer JavaDoc str = new StringBuffer JavaDoc();
430         str.append("SunEjbJar\n"); // NOI18N
431
this.dump(str, "\n "); // NOI18N
432
return str.toString();
433     }}
434
435 // END_NOI18N
436

437
438 /*
439         The following schema file has been used for generation:
440
441 <!--
442   XML DTD for Sun ONE Application Server specific EJB jar module
443   deployment descriptor. This is a companion DTD for ejb-jar_2_1.xsd
444
445   $Revision: 1.3 $
446 -->
447
448 <!--
449 This is the root element of the ejb module descriptor document.
450 -->
451 <!ELEMENT sun-ejb-jar (security-role-mapping*, enterprise-beans) >
452
453 <!--
454 System unique object id. Automatically generated and updated at deployment/redeployment
455 -->
456 <!ELEMENT unique-id (#PCDATA)>
457
458 <!--
459 This is the root element describing all the runtime of an ejb-jar in the application.
460 -->
461 <!ELEMENT enterprise-beans (name?, unique-id?, ejb*, pm-descriptors?, cmp-resource?,
462     message-destination*, webservice-description*)>
463
464 <!--
465 This is the element describing runtime bindings for a single ejb.
466
467 Properties applicable to all types of beans:
468      ejb-name, ejb-ref*, jndi-name, resource-ref*, resource-env-ref*, pass-by-reference?,
469      ior-security-config?, gen-classes?, service-ref*
470
471 Additional properties applicable to a stateless session bean:
472     bean-pool, webservice-endpoint
473
474 Additional properties applicable to a stateful session bean:
475     bean-cache, webservice-endpoint
476
477 Additional properties applicable to an entity bean:
478    is-read-only-bean?, refresh-period-in-seconds?, cmp?, commit-option?, bean-cache?, bean-pool?
479
480 Additional properties applicable to a message-driven bean:
481    mdb-resource-adapter?, mdb-connection-factory?, jms-durable-subscription-name?,
482    jms-max-messages-load?, bean-pool?
483    ( In case of MDB, jndi-name is the jndi name of the associated jms destination )
484 -->
485
486 <!ELEMENT ejb (ejb-name, jndi-name?, ejb-ref*, resource-ref*, resource-env-ref*, service-ref*, pass-by-reference?,
487                cmp?, principal?, mdb-connection-factory?, jms-durable-subscription-name?,
488                jms-max-messages-load?, ior-security-config?, is-read-only-bean?,
489                refresh-period-in-seconds?, commit-option?, cmt-timeout-in-seconds?, gen-classes?,
490                bean-pool?, bean-cache?, mdb-resource-adapter?, webservice-endpoint*, session?)>
491 <!--
492 The text in this element matches the ejb-name of the ejb to which it refers in ejb-jar.xml.
493 -->
494 <!ELEMENT ejb-name (#PCDATA)>
495
496 <!--
497 The text in this element is a true/false flag for read only beans.
498 -->
499 <!ELEMENT is-read-only-bean (#PCDATA)>
500
501 <!--
502 This is the root element which binds an ejb reference to a jndi name.
503 -->
504 <!ELEMENT ejb-ref (ejb-ref-name, jndi-name)>
505
506 <!--
507 The ejb ref name locates the name of the ejb reference in the application.
508 -->
509 <!ELEMENT ejb-ref-name (#PCDATA)>
510
511 <!--
512 This element describes runtime information for a CMP EntityBean object for
513 EJB1.1 and EJB2.0 beans.
514 -->
515 <!ELEMENT cmp (mapping-properties?, is-one-one-cmp?, one-one-finders?)>
516
517 <!--
518 This contains the location of the persistence vendor specific O/R mapping file
519 -->
520 <!ELEMENT mapping-properties (#PCDATA)>
521
522 <!--
523 This element in deprecated. It has been left in the DTD for validation purposes.
524 Any value will be ignored by the runtime.
525 -->
526 <!ELEMENT is-one-one-cmp (#PCDATA)>
527
528 <!--
529 This root element contains the finders for CMP 1.1.
530 -->
531 <!ELEMENT one-one-finders (finder+ )>
532
533 <!--
534 This root element contains the finder for CMP 1.1 with a method-name and query parameters
535 -->
536 <!ELEMENT finder (method-name, query-params?, query-filter?, query-variables?, query-ordering?)>
537
538 <!--
539 This contains the query parameters for CMP 1.1 finder
540 -->
541 <!ELEMENT query-params (#PCDATA)>
542
543 <!--
544 This optional element contains the query filter for CMP 1.1 finder
545 -->
546 <!ELEMENT query-filter (#PCDATA)>
547
548 <!--
549 This optional element contains variables in query expression for CMP 1.1 finder
550 -->
551 <!ELEMENT query-variables (#PCDATA)>
552
553 <!--
554 This optional element contains the ordering specification for CMP 1.1 finder.
555 -->
556
557 <!ELEMENT query-ordering (#PCDATA)>
558
559 <!--
560 This element identifies the database and the policy for processing CMP beans
561 storage. The jndi-name element identifies either the persistence-manager-
562 factory-resource or the jdbc-resource as defined in the server configuration.
563 -->
564 <!ELEMENT cmp-resource (jndi-name, default-resource-principal?, property*,
565         create-tables-at-deploy?, drop-tables-at-undeploy?,
566         database-vendor-name?, schema-generator-properties?)>
567
568 <!--
569 This element contains the override properties for the schema generation
570 from CMP beans in this module.
571 -->
572 <!ELEMENT schema-generator-properties (property*) >
573
574 <!--
575 This element specifies whether automatic creation of tables for the CMP beans
576 is done at module deployment. Acceptable values are true or false
577 -->
578 <!ELEMENT create-tables-at-deploy ( #PCDATA )>
579
580 <!--
581 This element specifies whether automatic dropping of tables for the CMP beans
582 is done at module undeployment. Acceptabel values are true of false
583 -->
584 <!ELEMENT drop-tables-at-undeploy ( #PCDATA )>
585
586 <!--
587 This element specifies the database vendor name for ddl files generated at
588 module deployment. Default is SQL92.
589 -->
590 <!ELEMENT database-vendor-name ( #PCDATA )>
591
592 <!--
593 This element specifies the connection factory associated with a message-driven bean.
594 -->
595 <!ELEMENT mdb-connection-factory (jndi-name, default-resource-principal?)>
596
597 <!--
598 This node holds information about a logical message destination
599 -->
600 <!ELEMENT message-destination (message-destination-name, jndi-name)>
601
602 <!--
603 This node holds the name of a logical message destination
604 -->
605 <!ELEMENT message-destination-name (#PCDATA)>
606
607 <!--
608 Specifies the name of a durable subscription associated with a message-driven bean's
609 destination. Required for a Topic destination, if subscription-durability is set to
610 Durable (in ejb-jar.xml)
611 -->
612 <!ELEMENT jms-durable-subscription-name (#PCDATA)>
613
614 <!--
615 A string value specifies the maximum number of messages to load into a JMS session
616 at one time for a message-driven bean to serve. If not specified, the default is 1.
617 -->
618 <!ELEMENT jms-max-messages-load (#PCDATA)>
619
620 <!--
621 This element contains all the generated class names for a bean.
622 -->
623 <!ELEMENT gen-classes ( remote-impl?, local-impl?, remote-home-impl?, local-home-impl? )>
624
625 <!--
626 This contains the fully qualified class name of the generated EJBObject impl class.
627 -->
628 <!ELEMENT remote-impl (#PCDATA)>
629
630 <!--
631 This contains the fully qualified class name of the generated EJBLocalObject impl class.
632 -->
633 <!ELEMENT local-impl (#PCDATA)>
634
635 <!--
636 This contains the fully qualified class name of the generated EJBHome impl class.
637 -->
638 <!ELEMENT remote-home-impl (#PCDATA)>
639
640 <!--
641 This contains the fully qualified class name of the generated EJBLocalHome impl class.
642 -->
643 <!ELEMENT local-home-impl (#PCDATA)>
644
645 <!--
646 This contains the bean cache properties. Used only for entity beans and stateful session beans
647 -->
648 <!ELEMENT bean-cache (max-cache-size?, resize-quantity?, is-cache-overflow-allowed?, cache-idle-timeout-in-seconds?, removal-timeout-in-seconds?, victim-selection-policy?)>
649
650 <!--
651 max-cache-size defines the maximum number of beans in the cache. Should be greater than 1.
652 Default is 512.
653 -->
654 <!ELEMENT max-cache-size (#PCDATA)>
655
656 <!--
657 is-cache-overflow-allowed is a boolean which indicates if the cache size is a hard limit or not.
658 Default is true i.e there is no hard limit. max-cache-size is a hint to the cache implementation.
659 -->
660 <!ELEMENT is-cache-overflow-allowed (#PCDATA)>
661
662 <!--
663 cache-idle-timeout-in-seconds specifies the maximum time that a stateful session bean or
664 entity bean is allowed to be idle in the cache. After this time, the bean is passivated
665 to backup store. This is a hint to server. Default value for cache-idle-timeout-in-seconds
666 is 600 seconds.
667 -->
668 <!ELEMENT cache-idle-timeout-in-seconds (#PCDATA)>
669
670
671 <!--
672 The amount of time that the bean remains passivated (i.e. idle in the backup store) is
673 controlled by removal-timeout-in-seconds parameter. Note that if a bean was not accessed beyond
674 removal-timeout-in-seconds, then it will be removed from the backup store and hence will not
675 be accessible to the client. The Default value for removal-timeout-in-seconds is 60min.
676 -->
677 <!ELEMENT removal-timeout-in-seconds (#PCDATA)>
678
679 <!--
680 victim-selection-policy specifies the algorithm to use to pick victims.
681 Possible values are FIFO | LRU | NRU. Default is NRU, which is actually
682 pseudo-random selection policy.
683 -->
684 <!ELEMENT victim-selection-policy (#PCDATA)>
685
686 <!--
687 bean-pool is a root element containing the bean pool properties. Used only for stateless session
688 bean and message-driven bean pools.
689 -->
690 <!ELEMENT bean-pool (steady-pool-size?, resize-quantity?, max-pool-size?, pool-idle-timeout-in-seconds?, max-wait-time-in-millis?)>
691
692 <!--
693 steady-pool-size specified the initial and minimum number of beans that must be maintained in the pool.
694 Valid values are from 0 to MAX_INTEGER.
695 -->
696 <!ELEMENT steady-pool-size (#PCDATA)>
697
698 <!--
699 resize-quantity specifies the number of beans to be created or deleted when the pool
700 or cache is being serviced by the server. Valid values are from 0 to MAX_INTEGER and
701 subject to maximum size limit). Default is 16.
702 -->
703 <!ELEMENT resize-quantity (#PCDATA)>
704
705 <!--
706 max-pool-size speifies the maximum pool size. Valid values are from 0 to MAX_INTEGER.
707 Default is 64.
708 -->
709 <!ELEMENT max-pool-size (#PCDATA)>
710
711 <!--
712 pool-idle-timeout-in-seconds specifies the maximum time that a stateless session bean or
713 message-driven bean is allowed to be idle in the pool. After this time, the bean is
714 passivated to backup store. This is a hint to server. Default value for
715 pool-idle-timeout-in-seconds is 600 seconds.
716 -->
717 <!ELEMENT pool-idle-timeout-in-seconds (#PCDATA)>
718
719 <!--
720 A string field whose valid values are either "B", or "C". Default is "B"
721 -->
722 <!ELEMENT commit-option (#PCDATA)>
723
724 <!--
725 Specifies the timeout for transactions started by the container. This value must be greater than zero, else it will be ignored by the container.
726 -->
727 <!ELEMENT cmt-timeout-in-seconds (#PCDATA)>
728
729 <!--
730 Specifies the maximum time that the caller is willing to wait to get a bean from the pool.
731 Wait time is infinite, if the value specified is 0. Deprecated.
732 -->
733 <!ELEMENT max-wait-time-in-millis (#PCDATA)>
734
735 <!--
736 refresh-period-in-seconds specifies the rate at which the read-only-bean must be refreshed
737 from the data source. 0 (never refreshed) and positive (refreshed at specified intervals).
738 Specified value is a hint to the container. Default is 600 seconds.
739 -->
740 <!ELEMENT refresh-period-in-seconds (#PCDATA)>
741
742 <!--
743 Specifies the jndi name string.
744 -->
745 <!ELEMENT jndi-name (#PCDATA)>
746
747 <!--
748 This text nodes holds a name string.
749 -->
750 <!ELEMENT name (#PCDATA)>
751
752 <!--
753 This element holds password text.
754 -->
755 <!ELEMENT password (#PCDATA)>
756
757 <!--
758 This node describes a username on the platform.
759 -->
760 <!ELEMENT principal (name)>
761
762 <!--
763 security-role-mapping element maps the user principal or group
764 to a different principal on the server.
765 -->
766 <!ELEMENT security-role-mapping (role-name, (principal-name | group-name)+)>
767
768 <!--
769 role-name specifies an accepted role
770 -->
771 <!ELEMENT role-name (#PCDATA)>
772
773 <!--
774 principal-name specifies a valid principal
775 -->
776 <!ELEMENT principal-name (#PCDATA)>
777
778 <!--
779 group-name specifies a valid group name
780 -->
781 <!ELEMENT group-name (#PCDATA)>
782
783 <!--
784 The name of a resource reference.
785 -->
786 <!ELEMENT res-ref-name (#PCDATA)>
787
788 <!--
789 resource-env-ref holds all the runtime bindings of a resource env reference.
790 -->
791 <!ELEMENT resource-env-ref ( resource-env-ref-name, jndi-name )>
792
793 <!--
794 name of a resource env reference.
795 -->
796 <!ELEMENT resource-env-ref-name (#PCDATA)>
797
798 <!--
799 resource-ref node holds all the runtime bindings of a resource reference.
800 -->
801 <!ELEMENT resource-ref (res-ref-name, jndi-name, default-resource-principal?)>
802
803 <!--
804 user name and password to be used when none are specified while accesing a resource
805 -->
806 <!ELEMENT default-resource-principal ( name, password)>
807
808 <!--
809 ior-security-config element describes the security configuration information for the IOR.
810 -->
811 <!ELEMENT ior-security-config ( transport-config? , as-context?, sas-context? )>
812
813 <!--
814 transport-config is the root element for security between the end points
815 -->
816 <!ELEMENT transport-config ( integrity, confidentiality, establish-trust-in-target, establish-trust-in-client )>
817
818 <!--
819 integrity element indicates if the server (target) supports integrity protected messages.
820 The valid values are NONE, SUPPORTED or REQUIRED
821 -->
822 <!ELEMENT integrity ( #PCDATA)>
823
824 <!--
825 confidentiality element indicates if the server (target) supports privacy protected
826 messages. The values are NONE, SUPPORTED or REQUIRED
827 -->
828 <!ELEMENT confidentiality ( #PCDATA)>
829
830 <!--
831 establish-trust-in-target element indicates if the target is capable of authenticating to a client.
832 The values are NONE or SUPPORTED.
833 -->
834 <!ELEMENT establish-trust-in-target ( #PCDATA)>
835
836 <!--
837 establish-trust-in-client element indicates if the target is capable of authenticating a client. The
838 values are NONE, SUPPORTED or REQUIRED.
839 -->
840 <!ELEMENT establish-trust-in-client ( #PCDATA)>
841
842 <!--
843 as-context (CSIv2 authentication service) is the element describing the authentication
844 mechanism that will be used to authenticate the client. If specified it will be the
845 username-password mechanism.
846 -->
847 <!ELEMENT as-context ( auth-method, realm, required )>
848
849 <!--
850 required element specifies if the authentication method specified is required
851 to be used for client authentication. If so the EstablishTrustInClient bit
852 will be set in the target_requires field of the AS_Context. The element value
853 is either true or false.
854 -->
855 <!ELEMENT required ( #PCDATA )>
856
857 <!--
858 auth-method element describes the authentication method. The only supported value
859 is USERNAME_PASSWORD
860 -->
861 <!ELEMENT auth-method ( #PCDATA )>
862
863 <!--
864 realm element describes the realm in which the user is authenticated. Must be
865 a valid realm that is registered in server configuration.
866 -->
867 <!ELEMENT realm ( #PCDATA )>
868
869 <!--
870 sas-context (related to CSIv2 security attribute service) element describes
871 the sas-context fields.
872 -->
873 <!ELEMENT sas-context ( caller-propagation )>
874
875 <!--
876 caller-propagation element indicates if the target will accept propagated caller identities
877 The values are NONE or SUPPORTED.
878 -->
879 <!ELEMENT caller-propagation ( #PCDATA) >
880
881 <!--
882 pass-by-reference elements controls use of Pass by Reference semantics.
883 EJB spec requires pass by value, which will be the default mode of operation.
884 This can be set to true for non-compliant operation and possibly higher
885 performance. For a stand-alone server, this can be used. By setting a similarly
886 named element at sun-application.xml, it can apply to all the enclosed ejb
887 modules. Allowed values are true and false. Default will be false.
888  -->
889 <!ELEMENT pass-by-reference (#PCDATA)>
890
891 <!--
892 PM descriptors contain one or more pm descriptors, but only one of them must
893 be in use at any given time. If not specified, the Sun ONE CMP is used.
894 -->
895 <!ELEMENT pm-descriptors ( pm-descriptor+, pm-inuse)>
896
897 <!--
898 pm-descriptor describes the pluggable vendor implementation for the CMP
899 support of the CMP entity beans in this module.
900 -->
901 <!ELEMENT pm-descriptor ( pm-identifier, pm-version, pm-config?, pm-class-generator, pm-mapping-factory?)>
902
903 <!--
904 pm-identifier element identifies the vendor who provides the CMP implementation
905 -->
906 <!ELEMENT pm-identifier (#PCDATA)>
907
908 <!--
909 pm-version further specifies which version of PM vendor product to be used
910 -->
911 <!ELEMENT pm-version (#PCDATA)>
912
913 <!--
914 pm-config specifies the vendor specific config file to be used
915 -->
916 <!ELEMENT pm-config (#PCDATA)>
917
918 <!--
919 pm-class-generator specifies the vendor specific class generator to be used
920 at the module deploymant time. This is the name of the class specific to this
921 vendor.
922 -->
923 <!ELEMENT pm-class-generator (#PCDATA)>
924
925 <!--
926 pm-mapping-factory specifies the vendor specific mapping factory
927 This is the name of the class specific to a vendor.
928 -->
929 <!ELEMENT pm-mapping-factory (#PCDATA)>
930
931 <!--
932 pm-inuse specifies which CMP vendor is used.
933 -->
934 <!ELEMENT pm-inuse (pm-identifier, pm-version)>
935
936
937 <!--
938 This holds the runtime configuration properties of the message-driven bean
939 in its operation environment. For example, this may include information
940 about the name of a physical JMS destination etc.
941 Defined this way to match the activation-config on the standard
942 deployment descriptor for message-driven bean.
943 -->
944 <!ELEMENT activation-config ( description?, activation-config-property+ ) >
945
946 <!--
947 provide an element description
948 -->
949 <!ELEMENT description (#PCDATA)>
950
951 <!--
952 This hold a particular activation config propery name-value pair
953 -->
954 <!ELEMENT activation-config-property (
955   activation-config-property-name, activation-config-property-value ) >
956
957 <!--
958 This holds the name of a runtime activation-config property
959 -->
960 <!ELEMENT activation-config-property-name ( #PCDATA ) >
961
962 <!--
963 This holds the value of a runtime activation-config property
964 -->
965 <!ELEMENT activation-config-property-value ( #PCDATA ) >
966
967 <!--
968 This node holds the module ID of the resource adapter that
969 is responsible for delivering messages to the message-driven
970 bean, as well as the runtime configuration information for
971 the mdb.
972 -->
973 <!ELEMENT mdb-resource-adapter ( resource-adapter-mid, activation-config? )>
974
975 <!--
976 This node holds the module ID of the resource adapter that is responsible
977 for delivering messages to the message-driven bean.
978 -->
979 <!ELEMENT resource-adapter-mid ( #PCDATA ) >
980
981 <!--
982 Generic name-value pairs property
983 -->
984 <!ELEMENT property ( name, value ) >
985
986 <!--
987 This text nodes holds a value string.
988 -->
989 <!ELEMENT value (#PCDATA)>
990
991
992
993 <!--
994             W E B S E R V I C E S
995 -->
996 <!--
997 Information about a web service endpoint.
998 -->
999 <!ELEMENT webservice-endpoint ( port-component-name, endpoint-address-uri?, login-config?, transport-guarantee?, service-qname?, tie-class?, servlet-impl-class? )>
1000
1001<!--
1002Unique name of a port component within a module
1003-->
1004<!ELEMENT port-component-name ( #PCDATA )>
1005
1006<!--
1007Relative path combined with web server root to form fully qualified
1008endpoint address for a web service endpoint. For servlet endpoints, this
1009value is relative to the servlet's web application context root. In
1010all cases, this value must be a fixed pattern(i.e. no "*" allowed).
1011If the web service endpoint is a servlet that only implements a single
1012endpoint has only one url-pattern, it is not necessary to set
1013this value since the container can derive it from web.xml.
1014-->
1015<!ELEMENT endpoint-address-uri ( #PCDATA )>
1016
1017<!--
1018The name of tie implementation class for a port-component. This is
1019not specified by the deployer. It is derived during deployment.
1020-->
1021<!ELEMENT tie-class (#PCDATA)>
1022
1023<!--
1024The service-qname element declares the specific WSDL service
1025element that is being refered to. It is not set by the deployer.
1026It is derived during deployment.
1027-->
1028<!ELEMENT service-qname (namespaceURI, localpart)>
1029
1030<!--
1031The localpart element indicates the local part of a QNAME.
1032-->
1033<!ELEMENT localpart (#PCDATA)>
1034
1035<!--
1036The namespaceURI element indicates a URI.
1037-->
1038<!ELEMENT namespaceURI (#PCDATA)>
1039
1040<!--
1041Optional authentication configuration for an EJB web service endpoint.
1042Not needed for servet web service endpoints. Their security configuration
1043is contained in the standard web application descriptor.
1044-->
1045<!ELEMENT login-config ( auth-method )>
1046
1047<!--
1048Name of application-written servlet impl class contained in deployed war.
1049This is not set by the deployer. It is derived by the container
1050during deployment.
1051-->
1052<!ELEMENT servlet-impl-class (#PCDATA)>
1053
1054<!--
1055Runtime settings for a web service reference. In the simplest case,
1056there is no runtime information required for a service ref. Runtime info
1057is only needed in the following cases :
1058 * to define the port that should be used to resolve a container-managed port
1059 * to define default Stub/Call property settings for Stub objects
1060 * to define the URL of a final WSDL document to be used instead of
1061the one packaged with a service-ref
1062-->
1063<!ELEMENT service-ref ( service-ref-name, port-info*, call-property*, wsdl-override?, service-impl-class?, service-qname? )>
1064
1065<!--
1066Coded name (relative to java:comp/env) for a service-reference
1067-->
1068<!ELEMENT service-ref-name ( #PCDATA )>
1069
1070<!--
1071Name of generated service implementation class. This is not set by the
1072deployer. It is derived during deployment.
1073-->
1074<!ELEMENT service-impl-class ( #PCDATA )>
1075
1076<!--
1077Information for a port within a service-reference.
1078
1079Either service-endpoint-interface or wsdl-port or both
1080(service-endpoint-interface and wsdl-port) should be specified.
1081
1082If both are specified, wsdl-port represents the
1083port the container should choose for container-managed port selection.
1084
1085The same wsdl-port value must not appear in
1086more than one port-info entry within the same service-ref.
1087
1088If a particular service-endpoint-interface is using container-managed port
1089selection, it must not appear in more than one port-info entry
1090within the same service-ref.
1091
1092-->
1093<!ELEMENT port-info ( service-endpoint-interface?, wsdl-port?, stub-property*, call-property* )>
1094
1095<!--
1096Fully qualified name of service endpoint interface
1097-->
1098<!ELEMENT service-endpoint-interface ( #PCDATA )>
1099
1100<!--
1101Specifies that the communication between client and server should
1102be NONE, INTEGRAL, or CONFIDENTIAL. NONE means that the application
1103does not require any transport guarantees. A value of INTEGRAL means
1104that the application requires that the data sent between the client
1105and server be sent in such a way that it can't be changed in transit.
1106CONFIDENTIAL means that the application requires that the data be
1107transmitted in a fashion that prevents other entities from observing
1108the contents of the transmission. In most cases, the presence of the
1109INTEGRAL or CONFIDENTIAL flag will indicate that the use of SSL is
1110required.
1111-->
1112<!ELEMENT transport-guarantee ( #PCDATA )>
1113
1114
1115<!--
1116Port used in port-info.
1117-->
1118<!ELEMENT wsdl-port ( namespaceURI, localpart )>
1119
1120<!--
1121JAXRPC property values that should be set on a stub before it's returned to
1122to the web service client. The property names can be any properties supported
1123by the JAXRPC Stub implementation. See javadoc for javax.xml.rpc.Stub
1124-->
1125<!ELEMENT stub-property ( name, value )>
1126
1127<!--
1128JAXRPC property values that should be set on a Call object before it's
1129returned to the web service client. The property names can be any
1130properties supported by the JAXRPC Call implementation. See javadoc
1131for javax.xml.rpc.Call
1132-->
1133<!ELEMENT call-property ( name, value )>
1134
1135<!--
1136Runtime information about a web service.
1137
1138wsdl-publish-location is optionally used to specify
1139where the final wsdl and any dependent files should be stored. This location
1140resides on the file system from which deployment is initiated.
1141
1142-->
1143<!ELEMENT webservice-description ( webservice-description-name, wsdl-publish-location? )>
1144
1145<!--
1146Unique name of a webservice within a module
1147-->
1148<!ELEMENT webservice-description-name ( #PCDATA )>
1149
1150<!--
1151This is a valid URL pointing to a final WSDL document. It is optional.
1152If specified, the WSDL document at this URL will be used during
1153deployment instead of the WSDL document associated with the
1154service-ref in the standard deployment descriptor.
1155
1156Examples :
1157
1158  // available via HTTP
1159  <wsdl-override>http://localhost:8000/myservice/myport?WSDL</wsdl-override>
1160
1161  // in a file
1162  <wsdl-override>file:/home/user1/myfinalwsdl.wsdl</wsdl-override>
1163
1164-->
1165<!ELEMENT wsdl-override ( #PCDATA )>
1166
1167<!--
1168file: URL of a directory to which a web-service-description's wsdl should be
1169published during deployment. Any required files will be published to this
1170directory, preserving their location relative to the module-specific
1171wsdl directory(META-INF/wsdl or WEB-INF/wsdl).
1172
1173Example :
1174
1175  For an ejb.jar whose webservices.xml wsdl-file element contains
1176    META-INF/wsdl/a/Foo.wsdl
1177
1178  <wsdl-publish-location>file:/home/user1/publish
1179  </wsdl-publish-location>
1180
1181  The final wsdl will be stored in /home/user1/publish/a/Foo.wsdl
1182
1183-->
1184<!ELEMENT wsdl-publish-location ( #PCDATA )>
1185
1186
1187<!--
1188            S E / E E V e r s i o n r e l a t e d f i e l d s
1189-->
1190<!--
1191The session element specifies a Stateful enterprise bean's check pointing mechanism properties
1192Used in: ejb
1193-->
1194<!ELEMENT session ( checkpoint-location?, quick-checkpoint?, checkpointed-methods? )>
1195
1196<!--
1197The checkpoint-location element specifies a Stateful enterprise bean's check pointing mechanism type. The checkpoint-location element must be one of the following:
1198<checkpoint-location>end-of-transaction</checkpoint-location>
1199<checkpoint-location>end-of-method</checkpoint-location>
1200<checkpoint-location>end-of-transaction-or-method</checkpoint-location>
1201Default value: end-of-transaction
1202Used in: session
1203-->
1204<!ELEMENT checkpoint-location (#PCDATA)>
1205
1206
1207<!--
1208The quick-checkpoint element specifies an enterprise bean's if ejbPassivate/ejbActivate must be called or not during check pointing.
1209The checkpointing-type element must be one of the two following:
1210        <quick-checkpoint>true</quick-checkpoint>
1211        <quick-checkpoint>false</quick-checkpoint>
1212Dafault: true
1213Used in: session
1214-->
1215<!ELEMENT quick-checkpoint (#PCDATA)>
1216
1217<!--
1218This element specifies which methods require checkpointing. The methods specified in here, will be checkpointed, when the checkpoint-location is set to end-of-method.
1219
1220Default: none or all methods if failover is enabled at application or cluster/instance levels
1221Used in: session
1222-->
1223<!ELEMENT checkpointed-methods (description?, method+)>
1224
1225<!--
1226
1227Method as defined in the standard deployment descriptors.
1228
1229Used in : checkpointed-methods
1230-->
1231<!ELEMENT method (description?, method-intf?, method-name,
1232method-params?)>
1233
1234<!--
1235
1236The method-intf element allows a method element to differentiate
1237between the methods with the same name and signature that are multiply
1238defined across the component and home interfaces (e.g, in both an
1239enterprise bean's remote and local interfaces; in both an enterprise bean's
1240home and remote interfaces, etc.)
1241
1242The method-intf element must be one of the following:
1243
1244    <method-intf>Home</method-intf>
1245    <method-intf>Remote</method-intf>
1246    <method-intf>LocalHome</method-intf>
1247    <method-intf>Local</method-intf>
1248
1249Used in: method
1250-->
1251<!ELEMENT method-intf (#PCDATA)>
1252
1253<!--
1254The method-name element contains a name of an enterprise bean method
1255or the asterisk (*) character. The asterisk is used when the element
1256denotes all the methods of an enterprise bean's component and home
1257interfaces.
1258
1259Used in: method, query-method
1260-->
1261<!ELEMENT method-name (#PCDATA)>
1262
1263<!--
1264The method-param element contains the fully-qualified Java type name
1265of a method parameter.
1266
1267Used in: method-params
1268-->
1269<!ELEMENT method-param (#PCDATA)>
1270
1271<!--
1272The method-params element contains a list of the fully-qualified Java
1273type names of the method parameters.
1274
1275Used in: method, query-method
1276-->
1277<!ELEMENT method-params (method-param*)>
1278
1279
1280
1281*/

1282
Popular Tags