6935c49b529a6a6e5421b10b76bda556efa47d69
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / VAMSASDescriptor.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.VAMSAS;\r
26 \r
27 /**\r
28  * Class VAMSASDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class VAMSASDescriptor 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 VAMSASDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.vamsas.ac.uk/jalview/version2";\r
68     _xmlName = "VAMSAS";\r
69     _elementDefinition = false;\r
70 \r
71     // -- set grouping compositor\r
72     setCompositorAsSequence();\r
73     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
74     org.exolab.castor.mapping.FieldHandler handler = null;\r
75     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
76     // -- initialize attribute descriptors\r
77 \r
78     // -- initialize element descriptors\r
79 \r
80     // -- _treeList\r
81     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
82             java.lang.String.class, "_treeList", "Tree",\r
83             org.exolab.castor.xml.NodeType.Element);\r
84     desc.setImmutable(true);\r
85     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
86     {\r
87       public java.lang.Object getValue(java.lang.Object object)\r
88               throws IllegalStateException\r
89       {\r
90         VAMSAS target = (VAMSAS) object;\r
91         return target.getTree();\r
92       }\r
93 \r
94       public void setValue(java.lang.Object object, java.lang.Object value)\r
95               throws IllegalStateException, IllegalArgumentException\r
96       {\r
97         try\r
98         {\r
99           VAMSAS target = (VAMSAS) object;\r
100           target.addTree((java.lang.String) value);\r
101         } catch (java.lang.Exception ex)\r
102         {\r
103           throw new IllegalStateException(ex.toString());\r
104         }\r
105       }\r
106 \r
107       public void resetValue(Object object) throws IllegalStateException,\r
108               IllegalArgumentException\r
109       {\r
110         try\r
111         {\r
112           VAMSAS target = (VAMSAS) object;\r
113           target.removeAllTree();\r
114         } catch (java.lang.Exception ex)\r
115         {\r
116           throw new IllegalStateException(ex.toString());\r
117         }\r
118       }\r
119 \r
120       public java.lang.Object newInstance(java.lang.Object parent)\r
121       {\r
122         return null;\r
123       }\r
124     };\r
125     desc.setHandler(handler);\r
126     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
127     desc.setMultivalued(true);\r
128     addFieldDescriptor(desc);\r
129 \r
130     // -- validation code for: _treeList\r
131     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
132     fieldValidator.setMinOccurs(0);\r
133     { // -- local scope\r
134       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
135       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
136       fieldValidator.setValidator(typeValidator);\r
137       typeValidator.setWhiteSpace("preserve");\r
138     }\r
139     desc.setValidator(fieldValidator);\r
140     // -- _sequenceSetList\r
141     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
142             jalview.schemabinding.version2.SequenceSet.class,\r
143             "_sequenceSetList", "SequenceSet",\r
144             org.exolab.castor.xml.NodeType.Element);\r
145     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
146     {\r
147       public java.lang.Object getValue(java.lang.Object object)\r
148               throws IllegalStateException\r
149       {\r
150         VAMSAS target = (VAMSAS) object;\r
151         return target.getSequenceSet();\r
152       }\r
153 \r
154       public void setValue(java.lang.Object object, java.lang.Object value)\r
155               throws IllegalStateException, IllegalArgumentException\r
156       {\r
157         try\r
158         {\r
159           VAMSAS target = (VAMSAS) object;\r
160           target\r
161                   .addSequenceSet((jalview.schemabinding.version2.SequenceSet) value);\r
162         } catch (java.lang.Exception ex)\r
163         {\r
164           throw new IllegalStateException(ex.toString());\r
165         }\r
166       }\r
167 \r
168       public void resetValue(Object object) throws IllegalStateException,\r
169               IllegalArgumentException\r
170       {\r
171         try\r
172         {\r
173           VAMSAS target = (VAMSAS) object;\r
174           target.removeAllSequenceSet();\r
175         } catch (java.lang.Exception ex)\r
176         {\r
177           throw new IllegalStateException(ex.toString());\r
178         }\r
179       }\r
180 \r
181       public java.lang.Object newInstance(java.lang.Object parent)\r
182       {\r
183         return new jalview.schemabinding.version2.SequenceSet();\r
184       }\r
185     };\r
186     desc.setHandler(handler);\r
187     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
188     desc.setMultivalued(true);\r
189     addFieldDescriptor(desc);\r
190 \r
191     // -- validation code for: _sequenceSetList\r
192     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
193     fieldValidator.setMinOccurs(0);\r
194     { // -- local scope\r
195     }\r
196     desc.setValidator(fieldValidator);\r
197   }\r
198 \r
199   // -----------/\r
200   // - Methods -/\r
201   // -----------/\r
202 \r
203   /**\r
204    * Method getAccessMode.\r
205    * \r
206    * @return the access mode specified for this class.\r
207    */\r
208   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
209   {\r
210     return null;\r
211   }\r
212 \r
213   /**\r
214    * Method getIdentity.\r
215    * \r
216    * @return the identity field, null if this class has no identity.\r
217    */\r
218   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
219   {\r
220     return super.getIdentity();\r
221   }\r
222 \r
223   /**\r
224    * Method getJavaClass.\r
225    * \r
226    * @return the Java class represented by this descriptor.\r
227    */\r
228   public java.lang.Class getJavaClass()\r
229   {\r
230     return jalview.schemabinding.version2.VAMSAS.class;\r
231   }\r
232 \r
233   /**\r
234    * Method getNameSpacePrefix.\r
235    * \r
236    * @return the namespace prefix to use when marshaling as XML.\r
237    */\r
238   public java.lang.String getNameSpacePrefix()\r
239   {\r
240     return _nsPrefix;\r
241   }\r
242 \r
243   /**\r
244    * Method getNameSpaceURI.\r
245    * \r
246    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
247    */\r
248   public java.lang.String getNameSpaceURI()\r
249   {\r
250     return _nsURI;\r
251   }\r
252 \r
253   /**\r
254    * Method getValidator.\r
255    * \r
256    * @return a specific validator for the class described by this\r
257    *         ClassDescriptor.\r
258    */\r
259   public org.exolab.castor.xml.TypeValidator getValidator()\r
260   {\r
261     return this;\r
262   }\r
263 \r
264   /**\r
265    * Method getXMLName.\r
266    * \r
267    * @return the XML Name for the Class being described.\r
268    */\r
269   public java.lang.String getXMLName()\r
270   {\r
271     return _xmlName;\r
272   }\r
273 \r
274   /**\r
275    * Method isElementDefinition.\r
276    * \r
277    * @return true if XML schema definition of this Class is that of a global\r
278    *         element or element with anonymous type definition.\r
279    */\r
280   public boolean isElementDefinition()\r
281   {\r
282     return _elementDefinition;\r
283   }\r
284 \r
285 }\r