applied 2009 GPL license
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / GroupDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4.0.b2)\r
3  * Copyright (C) 2009 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.Group;\r
26 \r
27 /**\r
28  * Class GroupDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class GroupDescriptor 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 GroupDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.jalview.org";\r
68     _xmlName = "group";\r
69     _elementDefinition = true;\r
70     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
71     org.exolab.castor.mapping.FieldHandler handler = null;\r
72     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
73     // -- initialize attribute descriptors\r
74 \r
75     // -- _name\r
76     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
77             java.lang.String.class, "_name", "name",\r
78             org.exolab.castor.xml.NodeType.Attribute);\r
79     desc.setImmutable(true);\r
80     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
81     {\r
82       public java.lang.Object getValue(java.lang.Object object)\r
83               throws IllegalStateException\r
84       {\r
85         Group target = (Group) object;\r
86         return target.getName();\r
87       }\r
88 \r
89       public void setValue(java.lang.Object object, java.lang.Object value)\r
90               throws IllegalStateException, IllegalArgumentException\r
91       {\r
92         try\r
93         {\r
94           Group target = (Group) object;\r
95           target.setName((java.lang.String) value);\r
96         } catch (java.lang.Exception ex)\r
97         {\r
98           throw new IllegalStateException(ex.toString());\r
99         }\r
100       }\r
101 \r
102       public java.lang.Object newInstance(java.lang.Object parent)\r
103       {\r
104         return null;\r
105       }\r
106     };\r
107     desc.setHandler(handler);\r
108     desc.setRequired(true);\r
109     desc.setMultivalued(false);\r
110     addFieldDescriptor(desc);\r
111 \r
112     // -- validation code for: _name\r
113     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
114     fieldValidator.setMinOccurs(1);\r
115     { // -- local scope\r
116       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
117       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
118       fieldValidator.setValidator(typeValidator);\r
119       typeValidator.setWhiteSpace("preserve");\r
120     }\r
121     desc.setValidator(fieldValidator);\r
122     // -- _display\r
123     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
124             java.lang.Boolean.TYPE, "_display", "display",\r
125             org.exolab.castor.xml.NodeType.Attribute);\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         Group target = (Group) object;\r
132         if (!target.hasDisplay())\r
133         {\r
134           return null;\r
135         }\r
136         return (target.getDisplay() ? java.lang.Boolean.TRUE\r
137                 : java.lang.Boolean.FALSE);\r
138       }\r
139 \r
140       public void setValue(java.lang.Object object, java.lang.Object value)\r
141               throws IllegalStateException, IllegalArgumentException\r
142       {\r
143         try\r
144         {\r
145           Group target = (Group) object;\r
146           // ignore null values for non optional primitives\r
147           if (value == null)\r
148           {\r
149             return;\r
150           }\r
151 \r
152           target.setDisplay(((java.lang.Boolean) value).booleanValue());\r
153         } catch (java.lang.Exception ex)\r
154         {\r
155           throw new IllegalStateException(ex.toString());\r
156         }\r
157       }\r
158 \r
159       public java.lang.Object newInstance(java.lang.Object parent)\r
160       {\r
161         return null;\r
162       }\r
163     };\r
164     desc.setHandler(handler);\r
165     desc.setRequired(true);\r
166     desc.setMultivalued(false);\r
167     addFieldDescriptor(desc);\r
168 \r
169     // -- validation code for: _display\r
170     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
171     fieldValidator.setMinOccurs(1);\r
172     { // -- local scope\r
173       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
174       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
175       fieldValidator.setValidator(typeValidator);\r
176     }\r
177     desc.setValidator(fieldValidator);\r
178     // -- initialize element descriptors\r
179 \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.Group.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