JAL-1620 version bump and release notes
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / FeatureDescriptor.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
3  * Copyright (C) 2014 The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.schemabinding.version2.descriptors;
22
23 //---------------------------------/
24 //- Imported classes and packages -/
25 //---------------------------------/
26
27 import jalview.schemabinding.version2.Feature;
28
29 /**
30  * Class FeatureDescriptor.
31  * 
32  * @version $Revision$ $Date$
33  */
34 public class FeatureDescriptor extends
35         org.exolab.castor.xml.util.XMLClassDescriptorImpl
36 {
37
38   // --------------------------/
39   // - Class/Member Variables -/
40   // --------------------------/
41
42   /**
43    * Field _elementDefinition.
44    */
45   private boolean _elementDefinition;
46
47   /**
48    * Field _nsPrefix.
49    */
50   private java.lang.String _nsPrefix;
51
52   /**
53    * Field _nsURI.
54    */
55   private java.lang.String _nsURI;
56
57   /**
58    * Field _xmlName.
59    */
60   private java.lang.String _xmlName;
61
62   // ----------------/
63   // - Constructors -/
64   // ----------------/
65
66   public FeatureDescriptor()
67   {
68     super();
69     _nsURI = "www.jalview.org";
70     _xmlName = "feature";
71     _elementDefinition = false;
72
73     // -- set grouping compositor
74     setCompositorAsSequence();
75     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
76     org.exolab.castor.mapping.FieldHandler handler = null;
77     org.exolab.castor.xml.FieldValidator fieldValidator = null;
78     // -- initialize attribute descriptors
79
80     // -- _begin
81     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
82             java.lang.Integer.TYPE, "_begin", "begin",
83             org.exolab.castor.xml.NodeType.Attribute);
84     handler = new org.exolab.castor.xml.XMLFieldHandler()
85     {
86       public java.lang.Object getValue(java.lang.Object object)
87               throws IllegalStateException
88       {
89         Feature target = (Feature) object;
90         if (!target.hasBegin())
91         {
92           return null;
93         }
94         return new java.lang.Integer(target.getBegin());
95       }
96
97       public void setValue(java.lang.Object object, java.lang.Object value)
98               throws IllegalStateException, IllegalArgumentException
99       {
100         try
101         {
102           Feature target = (Feature) object;
103           // ignore null values for non optional primitives
104           if (value == null)
105           {
106             return;
107           }
108
109           target.setBegin(((java.lang.Integer) value).intValue());
110         } catch (java.lang.Exception ex)
111         {
112           throw new IllegalStateException(ex.toString());
113         }
114       }
115
116       public java.lang.Object newInstance(java.lang.Object parent)
117       {
118         return null;
119       }
120     };
121     desc.setHandler(handler);
122     desc.setRequired(true);
123     desc.setMultivalued(false);
124     addFieldDescriptor(desc);
125
126     // -- validation code for: _begin
127     fieldValidator = new org.exolab.castor.xml.FieldValidator();
128     fieldValidator.setMinOccurs(1);
129     { // -- local scope
130       org.exolab.castor.xml.validators.IntValidator typeValidator;
131       typeValidator = new org.exolab.castor.xml.validators.IntValidator();
132       fieldValidator.setValidator(typeValidator);
133       typeValidator.setMinInclusive(-2147483648);
134       typeValidator.setMaxInclusive(2147483647);
135     }
136     desc.setValidator(fieldValidator);
137     // -- _end
138     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
139             java.lang.Integer.TYPE, "_end", "end",
140             org.exolab.castor.xml.NodeType.Attribute);
141     handler = new org.exolab.castor.xml.XMLFieldHandler()
142     {
143       public java.lang.Object getValue(java.lang.Object object)
144               throws IllegalStateException
145       {
146         Feature target = (Feature) object;
147         if (!target.hasEnd())
148         {
149           return null;
150         }
151         return new java.lang.Integer(target.getEnd());
152       }
153
154       public void setValue(java.lang.Object object, java.lang.Object value)
155               throws IllegalStateException, IllegalArgumentException
156       {
157         try
158         {
159           Feature target = (Feature) object;
160           // ignore null values for non optional primitives
161           if (value == null)
162           {
163             return;
164           }
165
166           target.setEnd(((java.lang.Integer) value).intValue());
167         } catch (java.lang.Exception ex)
168         {
169           throw new IllegalStateException(ex.toString());
170         }
171       }
172
173       public java.lang.Object newInstance(java.lang.Object parent)
174       {
175         return null;
176       }
177     };
178     desc.setHandler(handler);
179     desc.setRequired(true);
180     desc.setMultivalued(false);
181     addFieldDescriptor(desc);
182
183     // -- validation code for: _end
184     fieldValidator = new org.exolab.castor.xml.FieldValidator();
185     fieldValidator.setMinOccurs(1);
186     { // -- local scope
187       org.exolab.castor.xml.validators.IntValidator typeValidator;
188       typeValidator = new org.exolab.castor.xml.validators.IntValidator();
189       fieldValidator.setValidator(typeValidator);
190       typeValidator.setMinInclusive(-2147483648);
191       typeValidator.setMaxInclusive(2147483647);
192     }
193     desc.setValidator(fieldValidator);
194     // -- _type
195     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
196             java.lang.String.class, "_type", "type",
197             org.exolab.castor.xml.NodeType.Attribute);
198     desc.setImmutable(true);
199     handler = new org.exolab.castor.xml.XMLFieldHandler()
200     {
201       public java.lang.Object getValue(java.lang.Object object)
202               throws IllegalStateException
203       {
204         Feature target = (Feature) object;
205         return target.getType();
206       }
207
208       public void setValue(java.lang.Object object, java.lang.Object value)
209               throws IllegalStateException, IllegalArgumentException
210       {
211         try
212         {
213           Feature target = (Feature) object;
214           target.setType((java.lang.String) value);
215         } catch (java.lang.Exception ex)
216         {
217           throw new IllegalStateException(ex.toString());
218         }
219       }
220
221       public java.lang.Object newInstance(java.lang.Object parent)
222       {
223         return null;
224       }
225     };
226     desc.setHandler(handler);
227     desc.setRequired(true);
228     desc.setMultivalued(false);
229     addFieldDescriptor(desc);
230
231     // -- validation code for: _type
232     fieldValidator = new org.exolab.castor.xml.FieldValidator();
233     fieldValidator.setMinOccurs(1);
234     { // -- local scope
235       org.exolab.castor.xml.validators.StringValidator typeValidator;
236       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
237       fieldValidator.setValidator(typeValidator);
238       typeValidator.setWhiteSpace("preserve");
239     }
240     desc.setValidator(fieldValidator);
241     // -- _description
242     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
243             java.lang.String.class, "_description", "description",
244             org.exolab.castor.xml.NodeType.Attribute);
245     desc.setImmutable(true);
246     handler = new org.exolab.castor.xml.XMLFieldHandler()
247     {
248       public java.lang.Object getValue(java.lang.Object object)
249               throws IllegalStateException
250       {
251         Feature target = (Feature) object;
252         return target.getDescription();
253       }
254
255       public void setValue(java.lang.Object object, java.lang.Object value)
256               throws IllegalStateException, IllegalArgumentException
257       {
258         try
259         {
260           Feature target = (Feature) object;
261           target.setDescription((java.lang.String) value);
262         } catch (java.lang.Exception ex)
263         {
264           throw new IllegalStateException(ex.toString());
265         }
266       }
267
268       public java.lang.Object newInstance(java.lang.Object parent)
269       {
270         return null;
271       }
272     };
273     desc.setHandler(handler);
274     desc.setMultivalued(false);
275     addFieldDescriptor(desc);
276
277     // -- validation code for: _description
278     fieldValidator = new org.exolab.castor.xml.FieldValidator();
279     { // -- local scope
280       org.exolab.castor.xml.validators.StringValidator typeValidator;
281       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
282       fieldValidator.setValidator(typeValidator);
283       typeValidator.setWhiteSpace("preserve");
284     }
285     desc.setValidator(fieldValidator);
286     // -- _status
287     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
288             java.lang.String.class, "_status", "status",
289             org.exolab.castor.xml.NodeType.Attribute);
290     desc.setImmutable(true);
291     handler = new org.exolab.castor.xml.XMLFieldHandler()
292     {
293       public java.lang.Object getValue(java.lang.Object object)
294               throws IllegalStateException
295       {
296         Feature target = (Feature) object;
297         return target.getStatus();
298       }
299
300       public void setValue(java.lang.Object object, java.lang.Object value)
301               throws IllegalStateException, IllegalArgumentException
302       {
303         try
304         {
305           Feature target = (Feature) object;
306           target.setStatus((java.lang.String) value);
307         } catch (java.lang.Exception ex)
308         {
309           throw new IllegalStateException(ex.toString());
310         }
311       }
312
313       public java.lang.Object newInstance(java.lang.Object parent)
314       {
315         return null;
316       }
317     };
318     desc.setHandler(handler);
319     desc.setMultivalued(false);
320     addFieldDescriptor(desc);
321
322     // -- validation code for: _status
323     fieldValidator = new org.exolab.castor.xml.FieldValidator();
324     { // -- local scope
325       org.exolab.castor.xml.validators.StringValidator typeValidator;
326       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
327       fieldValidator.setValidator(typeValidator);
328       typeValidator.setWhiteSpace("preserve");
329     }
330     desc.setValidator(fieldValidator);
331     // -- _featureGroup
332     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
333             java.lang.String.class, "_featureGroup", "featureGroup",
334             org.exolab.castor.xml.NodeType.Attribute);
335     desc.setImmutable(true);
336     handler = new org.exolab.castor.xml.XMLFieldHandler()
337     {
338       public java.lang.Object getValue(java.lang.Object object)
339               throws IllegalStateException
340       {
341         Feature target = (Feature) object;
342         return target.getFeatureGroup();
343       }
344
345       public void setValue(java.lang.Object object, java.lang.Object value)
346               throws IllegalStateException, IllegalArgumentException
347       {
348         try
349         {
350           Feature target = (Feature) object;
351           target.setFeatureGroup((java.lang.String) value);
352         } catch (java.lang.Exception ex)
353         {
354           throw new IllegalStateException(ex.toString());
355         }
356       }
357
358       public java.lang.Object newInstance(java.lang.Object parent)
359       {
360         return null;
361       }
362     };
363     desc.setHandler(handler);
364     desc.setMultivalued(false);
365     addFieldDescriptor(desc);
366
367     // -- validation code for: _featureGroup
368     fieldValidator = new org.exolab.castor.xml.FieldValidator();
369     { // -- local scope
370       org.exolab.castor.xml.validators.StringValidator typeValidator;
371       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
372       fieldValidator.setValidator(typeValidator);
373       typeValidator.setWhiteSpace("preserve");
374     }
375     desc.setValidator(fieldValidator);
376     // -- _score
377     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
378             java.lang.Float.TYPE, "_score", "score",
379             org.exolab.castor.xml.NodeType.Attribute);
380     handler = new org.exolab.castor.xml.XMLFieldHandler()
381     {
382       public java.lang.Object getValue(java.lang.Object object)
383               throws IllegalStateException
384       {
385         Feature target = (Feature) object;
386         if (!target.hasScore())
387         {
388           return null;
389         }
390         return new java.lang.Float(target.getScore());
391       }
392
393       public void setValue(java.lang.Object object, java.lang.Object value)
394               throws IllegalStateException, IllegalArgumentException
395       {
396         try
397         {
398           Feature target = (Feature) object;
399           // if null, use delete method for optional primitives
400           if (value == null)
401           {
402             target.deleteScore();
403             return;
404           }
405           target.setScore(((java.lang.Float) value).floatValue());
406         } catch (java.lang.Exception ex)
407         {
408           throw new IllegalStateException(ex.toString());
409         }
410       }
411
412       public java.lang.Object newInstance(java.lang.Object parent)
413       {
414         return null;
415       }
416     };
417     desc.setHandler(handler);
418     desc.setMultivalued(false);
419     addFieldDescriptor(desc);
420
421     // -- validation code for: _score
422     fieldValidator = new org.exolab.castor.xml.FieldValidator();
423     { // -- local scope
424       org.exolab.castor.xml.validators.FloatValidator typeValidator;
425       typeValidator = new org.exolab.castor.xml.validators.FloatValidator();
426       fieldValidator.setValidator(typeValidator);
427       typeValidator.setMinInclusive((float) -3.4028235E38);
428       typeValidator.setMaxInclusive((float) 3.4028235E38);
429     }
430     desc.setValidator(fieldValidator);
431     // -- initialize element descriptors
432
433     // -- _otherDataList
434     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
435             jalview.schemabinding.version2.OtherData.class,
436             "_otherDataList", "otherData",
437             org.exolab.castor.xml.NodeType.Element);
438     handler = new org.exolab.castor.xml.XMLFieldHandler()
439     {
440       public java.lang.Object getValue(java.lang.Object object)
441               throws IllegalStateException
442       {
443         Feature target = (Feature) object;
444         return target.getOtherData();
445       }
446
447       public void setValue(java.lang.Object object, java.lang.Object value)
448               throws IllegalStateException, IllegalArgumentException
449       {
450         try
451         {
452           Feature target = (Feature) object;
453           target.addOtherData((jalview.schemabinding.version2.OtherData) value);
454         } catch (java.lang.Exception ex)
455         {
456           throw new IllegalStateException(ex.toString());
457         }
458       }
459
460       public void resetValue(Object object) throws IllegalStateException,
461               IllegalArgumentException
462       {
463         try
464         {
465           Feature target = (Feature) object;
466           target.removeAllOtherData();
467         } catch (java.lang.Exception ex)
468         {
469           throw new IllegalStateException(ex.toString());
470         }
471       }
472
473       public java.lang.Object newInstance(java.lang.Object parent)
474       {
475         return new jalview.schemabinding.version2.OtherData();
476       }
477     };
478     desc.setHandler(handler);
479     desc.setNameSpaceURI("www.jalview.org");
480     desc.setMultivalued(true);
481     addFieldDescriptor(desc);
482
483     // -- validation code for: _otherDataList
484     fieldValidator = new org.exolab.castor.xml.FieldValidator();
485     fieldValidator.setMinOccurs(0);
486     { // -- local scope
487     }
488     desc.setValidator(fieldValidator);
489   }
490
491   // -----------/
492   // - Methods -/
493   // -----------/
494
495   /**
496    * Method getAccessMode.
497    * 
498    * @return the access mode specified for this class.
499    */
500   public org.exolab.castor.mapping.AccessMode getAccessMode()
501   {
502     return null;
503   }
504
505   /**
506    * Method getIdentity.
507    * 
508    * @return the identity field, null if this class has no identity.
509    */
510   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
511   {
512     return super.getIdentity();
513   }
514
515   /**
516    * Method getJavaClass.
517    * 
518    * @return the Java class represented by this descriptor.
519    */
520   public java.lang.Class getJavaClass()
521   {
522     return jalview.schemabinding.version2.Feature.class;
523   }
524
525   /**
526    * Method getNameSpacePrefix.
527    * 
528    * @return the namespace prefix to use when marshaling as XML.
529    */
530   public java.lang.String getNameSpacePrefix()
531   {
532     return _nsPrefix;
533   }
534
535   /**
536    * Method getNameSpaceURI.
537    * 
538    * @return the namespace URI used when marshaling and unmarshaling as XML.
539    */
540   public java.lang.String getNameSpaceURI()
541   {
542     return _nsURI;
543   }
544
545   /**
546    * Method getValidator.
547    * 
548    * @return a specific validator for the class described by this
549    *         ClassDescriptor.
550    */
551   public org.exolab.castor.xml.TypeValidator getValidator()
552   {
553     return this;
554   }
555
556   /**
557    * Method getXMLName.
558    * 
559    * @return the XML Name for the Class being described.
560    */
561   public java.lang.String getXMLName()
562   {
563     return _xmlName;
564   }
565
566   /**
567    * Method isElementDefinition.
568    * 
569    * @return true if XML schema definition of this Class is that of a global
570    *         element or element with anonymous type definition.
571    */
572   public boolean isElementDefinition()
573   {
574     return _elementDefinition;
575   }
576
577 }