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