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