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