6f69b87fab1f9c4bea6eeabb788951ef74e957cf
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / MappingChoiceDescriptor.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.MappingChoice;\r
26 \r
27 /**\r
28  * Class MappingChoiceDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class MappingChoiceDescriptor 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 MappingChoiceDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.vamsas.ac.uk/jalview/version2";\r
68     _elementDefinition = false;\r
69 \r
70     // -- set grouping compositor\r
71     setCompositorAsChoice();\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     // -- _sequence\r
80     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
81             jalview.schemabinding.version2.Sequence.class, "_sequence",\r
82             "Sequence", 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         MappingChoice target = (MappingChoice) object;\r
89         return target.getSequence();\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           MappingChoice target = (MappingChoice) object;\r
98           target\r
99                   .setSequence((jalview.schemabinding.version2.Sequence) value);\r
100         } catch (java.lang.Exception ex)\r
101         {\r
102           throw new IllegalStateException(ex.toString());\r
103         }\r
104       }\r
105 \r
106       public java.lang.Object newInstance(java.lang.Object parent)\r
107       {\r
108         return new jalview.schemabinding.version2.Sequence();\r
109       }\r
110     };\r
111     desc.setHandler(handler);\r
112     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
113     desc.setMultivalued(false);\r
114     addFieldDescriptor(desc);\r
115 \r
116     // -- validation code for: _sequence\r
117     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
118     { // -- local scope\r
119     }\r
120     desc.setValidator(fieldValidator);\r
121     // -- _dseqFor\r
122     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
123             java.lang.String.class, "_dseqFor", "dseqFor",\r
124             org.exolab.castor.xml.NodeType.Element);\r
125     desc.setImmutable(true);\r
126     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
127     {\r
128       public java.lang.Object getValue(java.lang.Object object)\r
129               throws IllegalStateException\r
130       {\r
131         MappingChoice target = (MappingChoice) object;\r
132         return target.getDseqFor();\r
133       }\r
134 \r
135       public void setValue(java.lang.Object object, java.lang.Object value)\r
136               throws IllegalStateException, IllegalArgumentException\r
137       {\r
138         try\r
139         {\r
140           MappingChoice target = (MappingChoice) object;\r
141           target.setDseqFor((java.lang.String) value);\r
142         } catch (java.lang.Exception ex)\r
143         {\r
144           throw new IllegalStateException(ex.toString());\r
145         }\r
146       }\r
147 \r
148       public java.lang.Object newInstance(java.lang.Object parent)\r
149       {\r
150         return null;\r
151       }\r
152     };\r
153     desc.setHandler(handler);\r
154     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
155     desc.setMultivalued(false);\r
156     addFieldDescriptor(desc);\r
157 \r
158     // -- validation code for: _dseqFor\r
159     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
160     { // -- local scope\r
161       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
162       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
163       fieldValidator.setValidator(typeValidator);\r
164       typeValidator.setWhiteSpace("preserve");\r
165     }\r
166     desc.setValidator(fieldValidator);\r
167   }\r
168 \r
169   // -----------/\r
170   // - Methods -/\r
171   // -----------/\r
172 \r
173   /**\r
174    * Method getAccessMode.\r
175    * \r
176    * @return the access mode specified for this class.\r
177    */\r
178   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
179   {\r
180     return null;\r
181   }\r
182 \r
183   /**\r
184    * Method getIdentity.\r
185    * \r
186    * @return the identity field, null if this class has no identity.\r
187    */\r
188   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
189   {\r
190     return super.getIdentity();\r
191   }\r
192 \r
193   /**\r
194    * Method getJavaClass.\r
195    * \r
196    * @return the Java class represented by this descriptor.\r
197    */\r
198   public java.lang.Class getJavaClass()\r
199   {\r
200     return jalview.schemabinding.version2.MappingChoice.class;\r
201   }\r
202 \r
203   /**\r
204    * Method getNameSpacePrefix.\r
205    * \r
206    * @return the namespace prefix to use when marshaling as XML.\r
207    */\r
208   public java.lang.String getNameSpacePrefix()\r
209   {\r
210     return _nsPrefix;\r
211   }\r
212 \r
213   /**\r
214    * Method getNameSpaceURI.\r
215    * \r
216    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
217    */\r
218   public java.lang.String getNameSpaceURI()\r
219   {\r
220     return _nsURI;\r
221   }\r
222 \r
223   /**\r
224    * Method getValidator.\r
225    * \r
226    * @return a specific validator for the class described by this\r
227    *         ClassDescriptor.\r
228    */\r
229   public org.exolab.castor.xml.TypeValidator getValidator()\r
230   {\r
231     return this;\r
232   }\r
233 \r
234   /**\r
235    * Method getXMLName.\r
236    * \r
237    * @return the XML Name for the Class being described.\r
238    */\r
239   public java.lang.String getXMLName()\r
240   {\r
241     return _xmlName;\r
242   }\r
243 \r
244   /**\r
245    * Method isElementDefinition.\r
246    * \r
247    * @return true if XML schema definition of this Class is that of a global\r
248    *         element or element with anonymous type definition.\r
249    */\r
250   public boolean isElementDefinition()\r
251   {\r
252     return _elementDefinition;\r
253   }\r
254 \r
255 }\r