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