View Javadoc
1   /*
2    * This class was automatically generated with 
3    * <a href="http://www.castor.org">Castor 1.3.1</a>, using an XML
4    * Schema.
5    * $Id$
6    */
7   
8   package org.exolab.castor.mapping.xml.descriptors;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import org.exolab.castor.mapping.xml.Container;
15  
16  /**
17   * Class ContainerDescriptor.
18   * 
19   * @version $Revision$ $Date$
20   */
21  public class ContainerDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
22  
23  
24        //--------------------------/
25       //- Class/Member Variables -/
26      //--------------------------/
27  
28      /**
29       * Field _elementDefinition.
30       */
31      private boolean _elementDefinition;
32  
33      /**
34       * Field _nsPrefix.
35       */
36      private java.lang.String _nsPrefix;
37  
38      /**
39       * Field _nsURI.
40       */
41      private java.lang.String _nsURI;
42  
43      /**
44       * Field _xmlName.
45       */
46      private java.lang.String _xmlName;
47  
48      /**
49       * Field _identity.
50       */
51      private org.exolab.castor.xml.XMLFieldDescriptor _identity;
52  
53  
54        //----------------/
55       //- Constructors -/
56      //----------------/
57  
58      public ContainerDescriptor() {
59          super();
60          _nsURI = "http://castor.exolab.org/";
61          _xmlName = "container";
62          _elementDefinition = true;
63  
64          //-- set grouping compositor
65          setCompositorAsSequence();
66          org.exolab.castor.xml.util.XMLFieldDescriptorImpl  desc           = null;
67          org.exolab.castor.mapping.FieldHandler             handler        = null;
68          org.exolab.castor.xml.FieldValidator               fieldValidator = null;
69          //-- initialize attribute descriptors
70  
71          //-- _name
72          desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_name", "name", org.exolab.castor.xml.NodeType.Attribute);
73          handler = new org.exolab.castor.xml.XMLFieldHandler() {
74              @Override
75              public java.lang.Object getValue( java.lang.Object object ) 
76                  throws IllegalStateException
77              {
78                  Container target = (Container) object;
79                  return target.getName();
80              }
81              @Override
82              public void setValue( java.lang.Object object, java.lang.Object value) 
83                  throws IllegalStateException, IllegalArgumentException
84              {
85                  try {
86                      Container target = (Container) object;
87                      target.setName( (java.lang.String) value);
88                  } catch (java.lang.Exception ex) {
89                      throw new IllegalStateException(ex.toString());
90                  }
91              }
92              @Override
93              @SuppressWarnings("unused")
94              public java.lang.Object newInstance(java.lang.Object parent) {
95                  return new java.lang.String();
96              }
97          };
98          desc.setSchemaType("NMTOKEN");
99          desc.setHandler(handler);
100         desc.setRequired(true);
101         desc.setMultivalued(false);
102         addFieldDescriptor(desc);
103 
104         //-- validation code for: _name
105         fieldValidator = new org.exolab.castor.xml.FieldValidator();
106         fieldValidator.setMinOccurs(1);
107         { //-- local scope
108             org.exolab.castor.xml.validators.NameValidator typeValidator;
109             typeValidator = new org.exolab.castor.xml.validators.NameValidator(
110                 org.exolab.castor.xml.XMLConstants.NAME_TYPE_NMTOKEN);
111             fieldValidator.setValidator(typeValidator);
112             typeValidator.addPattern("[\\w-._:]+");
113         }
114         desc.setValidator(fieldValidator);
115         //-- _type
116         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_type", "type", org.exolab.castor.xml.NodeType.Attribute);
117         handler = new org.exolab.castor.xml.XMLFieldHandler() {
118             @Override
119             public java.lang.Object getValue( java.lang.Object object ) 
120                 throws IllegalStateException
121             {
122                 Container target = (Container) object;
123                 return target.getType();
124             }
125             @Override
126             public void setValue( java.lang.Object object, java.lang.Object value) 
127                 throws IllegalStateException, IllegalArgumentException
128             {
129                 try {
130                     Container target = (Container) object;
131                     target.setType( (java.lang.String) value);
132                 } catch (java.lang.Exception ex) {
133                     throw new IllegalStateException(ex.toString());
134                 }
135             }
136             @Override
137             @SuppressWarnings("unused")
138             public java.lang.Object newInstance(java.lang.Object parent) {
139                 return new java.lang.String();
140             }
141         };
142         desc.setSchemaType("NMTOKEN");
143         desc.setHandler(handler);
144         desc.setMultivalued(false);
145         addFieldDescriptor(desc);
146 
147         //-- validation code for: _type
148         fieldValidator = new org.exolab.castor.xml.FieldValidator();
149         { //-- local scope
150             org.exolab.castor.xml.validators.NameValidator typeValidator;
151             typeValidator = new org.exolab.castor.xml.validators.NameValidator(
152                 org.exolab.castor.xml.XMLConstants.NAME_TYPE_NMTOKEN);
153             fieldValidator.setValidator(typeValidator);
154             typeValidator.addPattern("[\\w-._:]+");
155         }
156         desc.setValidator(fieldValidator);
157         //-- _required
158         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_required", "required", org.exolab.castor.xml.NodeType.Attribute);
159         handler = new org.exolab.castor.xml.XMLFieldHandler() {
160             @Override
161             public java.lang.Object getValue( java.lang.Object object ) 
162                 throws IllegalStateException
163             {
164                 Container target = (Container) object;
165                 if (!target.hasRequired()) { return null; }
166                 return (target.getRequired() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
167             }
168             @Override
169             public void setValue( java.lang.Object object, java.lang.Object value) 
170                 throws IllegalStateException, IllegalArgumentException
171             {
172                 try {
173                     Container target = (Container) object;
174                     // if null, use delete method for optional primitives 
175                     if (value == null) {
176                         target.deleteRequired();
177                         return;
178                     }
179                     target.setRequired( ((java.lang.Boolean) value).booleanValue());
180                 } catch (java.lang.Exception ex) {
181                     throw new IllegalStateException(ex.toString());
182                 }
183             }
184             @Override
185             @SuppressWarnings("unused")
186             public java.lang.Object newInstance(java.lang.Object parent) {
187                 return null;
188             }
189         };
190         desc.setSchemaType("boolean");
191         desc.setHandler(handler);
192         desc.setMultivalued(false);
193         addFieldDescriptor(desc);
194 
195         //-- validation code for: _required
196         fieldValidator = new org.exolab.castor.xml.FieldValidator();
197         { //-- local scope
198             org.exolab.castor.xml.validators.BooleanValidator typeValidator;
199             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
200             fieldValidator.setValidator(typeValidator);
201         }
202         desc.setValidator(fieldValidator);
203         //-- _direct
204         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_direct", "direct", org.exolab.castor.xml.NodeType.Attribute);
205         handler = new org.exolab.castor.xml.XMLFieldHandler() {
206             @Override
207             public java.lang.Object getValue( java.lang.Object object ) 
208                 throws IllegalStateException
209             {
210                 Container target = (Container) object;
211                 if (!target.hasDirect()) { return null; }
212                 return (target.getDirect() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
213             }
214             @Override
215             public void setValue( java.lang.Object object, java.lang.Object value) 
216                 throws IllegalStateException, IllegalArgumentException
217             {
218                 try {
219                     Container target = (Container) object;
220                     // if null, use delete method for optional primitives 
221                     if (value == null) {
222                         target.deleteDirect();
223                         return;
224                     }
225                     target.setDirect( ((java.lang.Boolean) value).booleanValue());
226                 } catch (java.lang.Exception ex) {
227                     throw new IllegalStateException(ex.toString());
228                 }
229             }
230             @Override
231             @SuppressWarnings("unused")
232             public java.lang.Object newInstance(java.lang.Object parent) {
233                 return null;
234             }
235         };
236         desc.setSchemaType("boolean");
237         desc.setHandler(handler);
238         desc.setMultivalued(false);
239         addFieldDescriptor(desc);
240 
241         //-- validation code for: _direct
242         fieldValidator = new org.exolab.castor.xml.FieldValidator();
243         { //-- local scope
244             org.exolab.castor.xml.validators.BooleanValidator typeValidator;
245             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
246             fieldValidator.setValidator(typeValidator);
247         }
248         desc.setValidator(fieldValidator);
249         //-- _getMethod
250         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_getMethod", "get-method", org.exolab.castor.xml.NodeType.Attribute);
251         handler = new org.exolab.castor.xml.XMLFieldHandler() {
252             @Override
253             public java.lang.Object getValue( java.lang.Object object ) 
254                 throws IllegalStateException
255             {
256                 Container target = (Container) object;
257                 return target.getGetMethod();
258             }
259             @Override
260             public void setValue( java.lang.Object object, java.lang.Object value) 
261                 throws IllegalStateException, IllegalArgumentException
262             {
263                 try {
264                     Container target = (Container) object;
265                     target.setGetMethod( (java.lang.String) value);
266                 } catch (java.lang.Exception ex) {
267                     throw new IllegalStateException(ex.toString());
268                 }
269             }
270             @Override
271             @SuppressWarnings("unused")
272             public java.lang.Object newInstance(java.lang.Object parent) {
273                 return new java.lang.String();
274             }
275         };
276         desc.setSchemaType("NMTOKEN");
277         desc.setHandler(handler);
278         desc.setMultivalued(false);
279         addFieldDescriptor(desc);
280 
281         //-- validation code for: _getMethod
282         fieldValidator = new org.exolab.castor.xml.FieldValidator();
283         { //-- local scope
284             org.exolab.castor.xml.validators.NameValidator typeValidator;
285             typeValidator = new org.exolab.castor.xml.validators.NameValidator(
286                 org.exolab.castor.xml.XMLConstants.NAME_TYPE_NMTOKEN);
287             fieldValidator.setValidator(typeValidator);
288             typeValidator.addPattern("[\\w-._:]+");
289         }
290         desc.setValidator(fieldValidator);
291         //-- _setMethod
292         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_setMethod", "set-method", org.exolab.castor.xml.NodeType.Attribute);
293         handler = new org.exolab.castor.xml.XMLFieldHandler() {
294             @Override
295             public java.lang.Object getValue( java.lang.Object object ) 
296                 throws IllegalStateException
297             {
298                 Container target = (Container) object;
299                 return target.getSetMethod();
300             }
301             @Override
302             public void setValue( java.lang.Object object, java.lang.Object value) 
303                 throws IllegalStateException, IllegalArgumentException
304             {
305                 try {
306                     Container target = (Container) object;
307                     target.setSetMethod( (java.lang.String) value);
308                 } catch (java.lang.Exception ex) {
309                     throw new IllegalStateException(ex.toString());
310                 }
311             }
312             @Override
313             @SuppressWarnings("unused")
314             public java.lang.Object newInstance(java.lang.Object parent) {
315                 return new java.lang.String();
316             }
317         };
318         desc.setSchemaType("NMTOKEN");
319         desc.setHandler(handler);
320         desc.setMultivalued(false);
321         addFieldDescriptor(desc);
322 
323         //-- validation code for: _setMethod
324         fieldValidator = new org.exolab.castor.xml.FieldValidator();
325         { //-- local scope
326             org.exolab.castor.xml.validators.NameValidator typeValidator;
327             typeValidator = new org.exolab.castor.xml.validators.NameValidator(
328                 org.exolab.castor.xml.XMLConstants.NAME_TYPE_NMTOKEN);
329             fieldValidator.setValidator(typeValidator);
330             typeValidator.addPattern("[\\w-._:]+");
331         }
332         desc.setValidator(fieldValidator);
333         //-- _createMethod
334         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_createMethod", "create-method", org.exolab.castor.xml.NodeType.Attribute);
335         handler = new org.exolab.castor.xml.XMLFieldHandler() {
336             @Override
337             public java.lang.Object getValue( java.lang.Object object ) 
338                 throws IllegalStateException
339             {
340                 Container target = (Container) object;
341                 return target.getCreateMethod();
342             }
343             @Override
344             public void setValue( java.lang.Object object, java.lang.Object value) 
345                 throws IllegalStateException, IllegalArgumentException
346             {
347                 try {
348                     Container target = (Container) object;
349                     target.setCreateMethod( (java.lang.String) value);
350                 } catch (java.lang.Exception ex) {
351                     throw new IllegalStateException(ex.toString());
352                 }
353             }
354             @Override
355             @SuppressWarnings("unused")
356             public java.lang.Object newInstance(java.lang.Object parent) {
357                 return new java.lang.String();
358             }
359         };
360         desc.setSchemaType("NMTOKEN");
361         desc.setHandler(handler);
362         desc.setMultivalued(false);
363         addFieldDescriptor(desc);
364 
365         //-- validation code for: _createMethod
366         fieldValidator = new org.exolab.castor.xml.FieldValidator();
367         { //-- local scope
368             org.exolab.castor.xml.validators.NameValidator typeValidator;
369             typeValidator = new org.exolab.castor.xml.validators.NameValidator(
370                 org.exolab.castor.xml.XMLConstants.NAME_TYPE_NMTOKEN);
371             fieldValidator.setValidator(typeValidator);
372             typeValidator.addPattern("[\\w-._:]+");
373         }
374         desc.setValidator(fieldValidator);
375         //-- initialize element descriptors
376 
377         //-- _description
378         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_description", "description", org.exolab.castor.xml.NodeType.Element);
379         desc.setImmutable(true);
380         handler = new org.exolab.castor.xml.XMLFieldHandler() {
381             @Override
382             public java.lang.Object getValue( java.lang.Object object ) 
383                 throws IllegalStateException
384             {
385                 Container target = (Container) object;
386                 return target.getDescription();
387             }
388             @Override
389             public void setValue( java.lang.Object object, java.lang.Object value) 
390                 throws IllegalStateException, IllegalArgumentException
391             {
392                 try {
393                     Container target = (Container) object;
394                     target.setDescription( (java.lang.String) value);
395                 } catch (java.lang.Exception ex) {
396                     throw new IllegalStateException(ex.toString());
397                 }
398             }
399             @Override
400             @SuppressWarnings("unused")
401             public java.lang.Object newInstance(java.lang.Object parent) {
402                 return null;
403             }
404         };
405         desc.setSchemaType("string");
406         desc.setHandler(handler);
407         desc.setMultivalued(false);
408         addFieldDescriptor(desc);
409         addSequenceElement(desc);
410 
411         //-- validation code for: _description
412         fieldValidator = new org.exolab.castor.xml.FieldValidator();
413         { //-- local scope
414             org.exolab.castor.xml.validators.StringValidator typeValidator;
415             typeValidator = new org.exolab.castor.xml.validators.StringValidator();
416             fieldValidator.setValidator(typeValidator);
417             typeValidator.setWhiteSpace("preserve");
418         }
419         desc.setValidator(fieldValidator);
420         //-- _fieldMapping
421         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.exolab.castor.mapping.xml.FieldMapping.class, "_fieldMapping", "field", org.exolab.castor.xml.NodeType.Element);
422         handler = new org.exolab.castor.xml.XMLFieldHandler() {
423             @Override
424             public java.lang.Object getValue( java.lang.Object object ) 
425                 throws IllegalStateException
426             {
427                 Container target = (Container) object;
428                 return target.getFieldMapping();
429             }
430             @Override
431             public void setValue( java.lang.Object object, java.lang.Object value) 
432                 throws IllegalStateException, IllegalArgumentException
433             {
434                 try {
435                     Container target = (Container) object;
436                     target.setFieldMapping( (org.exolab.castor.mapping.xml.FieldMapping) value);
437                 } catch (java.lang.Exception ex) {
438                     throw new IllegalStateException(ex.toString());
439                 }
440             }
441             @Override
442             @SuppressWarnings("unused")
443             public java.lang.Object newInstance(java.lang.Object parent) {
444                 return null;
445             }
446         };
447         desc.setSchemaType("org.exolab.castor.mapping.xml.FieldMapping");
448         desc.setHandler(handler);
449         desc.setNameSpaceURI("http://castor.exolab.org/");
450         desc.setRequired(true);
451         desc.setMultivalued(false);
452         addFieldDescriptor(desc);
453         addSequenceElement(desc);
454 
455         //-- validation code for: _fieldMapping
456         fieldValidator = new org.exolab.castor.xml.FieldValidator();
457         fieldValidator.setMinOccurs(1);
458         { //-- local scope
459         }
460         desc.setValidator(fieldValidator);
461     }
462 
463 
464       //-----------/
465      //- Methods -/
466     //-----------/
467 
468     /**
469      * Method getAccessMode.
470      * 
471      * @return the access mode specified for this class.
472      */
473     @Override()
474     public org.exolab.castor.mapping.AccessMode getAccessMode(
475     ) {
476         return null;
477     }
478 
479     /**
480      * Method getIdentity.
481      * 
482      * @return the identity field, null if this class has no
483      * identity.
484      */
485     @Override()
486     public org.exolab.castor.mapping.FieldDescriptor getIdentity(
487     ) {
488         return _identity;
489     }
490 
491     /**
492      * Method getJavaClass.
493      * 
494      * @return the Java class represented by this descriptor.
495      */
496     @Override()
497     public java.lang.Class getJavaClass(
498     ) {
499         return org.exolab.castor.mapping.xml.Container.class;
500     }
501 
502     /**
503      * Method getNameSpacePrefix.
504      * 
505      * @return the namespace prefix to use when marshaling as XML.
506      */
507     @Override()
508     public java.lang.String getNameSpacePrefix(
509     ) {
510         return _nsPrefix;
511     }
512 
513     /**
514      * Method getNameSpaceURI.
515      * 
516      * @return the namespace URI used when marshaling and
517      * unmarshaling as XML.
518      */
519     @Override()
520     public java.lang.String getNameSpaceURI(
521     ) {
522         return _nsURI;
523     }
524 
525     /**
526      * Method getValidator.
527      * 
528      * @return a specific validator for the class described by this
529      * ClassDescriptor.
530      */
531     @Override()
532     public org.exolab.castor.xml.TypeValidator getValidator(
533     ) {
534         return this;
535     }
536 
537     /**
538      * Method getXMLName.
539      * 
540      * @return the XML Name for the Class being described.
541      */
542     @Override()
543     public java.lang.String getXMLName(
544     ) {
545         return _xmlName;
546     }
547 
548     /**
549      * Method isElementDefinition.
550      * 
551      * @return true if XML schema definition of this Class is that
552      * of a global
553      * element or element with anonymous type definition.
554      */
555     public boolean isElementDefinition(
556     ) {
557         return _elementDefinition;
558     }
559 
560 }