b30ddbedc19c489212547f6eb65e204056fe01f4
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / SequenceSetDescriptor.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3  * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
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 of the License, or (at your option) any later version.
10  *  
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.schemabinding.version2.descriptors;
19
20 //---------------------------------/
21 //- Imported classes and packages -/
22 //---------------------------------/
23
24 import jalview.schemabinding.version2.SequenceSet;
25
26 /**
27  * Class SequenceSetDescriptor.
28  * 
29  * @version $Revision$ $Date$
30  */
31 public class SequenceSetDescriptor extends
32         org.exolab.castor.xml.util.XMLClassDescriptorImpl
33 {
34
35   // --------------------------/
36   // - Class/Member Variables -/
37   // --------------------------/
38
39   /**
40    * Field _elementDefinition.
41    */
42   private boolean _elementDefinition;
43
44   /**
45    * Field _nsPrefix.
46    */
47   private java.lang.String _nsPrefix;
48
49   /**
50    * Field _nsURI.
51    */
52   private java.lang.String _nsURI;
53
54   /**
55    * Field _xmlName.
56    */
57   private java.lang.String _xmlName;
58
59   // ----------------/
60   // - Constructors -/
61   // ----------------/
62
63   public SequenceSetDescriptor()
64   {
65     super();
66     _nsURI = "www.vamsas.ac.uk/jalview/version2";
67     _xmlName = "SequenceSet";
68     _elementDefinition = true;
69
70     // -- set grouping compositor
71     setCompositorAsSequence();
72     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
73     org.exolab.castor.mapping.FieldHandler handler = null;
74     org.exolab.castor.xml.FieldValidator fieldValidator = null;
75     // -- initialize attribute descriptors
76
77     // -- _gapChar
78     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
79             java.lang.String.class, "_gapChar", "gapChar",
80             org.exolab.castor.xml.NodeType.Attribute);
81     desc.setImmutable(true);
82     handler = new org.exolab.castor.xml.XMLFieldHandler()
83     {
84       public java.lang.Object getValue(java.lang.Object object)
85               throws IllegalStateException
86       {
87         SequenceSet target = (SequenceSet) object;
88         return target.getGapChar();
89       }
90
91       public void setValue(java.lang.Object object, java.lang.Object value)
92               throws IllegalStateException, IllegalArgumentException
93       {
94         try
95         {
96           SequenceSet target = (SequenceSet) object;
97           target.setGapChar((java.lang.String) value);
98         } catch (java.lang.Exception ex)
99         {
100           throw new IllegalStateException(ex.toString());
101         }
102       }
103
104       public java.lang.Object newInstance(java.lang.Object parent)
105       {
106         return null;
107       }
108     };
109     desc.setHandler(handler);
110     desc.setRequired(true);
111     desc.setMultivalued(false);
112     addFieldDescriptor(desc);
113
114     // -- validation code for: _gapChar
115     fieldValidator = new org.exolab.castor.xml.FieldValidator();
116     fieldValidator.setMinOccurs(1);
117     { // -- local scope
118       org.exolab.castor.xml.validators.StringValidator typeValidator;
119       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
120       fieldValidator.setValidator(typeValidator);
121       typeValidator.setWhiteSpace("preserve");
122     }
123     desc.setValidator(fieldValidator);
124     // -- _datasetId
125     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
126             java.lang.String.class, "_datasetId", "datasetId",
127             org.exolab.castor.xml.NodeType.Attribute);
128     desc.setImmutable(true);
129     handler = new org.exolab.castor.xml.XMLFieldHandler()
130     {
131       public java.lang.Object getValue(java.lang.Object object)
132               throws IllegalStateException
133       {
134         SequenceSet target = (SequenceSet) object;
135         return target.getDatasetId();
136       }
137
138       public void setValue(java.lang.Object object, java.lang.Object value)
139               throws IllegalStateException, IllegalArgumentException
140       {
141         try
142         {
143           SequenceSet target = (SequenceSet) object;
144           target.setDatasetId((java.lang.String) value);
145         } catch (java.lang.Exception ex)
146         {
147           throw new IllegalStateException(ex.toString());
148         }
149       }
150
151       public java.lang.Object newInstance(java.lang.Object parent)
152       {
153         return null;
154       }
155     };
156     desc.setHandler(handler);
157     desc.setMultivalued(false);
158     addFieldDescriptor(desc);
159
160     // -- validation code for: _datasetId
161     fieldValidator = new org.exolab.castor.xml.FieldValidator();
162     { // -- local scope
163       org.exolab.castor.xml.validators.StringValidator typeValidator;
164       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
165       fieldValidator.setValidator(typeValidator);
166       typeValidator.setWhiteSpace("preserve");
167     }
168     desc.setValidator(fieldValidator);
169     // -- initialize element descriptors
170
171     // -- _sequenceList
172     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
173             jalview.schemabinding.version2.Sequence.class, "_sequenceList",
174             "Sequence", org.exolab.castor.xml.NodeType.Element);
175     handler = new org.exolab.castor.xml.XMLFieldHandler()
176     {
177       public java.lang.Object getValue(java.lang.Object object)
178               throws IllegalStateException
179       {
180         SequenceSet target = (SequenceSet) object;
181         return target.getSequence();
182       }
183
184       public void setValue(java.lang.Object object, java.lang.Object value)
185               throws IllegalStateException, IllegalArgumentException
186       {
187         try
188         {
189           SequenceSet target = (SequenceSet) object;
190           target.addSequence((jalview.schemabinding.version2.Sequence) value);
191         } catch (java.lang.Exception ex)
192         {
193           throw new IllegalStateException(ex.toString());
194         }
195       }
196
197       public void resetValue(Object object) throws IllegalStateException,
198               IllegalArgumentException
199       {
200         try
201         {
202           SequenceSet target = (SequenceSet) object;
203           target.removeAllSequence();
204         } catch (java.lang.Exception ex)
205         {
206           throw new IllegalStateException(ex.toString());
207         }
208       }
209
210       public java.lang.Object newInstance(java.lang.Object parent)
211       {
212         return new jalview.schemabinding.version2.Sequence();
213       }
214     };
215     desc.setHandler(handler);
216     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
217     desc.setMultivalued(true);
218     addFieldDescriptor(desc);
219
220     // -- validation code for: _sequenceList
221     fieldValidator = new org.exolab.castor.xml.FieldValidator();
222     fieldValidator.setMinOccurs(0);
223     { // -- local scope
224     }
225     desc.setValidator(fieldValidator);
226     // -- _annotationList
227     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
228             jalview.schemabinding.version2.Annotation.class,
229             "_annotationList", "Annotation",
230             org.exolab.castor.xml.NodeType.Element);
231     handler = new org.exolab.castor.xml.XMLFieldHandler()
232     {
233       public java.lang.Object getValue(java.lang.Object object)
234               throws IllegalStateException
235       {
236         SequenceSet target = (SequenceSet) object;
237         return target.getAnnotation();
238       }
239
240       public void setValue(java.lang.Object object, java.lang.Object value)
241               throws IllegalStateException, IllegalArgumentException
242       {
243         try
244         {
245           SequenceSet target = (SequenceSet) object;
246           target.addAnnotation((jalview.schemabinding.version2.Annotation) value);
247         } catch (java.lang.Exception ex)
248         {
249           throw new IllegalStateException(ex.toString());
250         }
251       }
252
253       public void resetValue(Object object) throws IllegalStateException,
254               IllegalArgumentException
255       {
256         try
257         {
258           SequenceSet target = (SequenceSet) object;
259           target.removeAllAnnotation();
260         } catch (java.lang.Exception ex)
261         {
262           throw new IllegalStateException(ex.toString());
263         }
264       }
265
266       public java.lang.Object newInstance(java.lang.Object parent)
267       {
268         return new jalview.schemabinding.version2.Annotation();
269       }
270     };
271     desc.setHandler(handler);
272     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
273     desc.setMultivalued(true);
274     addFieldDescriptor(desc);
275
276     // -- validation code for: _annotationList
277     fieldValidator = new org.exolab.castor.xml.FieldValidator();
278     fieldValidator.setMinOccurs(0);
279     { // -- local scope
280     }
281     desc.setValidator(fieldValidator);
282     // -- _sequenceSetPropertiesList
283     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
284             jalview.schemabinding.version2.SequenceSetProperties.class,
285             "_sequenceSetPropertiesList", "sequenceSetProperties",
286             org.exolab.castor.xml.NodeType.Element);
287     handler = new org.exolab.castor.xml.XMLFieldHandler()
288     {
289       public java.lang.Object getValue(java.lang.Object object)
290               throws IllegalStateException
291       {
292         SequenceSet target = (SequenceSet) object;
293         return target.getSequenceSetProperties();
294       }
295
296       public void setValue(java.lang.Object object, java.lang.Object value)
297               throws IllegalStateException, IllegalArgumentException
298       {
299         try
300         {
301           SequenceSet target = (SequenceSet) object;
302           target.addSequenceSetProperties((jalview.schemabinding.version2.SequenceSetProperties) value);
303         } catch (java.lang.Exception ex)
304         {
305           throw new IllegalStateException(ex.toString());
306         }
307       }
308
309       public void resetValue(Object object) throws IllegalStateException,
310               IllegalArgumentException
311       {
312         try
313         {
314           SequenceSet target = (SequenceSet) object;
315           target.removeAllSequenceSetProperties();
316         } catch (java.lang.Exception ex)
317         {
318           throw new IllegalStateException(ex.toString());
319         }
320       }
321
322       public java.lang.Object newInstance(java.lang.Object parent)
323       {
324         return new jalview.schemabinding.version2.SequenceSetProperties();
325       }
326     };
327     desc.setHandler(handler);
328     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
329     desc.setMultivalued(true);
330     addFieldDescriptor(desc);
331
332     // -- validation code for: _sequenceSetPropertiesList
333     fieldValidator = new org.exolab.castor.xml.FieldValidator();
334     fieldValidator.setMinOccurs(0);
335     { // -- local scope
336     }
337     desc.setValidator(fieldValidator);
338     // -- _alcodonFrameList
339     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
340             jalview.schemabinding.version2.AlcodonFrame.class,
341             "_alcodonFrameList", "AlcodonFrame",
342             org.exolab.castor.xml.NodeType.Element);
343     handler = new org.exolab.castor.xml.XMLFieldHandler()
344     {
345       public java.lang.Object getValue(java.lang.Object object)
346               throws IllegalStateException
347       {
348         SequenceSet target = (SequenceSet) object;
349         return target.getAlcodonFrame();
350       }
351
352       public void setValue(java.lang.Object object, java.lang.Object value)
353               throws IllegalStateException, IllegalArgumentException
354       {
355         try
356         {
357           SequenceSet target = (SequenceSet) object;
358           target.addAlcodonFrame((jalview.schemabinding.version2.AlcodonFrame) value);
359         } catch (java.lang.Exception ex)
360         {
361           throw new IllegalStateException(ex.toString());
362         }
363       }
364
365       public void resetValue(Object object) throws IllegalStateException,
366               IllegalArgumentException
367       {
368         try
369         {
370           SequenceSet target = (SequenceSet) object;
371           target.removeAllAlcodonFrame();
372         } catch (java.lang.Exception ex)
373         {
374           throw new IllegalStateException(ex.toString());
375         }
376       }
377
378       public java.lang.Object newInstance(java.lang.Object parent)
379       {
380         return new jalview.schemabinding.version2.AlcodonFrame();
381       }
382     };
383     desc.setHandler(handler);
384     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
385     desc.setMultivalued(true);
386     addFieldDescriptor(desc);
387
388     // -- validation code for: _alcodonFrameList
389     fieldValidator = new org.exolab.castor.xml.FieldValidator();
390     fieldValidator.setMinOccurs(0);
391     { // -- local scope
392     }
393     desc.setValidator(fieldValidator);
394   }
395
396   // -----------/
397   // - Methods -/
398   // -----------/
399
400   /**
401    * Method getAccessMode.
402    * 
403    * @return the access mode specified for this class.
404    */
405   public org.exolab.castor.mapping.AccessMode getAccessMode()
406   {
407     return null;
408   }
409
410   /**
411    * Method getIdentity.
412    * 
413    * @return the identity field, null if this class has no identity.
414    */
415   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
416   {
417     return super.getIdentity();
418   }
419
420   /**
421    * Method getJavaClass.
422    * 
423    * @return the Java class represented by this descriptor.
424    */
425   public java.lang.Class getJavaClass()
426   {
427     return jalview.schemabinding.version2.SequenceSet.class;
428   }
429
430   /**
431    * Method getNameSpacePrefix.
432    * 
433    * @return the namespace prefix to use when marshaling as XML.
434    */
435   public java.lang.String getNameSpacePrefix()
436   {
437     return _nsPrefix;
438   }
439
440   /**
441    * Method getNameSpaceURI.
442    * 
443    * @return the namespace URI used when marshaling and unmarshaling as XML.
444    */
445   public java.lang.String getNameSpaceURI()
446   {
447     return _nsURI;
448   }
449
450   /**
451    * Method getValidator.
452    * 
453    * @return a specific validator for the class described by this
454    *         ClassDescriptor.
455    */
456   public org.exolab.castor.xml.TypeValidator getValidator()
457   {
458     return this;
459   }
460
461   /**
462    * Method getXMLName.
463    * 
464    * @return the XML Name for the Class being described.
465    */
466   public java.lang.String getXMLName()
467   {
468     return _xmlName;
469   }
470
471   /**
472    * Method isElementDefinition.
473    * 
474    * @return true if XML schema definition of this Class is that of a global
475    *         element or element with anonymous type definition.
476    */
477   public boolean isElementDefinition()
478   {
479     return _elementDefinition;
480   }
481
482 }