Jalview 2.6 source licence
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / SequenceDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
3  * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
4  * \r
5  * This file is part of Jalview.\r
6  * \r
7  * Jalview is free software: you can redistribute it and/or\r
8  * modify it under the terms of the GNU General Public License \r
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
10  * \r
11  * Jalview is distributed in the hope that it will be useful, but \r
12  * WITHOUT ANY WARRANTY; without even the implied warranty \r
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
14  * PURPOSE.  See the GNU General Public License for more details.\r
15  * \r
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
17  */\r
18 package jalview.schemabinding.version2.descriptors;\r
19 \r
20 //---------------------------------/\r
21 //- Imported classes and packages -/\r
22 //---------------------------------/\r
23 \r
24 import jalview.schemabinding.version2.Sequence;\r
25 \r
26 /**\r
27  * Class SequenceDescriptor.\r
28  * \r
29  * @version $Revision$ $Date$\r
30  */\r
31 public class SequenceDescriptor extends\r
32         jalview.schemabinding.version2.descriptors.SequenceTypeDescriptor\r
33 {\r
34 \r
35   // --------------------------/\r
36   // - Class/Member Variables -/\r
37   // --------------------------/\r
38 \r
39   /**\r
40    * Field _elementDefinition.\r
41    */\r
42   private boolean _elementDefinition;\r
43 \r
44   /**\r
45    * Field _nsPrefix.\r
46    */\r
47   private java.lang.String _nsPrefix;\r
48 \r
49   /**\r
50    * Field _nsURI.\r
51    */\r
52   private java.lang.String _nsURI;\r
53 \r
54   /**\r
55    * Field _xmlName.\r
56    */\r
57   private java.lang.String _xmlName;\r
58 \r
59   // ----------------/\r
60   // - Constructors -/\r
61   // ----------------/\r
62 \r
63   public SequenceDescriptor()\r
64   {\r
65     super();\r
66     setExtendsWithoutFlatten(new jalview.schemabinding.version2.descriptors.SequenceTypeDescriptor());\r
67     _nsURI = "www.vamsas.ac.uk/jalview/version2";\r
68     _xmlName = "Sequence";\r
69     _elementDefinition = true;\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     // -- _dsseqid\r
79     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
80             java.lang.String.class, "_dsseqid", "dsseqid",\r
81             org.exolab.castor.xml.NodeType.Attribute);\r
82     desc.setImmutable(true);\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         Sequence target = (Sequence) object;\r
89         return target.getDsseqid();\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           Sequence target = (Sequence) object;\r
98           target.setDsseqid((java.lang.String) 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 java.lang.Object newInstance(java.lang.Object parent)\r
106       {\r
107         return null;\r
108       }\r
109     };\r
110     desc.setHandler(handler);\r
111     desc.setMultivalued(false);\r
112     addFieldDescriptor(desc);\r
113 \r
114     // -- validation code for: _dsseqid\r
115     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
116     { // -- local scope\r
117       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
118       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
119       fieldValidator.setValidator(typeValidator);\r
120       typeValidator.setWhiteSpace("preserve");\r
121     }\r
122     desc.setValidator(fieldValidator);\r
123     // -- initialize element descriptors\r
124 \r
125     // -- _DBRefList\r
126     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
127             jalview.schemabinding.version2.DBRef.class, "_DBRefList",\r
128             "DBRef", org.exolab.castor.xml.NodeType.Element);\r
129     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
130     {\r
131       public java.lang.Object getValue(java.lang.Object object)\r
132               throws IllegalStateException\r
133       {\r
134         Sequence target = (Sequence) object;\r
135         return target.getDBRef();\r
136       }\r
137 \r
138       public void setValue(java.lang.Object object, java.lang.Object value)\r
139               throws IllegalStateException, IllegalArgumentException\r
140       {\r
141         try\r
142         {\r
143           Sequence target = (Sequence) object;\r
144           target.addDBRef((jalview.schemabinding.version2.DBRef) value);\r
145         } catch (java.lang.Exception ex)\r
146         {\r
147           throw new IllegalStateException(ex.toString());\r
148         }\r
149       }\r
150 \r
151       public void resetValue(Object object) throws IllegalStateException,\r
152               IllegalArgumentException\r
153       {\r
154         try\r
155         {\r
156           Sequence target = (Sequence) object;\r
157           target.removeAllDBRef();\r
158         } catch (java.lang.Exception ex)\r
159         {\r
160           throw new IllegalStateException(ex.toString());\r
161         }\r
162       }\r
163 \r
164       public java.lang.Object newInstance(java.lang.Object parent)\r
165       {\r
166         return new jalview.schemabinding.version2.DBRef();\r
167       }\r
168     };\r
169     desc.setHandler(handler);\r
170     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
171     desc.setMultivalued(true);\r
172     addFieldDescriptor(desc);\r
173 \r
174     // -- validation code for: _DBRefList\r
175     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
176     fieldValidator.setMinOccurs(0);\r
177     { // -- local scope\r
178     }\r
179     desc.setValidator(fieldValidator);\r
180   }\r
181 \r
182   // -----------/\r
183   // - Methods -/\r
184   // -----------/\r
185 \r
186   /**\r
187    * Method getAccessMode.\r
188    * \r
189    * @return the access mode specified for this class.\r
190    */\r
191   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
192   {\r
193     return null;\r
194   }\r
195 \r
196   /**\r
197    * Method getIdentity.\r
198    * \r
199    * @return the identity field, null if this class has no identity.\r
200    */\r
201   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
202   {\r
203     return super.getIdentity();\r
204   }\r
205 \r
206   /**\r
207    * Method getJavaClass.\r
208    * \r
209    * @return the Java class represented by this descriptor.\r
210    */\r
211   public java.lang.Class getJavaClass()\r
212   {\r
213     return jalview.schemabinding.version2.Sequence.class;\r
214   }\r
215 \r
216   /**\r
217    * Method getNameSpacePrefix.\r
218    * \r
219    * @return the namespace prefix to use when marshaling as XML.\r
220    */\r
221   public java.lang.String getNameSpacePrefix()\r
222   {\r
223     return _nsPrefix;\r
224   }\r
225 \r
226   /**\r
227    * Method getNameSpaceURI.\r
228    * \r
229    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
230    */\r
231   public java.lang.String getNameSpaceURI()\r
232   {\r
233     return _nsURI;\r
234   }\r
235 \r
236   /**\r
237    * Method getValidator.\r
238    * \r
239    * @return a specific validator for the class described by this\r
240    *         ClassDescriptor.\r
241    */\r
242   public org.exolab.castor.xml.TypeValidator getValidator()\r
243   {\r
244     return this;\r
245   }\r
246 \r
247   /**\r
248    * Method getXMLName.\r
249    * \r
250    * @return the XML Name for the Class being described.\r
251    */\r
252   public java.lang.String getXMLName()\r
253   {\r
254     return _xmlName;\r
255   }\r
256 \r
257   /**\r
258    * Method isElementDefinition.\r
259    * \r
260    * @return true if XML schema definition of this Class is that of a global\r
261    *         element or element with anonymous type definition.\r
262    */\r
263   public boolean isElementDefinition()\r
264   {\r
265     return _elementDefinition;\r
266   }\r
267 \r
268 }\r