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