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.BindXml;
15  
16  /**
17   * Class BindXmlDescriptor.
18   * 
19   * @version $Revision$ $Date$
20   */
21  public class BindXmlDescriptor 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 BindXmlDescriptor() {
59          super();
60          _nsURI = "http://castor.exolab.org/";
61          _xmlName = "bind-xml";
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          desc.setSchemaType("QName");
74          handler = new org.exolab.castor.xml.XMLFieldHandler() {
75              @Override
76              public java.lang.Object getValue( java.lang.Object object ) 
77                  throws IllegalStateException
78              {
79                  BindXml target = (BindXml) object;
80                  return target.getName();
81              }
82              @Override
83              public void setValue( java.lang.Object object, java.lang.Object value) 
84                  throws IllegalStateException, IllegalArgumentException
85              {
86                  try {
87                      BindXml target = (BindXml) object;
88                      target.setName( (java.lang.String) value);
89                  } catch (java.lang.Exception ex) {
90                      throw new IllegalStateException(ex.toString());
91                  }
92              }
93              @Override
94              @SuppressWarnings("unused")
95              public java.lang.Object newInstance(java.lang.Object parent) {
96                  return new java.lang.String();
97              }
98          };
99          desc.setSchemaType("QName");
100         desc.setHandler(handler);
101         desc.setMultivalued(false);
102         addFieldDescriptor(desc);
103 
104         //-- validation code for: _name
105         fieldValidator = new org.exolab.castor.xml.FieldValidator();
106         { //-- local scope
107             org.exolab.castor.xml.validators.NameValidator typeValidator;
108             typeValidator = new org.exolab.castor.xml.validators.NameValidator(
109                 org.exolab.castor.xml.XMLConstants.NAME_TYPE_QNAME);
110             fieldValidator.setValidator(typeValidator);
111         }
112         desc.setValidator(fieldValidator);
113         //-- _type
114         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_type", "type", org.exolab.castor.xml.NodeType.Attribute);
115         handler = new org.exolab.castor.xml.XMLFieldHandler() {
116             @Override
117             public java.lang.Object getValue( java.lang.Object object ) 
118                 throws IllegalStateException
119             {
120                 BindXml target = (BindXml) object;
121                 return target.getType();
122             }
123             @Override
124             public void setValue( java.lang.Object object, java.lang.Object value) 
125                 throws IllegalStateException, IllegalArgumentException
126             {
127                 try {
128                     BindXml target = (BindXml) object;
129                     target.setType( (java.lang.String) value);
130                 } catch (java.lang.Exception ex) {
131                     throw new IllegalStateException(ex.toString());
132                 }
133             }
134             @Override
135             @SuppressWarnings("unused")
136             public java.lang.Object newInstance(java.lang.Object parent) {
137                 return new java.lang.String();
138             }
139         };
140         desc.setSchemaType("NMTOKEN");
141         desc.setHandler(handler);
142         desc.setMultivalued(false);
143         addFieldDescriptor(desc);
144 
145         //-- validation code for: _type
146         fieldValidator = new org.exolab.castor.xml.FieldValidator();
147         { //-- local scope
148             org.exolab.castor.xml.validators.NameValidator typeValidator;
149             typeValidator = new org.exolab.castor.xml.validators.NameValidator(
150                 org.exolab.castor.xml.XMLConstants.NAME_TYPE_NMTOKEN);
151             fieldValidator.setValidator(typeValidator);
152             typeValidator.addPattern("[\\w-._:]+");
153         }
154         desc.setValidator(fieldValidator);
155         //-- _autoNaming
156         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.exolab.castor.mapping.xml.types.BindXmlAutoNamingType.class, "_autoNaming", "auto-naming", org.exolab.castor.xml.NodeType.Attribute);
157         handler = new org.exolab.castor.xml.XMLFieldHandler() {
158             @Override
159             public java.lang.Object getValue( java.lang.Object object ) 
160                 throws IllegalStateException
161             {
162                 BindXml target = (BindXml) object;
163                 return target.getAutoNaming();
164             }
165             @Override
166             public void setValue( java.lang.Object object, java.lang.Object value) 
167                 throws IllegalStateException, IllegalArgumentException
168             {
169                 try {
170                     BindXml target = (BindXml) object;
171                     target.setAutoNaming( (org.exolab.castor.mapping.xml.types.BindXmlAutoNamingType) value);
172                 } catch (java.lang.Exception ex) {
173                     throw new IllegalStateException(ex.toString());
174                 }
175             }
176             @Override
177             @SuppressWarnings("unused")
178             public java.lang.Object newInstance(java.lang.Object parent) {
179                 return null;
180             }
181         };
182         handler = new org.exolab.castor.xml.handlers.EnumFieldHandler(org.exolab.castor.mapping.xml.types.BindXmlAutoNamingType.class, handler);
183         desc.setImmutable(true);
184         desc.setSchemaType("BindXmlAutoNamingType");
185         desc.setHandler(handler);
186         desc.setMultivalued(false);
187         addFieldDescriptor(desc);
188 
189         //-- validation code for: _autoNaming
190         fieldValidator = new org.exolab.castor.xml.FieldValidator();
191         { //-- local scope
192         }
193         desc.setValidator(fieldValidator);
194         //-- _location
195         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_location", "location", org.exolab.castor.xml.NodeType.Attribute);
196         desc.setImmutable(true);
197         handler = new org.exolab.castor.xml.XMLFieldHandler() {
198             @Override
199             public java.lang.Object getValue( java.lang.Object object ) 
200                 throws IllegalStateException
201             {
202                 BindXml target = (BindXml) object;
203                 return target.getLocation();
204             }
205             @Override
206             public void setValue( java.lang.Object object, java.lang.Object value) 
207                 throws IllegalStateException, IllegalArgumentException
208             {
209                 try {
210                     BindXml target = (BindXml) object;
211                     target.setLocation( (java.lang.String) value);
212                 } catch (java.lang.Exception ex) {
213                     throw new IllegalStateException(ex.toString());
214                 }
215             }
216             @Override
217             @SuppressWarnings("unused")
218             public java.lang.Object newInstance(java.lang.Object parent) {
219                 return null;
220             }
221         };
222         desc.setSchemaType("string");
223         desc.setHandler(handler);
224         desc.setMultivalued(false);
225         addFieldDescriptor(desc);
226 
227         //-- validation code for: _location
228         fieldValidator = new org.exolab.castor.xml.FieldValidator();
229         { //-- local scope
230             org.exolab.castor.xml.validators.StringValidator typeValidator;
231             typeValidator = new org.exolab.castor.xml.validators.StringValidator();
232             fieldValidator.setValidator(typeValidator);
233             typeValidator.setWhiteSpace("preserve");
234         }
235         desc.setValidator(fieldValidator);
236         //-- _matches
237         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_matches", "matches", org.exolab.castor.xml.NodeType.Attribute);
238         desc.setImmutable(true);
239         handler = new org.exolab.castor.xml.XMLFieldHandler() {
240             @Override
241             public java.lang.Object getValue( java.lang.Object object ) 
242                 throws IllegalStateException
243             {
244                 BindXml target = (BindXml) object;
245                 return target.getMatches();
246             }
247             @Override
248             public void setValue( java.lang.Object object, java.lang.Object value) 
249                 throws IllegalStateException, IllegalArgumentException
250             {
251                 try {
252                     BindXml target = (BindXml) object;
253                     target.setMatches( (java.lang.String) value);
254                 } catch (java.lang.Exception ex) {
255                     throw new IllegalStateException(ex.toString());
256                 }
257             }
258             @Override
259             @SuppressWarnings("unused")
260             public java.lang.Object newInstance(java.lang.Object parent) {
261                 return null;
262             }
263         };
264         desc.setSchemaType("string");
265         desc.setHandler(handler);
266         desc.setMultivalued(false);
267         addFieldDescriptor(desc);
268 
269         //-- validation code for: _matches
270         fieldValidator = new org.exolab.castor.xml.FieldValidator();
271         { //-- local scope
272             org.exolab.castor.xml.validators.StringValidator typeValidator;
273             typeValidator = new org.exolab.castor.xml.validators.StringValidator();
274             fieldValidator.setValidator(typeValidator);
275             typeValidator.setWhiteSpace("preserve");
276         }
277         desc.setValidator(fieldValidator);
278         //-- _reference
279         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_reference", "reference", org.exolab.castor.xml.NodeType.Attribute);
280         handler = new org.exolab.castor.xml.XMLFieldHandler() {
281             @Override
282             public java.lang.Object getValue( java.lang.Object object ) 
283                 throws IllegalStateException
284             {
285                 BindXml target = (BindXml) object;
286                 if (!target.hasReference()) { return null; }
287                 return (target.getReference() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
288             }
289             @Override
290             public void setValue( java.lang.Object object, java.lang.Object value) 
291                 throws IllegalStateException, IllegalArgumentException
292             {
293                 try {
294                     BindXml target = (BindXml) object;
295                     // if null, use delete method for optional primitives 
296                     if (value == null) {
297                         target.deleteReference();
298                         return;
299                     }
300                     target.setReference( ((java.lang.Boolean) value).booleanValue());
301                 } catch (java.lang.Exception ex) {
302                     throw new IllegalStateException(ex.toString());
303                 }
304             }
305             @Override
306             @SuppressWarnings("unused")
307             public java.lang.Object newInstance(java.lang.Object parent) {
308                 return null;
309             }
310         };
311         desc.setSchemaType("boolean");
312         desc.setHandler(handler);
313         desc.setMultivalued(false);
314         addFieldDescriptor(desc);
315 
316         //-- validation code for: _reference
317         fieldValidator = new org.exolab.castor.xml.FieldValidator();
318         { //-- local scope
319             org.exolab.castor.xml.validators.BooleanValidator typeValidator;
320             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
321             fieldValidator.setValidator(typeValidator);
322         }
323         desc.setValidator(fieldValidator);
324         //-- _node
325         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.exolab.castor.mapping.xml.types.BindXmlNodeType.class, "_node", "node", org.exolab.castor.xml.NodeType.Attribute);
326         handler = new org.exolab.castor.xml.XMLFieldHandler() {
327             @Override
328             public java.lang.Object getValue( java.lang.Object object ) 
329                 throws IllegalStateException
330             {
331                 BindXml target = (BindXml) object;
332                 return target.getNode();
333             }
334             @Override
335             public void setValue( java.lang.Object object, java.lang.Object value) 
336                 throws IllegalStateException, IllegalArgumentException
337             {
338                 try {
339                     BindXml target = (BindXml) object;
340                     target.setNode( (org.exolab.castor.mapping.xml.types.BindXmlNodeType) value);
341                 } catch (java.lang.Exception ex) {
342                     throw new IllegalStateException(ex.toString());
343                 }
344             }
345             @Override
346             @SuppressWarnings("unused")
347             public java.lang.Object newInstance(java.lang.Object parent) {
348                 return null;
349             }
350         };
351         handler = new org.exolab.castor.xml.handlers.EnumFieldHandler(org.exolab.castor.mapping.xml.types.BindXmlNodeType.class, handler);
352         desc.setImmutable(true);
353         desc.setSchemaType("BindXmlNodeType");
354         desc.setHandler(handler);
355         desc.setMultivalued(false);
356         addFieldDescriptor(desc);
357 
358         //-- validation code for: _node
359         fieldValidator = new org.exolab.castor.xml.FieldValidator();
360         { //-- local scope
361         }
362         desc.setValidator(fieldValidator);
363         //-- _QNamePrefix
364         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_QNamePrefix", "QName-prefix", org.exolab.castor.xml.NodeType.Attribute);
365         handler = new org.exolab.castor.xml.XMLFieldHandler() {
366             @Override
367             public java.lang.Object getValue( java.lang.Object object ) 
368                 throws IllegalStateException
369             {
370                 BindXml target = (BindXml) object;
371                 return target.getQNamePrefix();
372             }
373             @Override
374             public void setValue( java.lang.Object object, java.lang.Object value) 
375                 throws IllegalStateException, IllegalArgumentException
376             {
377                 try {
378                     BindXml target = (BindXml) object;
379                     target.setQNamePrefix( (java.lang.String) value);
380                 } catch (java.lang.Exception ex) {
381                     throw new IllegalStateException(ex.toString());
382                 }
383             }
384             @Override
385             @SuppressWarnings("unused")
386             public java.lang.Object newInstance(java.lang.Object parent) {
387                 return new java.lang.String();
388             }
389         };
390         desc.setSchemaType("NMTOKEN");
391         desc.setHandler(handler);
392         desc.setMultivalued(false);
393         addFieldDescriptor(desc);
394 
395         //-- validation code for: _QNamePrefix
396         fieldValidator = new org.exolab.castor.xml.FieldValidator();
397         { //-- local scope
398             org.exolab.castor.xml.validators.NameValidator typeValidator;
399             typeValidator = new org.exolab.castor.xml.validators.NameValidator(
400                 org.exolab.castor.xml.XMLConstants.NAME_TYPE_NMTOKEN);
401             fieldValidator.setValidator(typeValidator);
402             typeValidator.addPattern("[\\w-._:]+");
403         }
404         desc.setValidator(fieldValidator);
405         //-- _transient
406         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_transient", "transient", org.exolab.castor.xml.NodeType.Attribute);
407         handler = new org.exolab.castor.xml.XMLFieldHandler() {
408             @Override
409             public java.lang.Object getValue( java.lang.Object object ) 
410                 throws IllegalStateException
411             {
412                 BindXml target = (BindXml) object;
413                 if (!target.hasTransient()) { return null; }
414                 return (target.getTransient() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
415             }
416             @Override
417             public void setValue( java.lang.Object object, java.lang.Object value) 
418                 throws IllegalStateException, IllegalArgumentException
419             {
420                 try {
421                     BindXml target = (BindXml) object;
422                     // if null, use delete method for optional primitives 
423                     if (value == null) {
424                         target.deleteTransient();
425                         return;
426                     }
427                     target.setTransient( ((java.lang.Boolean) value).booleanValue());
428                 } catch (java.lang.Exception ex) {
429                     throw new IllegalStateException(ex.toString());
430                 }
431             }
432             @Override
433             @SuppressWarnings("unused")
434             public java.lang.Object newInstance(java.lang.Object parent) {
435                 return null;
436             }
437         };
438         desc.setSchemaType("boolean");
439         desc.setHandler(handler);
440         desc.setMultivalued(false);
441         addFieldDescriptor(desc);
442 
443         //-- validation code for: _transient
444         fieldValidator = new org.exolab.castor.xml.FieldValidator();
445         { //-- local scope
446             org.exolab.castor.xml.validators.BooleanValidator typeValidator;
447             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
448             fieldValidator.setValidator(typeValidator);
449         }
450         desc.setValidator(fieldValidator);
451         //-- initialize element descriptors
452 
453         //-- _classMapping
454         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.exolab.castor.mapping.xml.ClassMapping.class, "_classMapping", "class", org.exolab.castor.xml.NodeType.Element);
455         handler = new org.exolab.castor.xml.XMLFieldHandler() {
456             @Override
457             public java.lang.Object getValue( java.lang.Object object ) 
458                 throws IllegalStateException
459             {
460                 BindXml target = (BindXml) object;
461                 return target.getClassMapping();
462             }
463             @Override
464             public void setValue( java.lang.Object object, java.lang.Object value) 
465                 throws IllegalStateException, IllegalArgumentException
466             {
467                 try {
468                     BindXml target = (BindXml) object;
469                     target.setClassMapping( (org.exolab.castor.mapping.xml.ClassMapping) value);
470                 } catch (java.lang.Exception ex) {
471                     throw new IllegalStateException(ex.toString());
472                 }
473             }
474             @Override
475             @SuppressWarnings("unused")
476             public java.lang.Object newInstance(java.lang.Object parent) {
477                 return null;
478             }
479         };
480         desc.setSchemaType("org.exolab.castor.mapping.xml.ClassMapping");
481         desc.setHandler(handler);
482         desc.setNameSpaceURI("http://castor.exolab.org/");
483         desc.setMultivalued(false);
484         addFieldDescriptor(desc);
485         addSequenceElement(desc);
486 
487         //-- validation code for: _classMapping
488         fieldValidator = new org.exolab.castor.xml.FieldValidator();
489         { //-- local scope
490         }
491         desc.setValidator(fieldValidator);
492         //-- _propertyList
493         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.exolab.castor.mapping.xml.Property.class, "_propertyList", "property", org.exolab.castor.xml.NodeType.Element);
494         handler = new org.exolab.castor.xml.XMLFieldHandler() {
495             @Override
496             public java.lang.Object getValue( java.lang.Object object ) 
497                 throws IllegalStateException
498             {
499                 BindXml target = (BindXml) object;
500                 return target.getProperty();
501             }
502             @Override
503             public void setValue( java.lang.Object object, java.lang.Object value) 
504                 throws IllegalStateException, IllegalArgumentException
505             {
506                 try {
507                     BindXml target = (BindXml) object;
508                     target.addProperty( (org.exolab.castor.mapping.xml.Property) value);
509                 } catch (java.lang.Exception ex) {
510                     throw new IllegalStateException(ex.toString());
511                 }
512             }
513             public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {
514                 try {
515                     BindXml target = (BindXml) object;
516                     target.removeAllProperty();
517                 } catch (java.lang.Exception ex) {
518                     throw new IllegalStateException(ex.toString());
519                 }
520             }
521             @Override
522             @SuppressWarnings("unused")
523             public java.lang.Object newInstance(java.lang.Object parent) {
524                 return null;
525             }
526         };
527         desc.setSchemaType("list");
528         desc.setComponentType("org.exolab.castor.mapping.xml.Property");
529         desc.setHandler(handler);
530         desc.setMultivalued(true);
531         addFieldDescriptor(desc);
532         addSequenceElement(desc);
533 
534         //-- validation code for: _propertyList
535         fieldValidator = new org.exolab.castor.xml.FieldValidator();
536         fieldValidator.setMinOccurs(0);
537         { //-- local scope
538         }
539         desc.setValidator(fieldValidator);
540     }
541 
542 
543       //-----------/
544      //- Methods -/
545     //-----------/
546 
547     /**
548      * Method getAccessMode.
549      * 
550      * @return the access mode specified for this class.
551      */
552     @Override()
553     public org.exolab.castor.mapping.AccessMode getAccessMode(
554     ) {
555         return null;
556     }
557 
558     /**
559      * Method getIdentity.
560      * 
561      * @return the identity field, null if this class has no
562      * identity.
563      */
564     @Override()
565     public org.exolab.castor.mapping.FieldDescriptor getIdentity(
566     ) {
567         return _identity;
568     }
569 
570     /**
571      * Method getJavaClass.
572      * 
573      * @return the Java class represented by this descriptor.
574      */
575     @Override()
576     public java.lang.Class getJavaClass(
577     ) {
578         return org.exolab.castor.mapping.xml.BindXml.class;
579     }
580 
581     /**
582      * Method getNameSpacePrefix.
583      * 
584      * @return the namespace prefix to use when marshaling as XML.
585      */
586     @Override()
587     public java.lang.String getNameSpacePrefix(
588     ) {
589         return _nsPrefix;
590     }
591 
592     /**
593      * Method getNameSpaceURI.
594      * 
595      * @return the namespace URI used when marshaling and
596      * unmarshaling as XML.
597      */
598     @Override()
599     public java.lang.String getNameSpaceURI(
600     ) {
601         return _nsURI;
602     }
603 
604     /**
605      * Method getValidator.
606      * 
607      * @return a specific validator for the class described by this
608      * ClassDescriptor.
609      */
610     @Override()
611     public org.exolab.castor.xml.TypeValidator getValidator(
612     ) {
613         return this;
614     }
615 
616     /**
617      * Method getXMLName.
618      * 
619      * @return the XML Name for the Class being described.
620      */
621     @Override()
622     public java.lang.String getXMLName(
623     ) {
624         return _xmlName;
625     }
626 
627     /**
628      * Method isElementDefinition.
629      * 
630      * @return true if XML schema definition of this Class is that
631      * of a global
632      * element or element with anonymous type definition.
633      */
634     public boolean isElementDefinition(
635     ) {
636         return _elementDefinition;
637     }
638 
639 }