Jalview 2.6 source licence
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / FeatureDescriptor.java
index b5ac5f5..40de2ea 100644 (file)
@@ -1,14 +1,24 @@
 /*\r
- * This class was automatically generated with \r
- * <a href="http://www.castor.org">Castor 1.1</a>, using an XML\r
- * Schema.\r
- * $Id$\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
+ * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
+ * \r
+ * This file is part of Jalview.\r
+ * \r
+ * Jalview is free software: you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License \r
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
+ * \r
+ * Jalview is distributed in the hope that it will be useful, but \r
+ * WITHOUT ANY WARRANTY; without even the implied warranty \r
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
+ * PURPOSE.  See the GNU General Public License for more details.\r
+ * \r
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
  */\r
-\r
 package jalview.schemabinding.version2.descriptors;\r
 \r
-  //---------------------------------/\r
- //- Imported classes and packages -/\r
+//---------------------------------/\r
+//- Imported classes and packages -/\r
 //---------------------------------/\r
 \r
 import jalview.schemabinding.version2.Feature;\r
@@ -18,469 +28,548 @@ import jalview.schemabinding.version2.Feature;
  * \r
  * @version $Revision$ $Date$\r
  */\r
-public class FeatureDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {\r
-\r
-\r
-      //--------------------------/\r
-     //- Class/Member Variables -/\r
-    //--------------------------/\r
-\r
-    /**\r
-     * Field _elementDefinition.\r
-     */\r
-    private boolean _elementDefinition;\r
-\r
-    /**\r
-     * Field _nsPrefix.\r
-     */\r
-    private java.lang.String _nsPrefix;\r
-\r
-    /**\r
-     * Field _nsURI.\r
-     */\r
-    private java.lang.String _nsURI;\r
-\r
-    /**\r
-     * Field _xmlName.\r
-     */\r
-    private java.lang.String _xmlName;\r
-\r
-    /**\r
-     * Field _identity.\r
-     */\r
-    private org.exolab.castor.xml.XMLFieldDescriptor _identity;\r
-\r
-\r
-      //----------------/\r
-     //- Constructors -/\r
-    //----------------/\r
-\r
-    public FeatureDescriptor() {\r
-        super();\r
-        _nsURI = "www.jalview.org";\r
-        _xmlName = "feature";\r
-        _elementDefinition = false;\r
-        \r
-        //-- set grouping compositor\r
-        setCompositorAsSequence();\r
-        org.exolab.castor.xml.util.XMLFieldDescriptorImpl  desc           = null;\r
-        org.exolab.castor.mapping.FieldHandler             handler        = null;\r
-        org.exolab.castor.xml.FieldValidator               fieldValidator = null;\r
-        //-- initialize attribute descriptors\r
-        \r
-        //-- _begin\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_begin", "begin", org.exolab.castor.xml.NodeType.Attribute);\r
-        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
-            public java.lang.Object getValue( java.lang.Object object ) \r
-                throws IllegalStateException\r
-            {\r
-                Feature target = (Feature) object;\r
-                if (!target.hasBegin()) { return null; }\r
-                return new java.lang.Integer(target.getBegin());\r
-            }\r
-            public void setValue( java.lang.Object object, java.lang.Object value) \r
-                throws IllegalStateException, IllegalArgumentException\r
-            {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    // ignore null values for non optional primitives\r
-                    if (value == null) { return; }\r
-                    \r
-                    target.setBegin( ((java.lang.Integer) value).intValue());\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public java.lang.Object newInstance(java.lang.Object parent) {\r
-                return null;\r
-            }\r
-        };\r
-        desc.setHandler(handler);\r
-        desc.setRequired(true);\r
-        desc.setMultivalued(false);\r
-        addFieldDescriptor(desc);\r
-        \r
-        //-- validation code for: _begin\r
-        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        fieldValidator.setMinOccurs(1);\r
-        { //-- local scope\r
-            org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-            typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-            fieldValidator.setValidator(typeValidator);\r
-            typeValidator.setMinInclusive(-2147483648);\r
-            typeValidator.setMaxInclusive(2147483647);\r
-        }\r
-        desc.setValidator(fieldValidator);\r
-        //-- _end\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_end", "end", org.exolab.castor.xml.NodeType.Attribute);\r
-        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
-            public java.lang.Object getValue( java.lang.Object object ) \r
-                throws IllegalStateException\r
-            {\r
-                Feature target = (Feature) object;\r
-                if (!target.hasEnd()) { return null; }\r
-                return new java.lang.Integer(target.getEnd());\r
-            }\r
-            public void setValue( java.lang.Object object, java.lang.Object value) \r
-                throws IllegalStateException, IllegalArgumentException\r
-            {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    // ignore null values for non optional primitives\r
-                    if (value == null) { return; }\r
-                    \r
-                    target.setEnd( ((java.lang.Integer) value).intValue());\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public java.lang.Object newInstance(java.lang.Object parent) {\r
-                return null;\r
-            }\r
-        };\r
-        desc.setHandler(handler);\r
-        desc.setRequired(true);\r
-        desc.setMultivalued(false);\r
-        addFieldDescriptor(desc);\r
-        \r
-        //-- validation code for: _end\r
-        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        fieldValidator.setMinOccurs(1);\r
-        { //-- local scope\r
-            org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-            typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-            fieldValidator.setValidator(typeValidator);\r
-            typeValidator.setMinInclusive(-2147483648);\r
-            typeValidator.setMaxInclusive(2147483647);\r
-        }\r
-        desc.setValidator(fieldValidator);\r
-        //-- _type\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_type", "type", org.exolab.castor.xml.NodeType.Attribute);\r
-        desc.setImmutable(true);\r
-        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
-            public java.lang.Object getValue( java.lang.Object object ) \r
-                throws IllegalStateException\r
-            {\r
-                Feature target = (Feature) object;\r
-                return target.getType();\r
-            }\r
-            public void setValue( java.lang.Object object, java.lang.Object value) \r
-                throws IllegalStateException, IllegalArgumentException\r
-            {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    target.setType( (java.lang.String) value);\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public java.lang.Object newInstance(java.lang.Object parent) {\r
-                return null;\r
-            }\r
-        };\r
-        desc.setHandler(handler);\r
-        desc.setRequired(true);\r
-        desc.setMultivalued(false);\r
-        addFieldDescriptor(desc);\r
-        \r
-        //-- validation code for: _type\r
-        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        fieldValidator.setMinOccurs(1);\r
-        { //-- local scope\r
-            org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-            typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-            fieldValidator.setValidator(typeValidator);\r
-            typeValidator.setWhiteSpace("preserve");\r
-        }\r
-        desc.setValidator(fieldValidator);\r
-        //-- _description\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_description", "description", org.exolab.castor.xml.NodeType.Attribute);\r
-        desc.setImmutable(true);\r
-        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
-            public java.lang.Object getValue( java.lang.Object object ) \r
-                throws IllegalStateException\r
-            {\r
-                Feature target = (Feature) object;\r
-                return target.getDescription();\r
-            }\r
-            public void setValue( java.lang.Object object, java.lang.Object value) \r
-                throws IllegalStateException, IllegalArgumentException\r
-            {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    target.setDescription( (java.lang.String) value);\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public java.lang.Object newInstance(java.lang.Object parent) {\r
-                return null;\r
-            }\r
-        };\r
-        desc.setHandler(handler);\r
-        desc.setMultivalued(false);\r
-        addFieldDescriptor(desc);\r
-        \r
-        //-- validation code for: _description\r
-        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        { //-- local scope\r
-            org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-            typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-            fieldValidator.setValidator(typeValidator);\r
-            typeValidator.setWhiteSpace("preserve");\r
-        }\r
-        desc.setValidator(fieldValidator);\r
-        //-- _status\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_status", "status", org.exolab.castor.xml.NodeType.Attribute);\r
-        desc.setImmutable(true);\r
-        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
-            public java.lang.Object getValue( java.lang.Object object ) \r
-                throws IllegalStateException\r
-            {\r
-                Feature target = (Feature) object;\r
-                return target.getStatus();\r
-            }\r
-            public void setValue( java.lang.Object object, java.lang.Object value) \r
-                throws IllegalStateException, IllegalArgumentException\r
-            {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    target.setStatus( (java.lang.String) value);\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public java.lang.Object newInstance(java.lang.Object parent) {\r
-                return null;\r
-            }\r
-        };\r
-        desc.setHandler(handler);\r
-        desc.setMultivalued(false);\r
-        addFieldDescriptor(desc);\r
-        \r
-        //-- validation code for: _status\r
-        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        { //-- local scope\r
-            org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-            typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-            fieldValidator.setValidator(typeValidator);\r
-            typeValidator.setWhiteSpace("preserve");\r
-        }\r
-        desc.setValidator(fieldValidator);\r
-        //-- _featureGroup\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_featureGroup", "featureGroup", org.exolab.castor.xml.NodeType.Attribute);\r
-        desc.setImmutable(true);\r
-        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
-            public java.lang.Object getValue( java.lang.Object object ) \r
-                throws IllegalStateException\r
-            {\r
-                Feature target = (Feature) object;\r
-                return target.getFeatureGroup();\r
-            }\r
-            public void setValue( java.lang.Object object, java.lang.Object value) \r
-                throws IllegalStateException, IllegalArgumentException\r
-            {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    target.setFeatureGroup( (java.lang.String) value);\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public java.lang.Object newInstance(java.lang.Object parent) {\r
-                return null;\r
-            }\r
-        };\r
-        desc.setHandler(handler);\r
-        desc.setMultivalued(false);\r
-        addFieldDescriptor(desc);\r
-        \r
-        //-- validation code for: _featureGroup\r
-        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        { //-- local scope\r
-            org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-            typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-            fieldValidator.setValidator(typeValidator);\r
-            typeValidator.setWhiteSpace("preserve");\r
-        }\r
-        desc.setValidator(fieldValidator);\r
-        //-- _score\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Float.TYPE, "_score", "score", org.exolab.castor.xml.NodeType.Attribute);\r
-        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
-            public java.lang.Object getValue( java.lang.Object object ) \r
-                throws IllegalStateException\r
-            {\r
-                Feature target = (Feature) object;\r
-                if (!target.hasScore()) { return null; }\r
-                return new java.lang.Float(target.getScore());\r
-            }\r
-            public void setValue( java.lang.Object object, java.lang.Object value) \r
-                throws IllegalStateException, IllegalArgumentException\r
-            {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    // if null, use delete method for optional primitives \r
-                    if (value == null) {\r
-                        target.deleteScore();\r
-                        return;\r
-                    }\r
-                    target.setScore( ((java.lang.Float) value).floatValue());\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public java.lang.Object newInstance(java.lang.Object parent) {\r
-                return null;\r
-            }\r
-        };\r
-        desc.setHandler(handler);\r
-        desc.setMultivalued(false);\r
-        addFieldDescriptor(desc);\r
-        \r
-        //-- validation code for: _score\r
-        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        { //-- local scope\r
-            org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
-            typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
-            fieldValidator.setValidator(typeValidator);\r
-            typeValidator.setMinInclusive((float) -3.4028235E38);\r
-            typeValidator.setMaxInclusive((float) 3.4028235E38);\r
+public class FeatureDescriptor extends\r
+        org.exolab.castor.xml.util.XMLClassDescriptorImpl\r
+{\r
+\r
+  // --------------------------/\r
+  // - Class/Member Variables -/\r
+  // --------------------------/\r
+\r
+  /**\r
+   * Field _elementDefinition.\r
+   */\r
+  private boolean _elementDefinition;\r
+\r
+  /**\r
+   * Field _nsPrefix.\r
+   */\r
+  private java.lang.String _nsPrefix;\r
+\r
+  /**\r
+   * Field _nsURI.\r
+   */\r
+  private java.lang.String _nsURI;\r
+\r
+  /**\r
+   * Field _xmlName.\r
+   */\r
+  private java.lang.String _xmlName;\r
+\r
+  // ----------------/\r
+  // - Constructors -/\r
+  // ----------------/\r
+\r
+  public FeatureDescriptor()\r
+  {\r
+    super();\r
+    _nsURI = "www.jalview.org";\r
+    _xmlName = "feature";\r
+    _elementDefinition = false;\r
+\r
+    // -- set grouping compositor\r
+    setCompositorAsSequence();\r
+    org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
+    org.exolab.castor.mapping.FieldHandler handler = null;\r
+    org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
+    // -- initialize attribute descriptors\r
+\r
+    // -- _begin\r
+    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
+            java.lang.Integer.TYPE, "_begin", "begin",\r
+            org.exolab.castor.xml.NodeType.Attribute);\r
+    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
+    {\r
+      public java.lang.Object getValue(java.lang.Object object)\r
+              throws IllegalStateException\r
+      {\r
+        Feature target = (Feature) object;\r
+        if (!target.hasBegin())\r
+        {\r
+          return null;\r
         }\r
-        desc.setValidator(fieldValidator);\r
-        //-- initialize element descriptors\r
-        \r
-        //-- _otherDataList\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.OtherData.class, "_otherDataList", "otherData", org.exolab.castor.xml.NodeType.Element);\r
-        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
-            public java.lang.Object getValue( java.lang.Object object ) \r
-                throws IllegalStateException\r
-            {\r
-                Feature target = (Feature) object;\r
-                return target.getOtherData();\r
-            }\r
-            public void setValue( java.lang.Object object, java.lang.Object value) \r
-                throws IllegalStateException, IllegalArgumentException\r
-            {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    target.addOtherData( (jalview.schemabinding.version2.OtherData) value);\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {\r
-                try {\r
-                    Feature target = (Feature) object;\r
-                    target.removeAllOtherData();\r
-                } catch (java.lang.Exception ex) {\r
-                    throw new IllegalStateException(ex.toString());\r
-                }\r
-            }\r
-            public java.lang.Object newInstance(java.lang.Object parent) {\r
-                return new jalview.schemabinding.version2.OtherData();\r
-            }\r
-        };\r
-        desc.setHandler(handler);\r
-        desc.setNameSpaceURI("www.jalview.org");\r
-        desc.setMultivalued(true);\r
-        addFieldDescriptor(desc);\r
-        \r
-        //-- validation code for: _otherDataList\r
-        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        fieldValidator.setMinOccurs(0);\r
-        { //-- local scope\r
+        return new java.lang.Integer(target.getBegin());\r
+      }\r
+\r
+      public void setValue(java.lang.Object object, java.lang.Object value)\r
+              throws IllegalStateException, IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          // ignore null values for non optional primitives\r
+          if (value == null)\r
+          {\r
+            return;\r
+          }\r
+\r
+          target.setBegin(((java.lang.Integer) value).intValue());\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
         }\r
-        desc.setValidator(fieldValidator);\r
+      }\r
+\r
+      public java.lang.Object newInstance(java.lang.Object parent)\r
+      {\r
+        return null;\r
+      }\r
+    };\r
+    desc.setHandler(handler);\r
+    desc.setRequired(true);\r
+    desc.setMultivalued(false);\r
+    addFieldDescriptor(desc);\r
+\r
+    // -- validation code for: _begin\r
+    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+    fieldValidator.setMinOccurs(1);\r
+    { // -- local scope\r
+      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
+      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
+      fieldValidator.setValidator(typeValidator);\r
+      typeValidator.setMinInclusive(-2147483648);\r
+      typeValidator.setMaxInclusive(2147483647);\r
     }\r
+    desc.setValidator(fieldValidator);\r
+    // -- _end\r
+    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
+            java.lang.Integer.TYPE, "_end", "end",\r
+            org.exolab.castor.xml.NodeType.Attribute);\r
+    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
+    {\r
+      public java.lang.Object getValue(java.lang.Object object)\r
+              throws IllegalStateException\r
+      {\r
+        Feature target = (Feature) object;\r
+        if (!target.hasEnd())\r
+        {\r
+          return null;\r
+        }\r
+        return new java.lang.Integer(target.getEnd());\r
+      }\r
 \r
+      public void setValue(java.lang.Object object, java.lang.Object value)\r
+              throws IllegalStateException, IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          // ignore null values for non optional primitives\r
+          if (value == null)\r
+          {\r
+            return;\r
+          }\r
 \r
-      //-----------/\r
-     //- Methods -/\r
-    //-----------/\r
+          target.setEnd(((java.lang.Integer) value).intValue());\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
+        }\r
+      }\r
 \r
-    /**\r
-     * Method getAccessMode.\r
-     * \r
-     * @return the access mode specified for this class.\r
-     */\r
-    public org.exolab.castor.mapping.AccessMode getAccessMode(\r
-    ) {\r
+      public java.lang.Object newInstance(java.lang.Object parent)\r
+      {\r
         return null;\r
-    }\r
+      }\r
+    };\r
+    desc.setHandler(handler);\r
+    desc.setRequired(true);\r
+    desc.setMultivalued(false);\r
+    addFieldDescriptor(desc);\r
 \r
-    /**\r
-     * Method getIdentity.\r
-     * \r
-     * @return the identity field, null if this class has no\r
-     * identity.\r
-     */\r
-    public org.exolab.castor.mapping.FieldDescriptor getIdentity(\r
-    ) {\r
-        return _identity;\r
+    // -- validation code for: _end\r
+    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+    fieldValidator.setMinOccurs(1);\r
+    { // -- local scope\r
+      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
+      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
+      fieldValidator.setValidator(typeValidator);\r
+      typeValidator.setMinInclusive(-2147483648);\r
+      typeValidator.setMaxInclusive(2147483647);\r
     }\r
+    desc.setValidator(fieldValidator);\r
+    // -- _type\r
+    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
+            java.lang.String.class, "_type", "type",\r
+            org.exolab.castor.xml.NodeType.Attribute);\r
+    desc.setImmutable(true);\r
+    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
+    {\r
+      public java.lang.Object getValue(java.lang.Object object)\r
+              throws IllegalStateException\r
+      {\r
+        Feature target = (Feature) object;\r
+        return target.getType();\r
+      }\r
+\r
+      public void setValue(java.lang.Object object, java.lang.Object value)\r
+              throws IllegalStateException, IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          target.setType((java.lang.String) value);\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
+        }\r
+      }\r
+\r
+      public java.lang.Object newInstance(java.lang.Object parent)\r
+      {\r
+        return null;\r
+      }\r
+    };\r
+    desc.setHandler(handler);\r
+    desc.setRequired(true);\r
+    desc.setMultivalued(false);\r
+    addFieldDescriptor(desc);\r
 \r
-    /**\r
-     * Method getJavaClass.\r
-     * \r
-     * @return the Java class represented by this descriptor.\r
-     */\r
-    public java.lang.Class getJavaClass(\r
-    ) {\r
-        return jalview.schemabinding.version2.Feature.class;\r
+    // -- validation code for: _type\r
+    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+    fieldValidator.setMinOccurs(1);\r
+    { // -- local scope\r
+      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
+      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
+      fieldValidator.setValidator(typeValidator);\r
+      typeValidator.setWhiteSpace("preserve");\r
     }\r
+    desc.setValidator(fieldValidator);\r
+    // -- _description\r
+    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
+            java.lang.String.class, "_description", "description",\r
+            org.exolab.castor.xml.NodeType.Attribute);\r
+    desc.setImmutable(true);\r
+    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
+    {\r
+      public java.lang.Object getValue(java.lang.Object object)\r
+              throws IllegalStateException\r
+      {\r
+        Feature target = (Feature) object;\r
+        return target.getDescription();\r
+      }\r
 \r
-    /**\r
-     * Method getNameSpacePrefix.\r
-     * \r
-     * @return the namespace prefix to use when marshaling as XML.\r
-     */\r
-    public java.lang.String getNameSpacePrefix(\r
-    ) {\r
-        return _nsPrefix;\r
+      public void setValue(java.lang.Object object, java.lang.Object value)\r
+              throws IllegalStateException, IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          target.setDescription((java.lang.String) value);\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
+        }\r
+      }\r
+\r
+      public java.lang.Object newInstance(java.lang.Object parent)\r
+      {\r
+        return null;\r
+      }\r
+    };\r
+    desc.setHandler(handler);\r
+    desc.setMultivalued(false);\r
+    addFieldDescriptor(desc);\r
+\r
+    // -- validation code for: _description\r
+    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+    { // -- local scope\r
+      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
+      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
+      fieldValidator.setValidator(typeValidator);\r
+      typeValidator.setWhiteSpace("preserve");\r
     }\r
+    desc.setValidator(fieldValidator);\r
+    // -- _status\r
+    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
+            java.lang.String.class, "_status", "status",\r
+            org.exolab.castor.xml.NodeType.Attribute);\r
+    desc.setImmutable(true);\r
+    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
+    {\r
+      public java.lang.Object getValue(java.lang.Object object)\r
+              throws IllegalStateException\r
+      {\r
+        Feature target = (Feature) object;\r
+        return target.getStatus();\r
+      }\r
+\r
+      public void setValue(java.lang.Object object, java.lang.Object value)\r
+              throws IllegalStateException, IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          target.setStatus((java.lang.String) value);\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
+        }\r
+      }\r
+\r
+      public java.lang.Object newInstance(java.lang.Object parent)\r
+      {\r
+        return null;\r
+      }\r
+    };\r
+    desc.setHandler(handler);\r
+    desc.setMultivalued(false);\r
+    addFieldDescriptor(desc);\r
 \r
-    /**\r
-     * Method getNameSpaceURI.\r
-     * \r
-     * @return the namespace URI used when marshaling and\r
-     * unmarshaling as XML.\r
-     */\r
-    public java.lang.String getNameSpaceURI(\r
-    ) {\r
-        return _nsURI;\r
+    // -- validation code for: _status\r
+    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+    { // -- local scope\r
+      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
+      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
+      fieldValidator.setValidator(typeValidator);\r
+      typeValidator.setWhiteSpace("preserve");\r
     }\r
+    desc.setValidator(fieldValidator);\r
+    // -- _featureGroup\r
+    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
+            java.lang.String.class, "_featureGroup", "featureGroup",\r
+            org.exolab.castor.xml.NodeType.Attribute);\r
+    desc.setImmutable(true);\r
+    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
+    {\r
+      public java.lang.Object getValue(java.lang.Object object)\r
+              throws IllegalStateException\r
+      {\r
+        Feature target = (Feature) object;\r
+        return target.getFeatureGroup();\r
+      }\r
 \r
-    /**\r
-     * Method getValidator.\r
-     * \r
-     * @return a specific validator for the class described by this\r
-     * ClassDescriptor.\r
-     */\r
-    public org.exolab.castor.xml.TypeValidator getValidator(\r
-    ) {\r
-        return this;\r
+      public void setValue(java.lang.Object object, java.lang.Object value)\r
+              throws IllegalStateException, IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          target.setFeatureGroup((java.lang.String) value);\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
+        }\r
+      }\r
+\r
+      public java.lang.Object newInstance(java.lang.Object parent)\r
+      {\r
+        return null;\r
+      }\r
+    };\r
+    desc.setHandler(handler);\r
+    desc.setMultivalued(false);\r
+    addFieldDescriptor(desc);\r
+\r
+    // -- validation code for: _featureGroup\r
+    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+    { // -- local scope\r
+      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
+      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
+      fieldValidator.setValidator(typeValidator);\r
+      typeValidator.setWhiteSpace("preserve");\r
     }\r
+    desc.setValidator(fieldValidator);\r
+    // -- _score\r
+    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
+            java.lang.Float.TYPE, "_score", "score",\r
+            org.exolab.castor.xml.NodeType.Attribute);\r
+    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
+    {\r
+      public java.lang.Object getValue(java.lang.Object object)\r
+              throws IllegalStateException\r
+      {\r
+        Feature target = (Feature) object;\r
+        if (!target.hasScore())\r
+        {\r
+          return null;\r
+        }\r
+        return new java.lang.Float(target.getScore());\r
+      }\r
+\r
+      public void setValue(java.lang.Object object, java.lang.Object value)\r
+              throws IllegalStateException, IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          // if null, use delete method for optional primitives\r
+          if (value == null)\r
+          {\r
+            target.deleteScore();\r
+            return;\r
+          }\r
+          target.setScore(((java.lang.Float) value).floatValue());\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
+        }\r
+      }\r
+\r
+      public java.lang.Object newInstance(java.lang.Object parent)\r
+      {\r
+        return null;\r
+      }\r
+    };\r
+    desc.setHandler(handler);\r
+    desc.setMultivalued(false);\r
+    addFieldDescriptor(desc);\r
 \r
-    /**\r
-     * Method getXMLName.\r
-     * \r
-     * @return the XML Name for the Class being described.\r
-     */\r
-    public java.lang.String getXMLName(\r
-    ) {\r
-        return _xmlName;\r
+    // -- validation code for: _score\r
+    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+    { // -- local scope\r
+      org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
+      typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
+      fieldValidator.setValidator(typeValidator);\r
+      typeValidator.setMinInclusive((float) -3.4028235E38);\r
+      typeValidator.setMaxInclusive((float) 3.4028235E38);\r
     }\r
+    desc.setValidator(fieldValidator);\r
+    // -- initialize element descriptors\r
+\r
+    // -- _otherDataList\r
+    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
+            jalview.schemabinding.version2.OtherData.class,\r
+            "_otherDataList", "otherData",\r
+            org.exolab.castor.xml.NodeType.Element);\r
+    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
+    {\r
+      public java.lang.Object getValue(java.lang.Object object)\r
+              throws IllegalStateException\r
+      {\r
+        Feature target = (Feature) object;\r
+        return target.getOtherData();\r
+      }\r
+\r
+      public void setValue(java.lang.Object object, java.lang.Object value)\r
+              throws IllegalStateException, IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          target\r
+                  .addOtherData((jalview.schemabinding.version2.OtherData) value);\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
+        }\r
+      }\r
 \r
-    /**\r
-     * Method isElementDefinition.\r
-     * \r
-     * @return true if XML schema definition of this Class is that\r
-     * of a global\r
-     * element or element with anonymous type definition.\r
-     */\r
-    public boolean isElementDefinition(\r
-    ) {\r
-        return _elementDefinition;\r
+      public void resetValue(Object object) throws IllegalStateException,\r
+              IllegalArgumentException\r
+      {\r
+        try\r
+        {\r
+          Feature target = (Feature) object;\r
+          target.removeAllOtherData();\r
+        } catch (java.lang.Exception ex)\r
+        {\r
+          throw new IllegalStateException(ex.toString());\r
+        }\r
+      }\r
+\r
+      public java.lang.Object newInstance(java.lang.Object parent)\r
+      {\r
+        return new jalview.schemabinding.version2.OtherData();\r
+      }\r
+    };\r
+    desc.setHandler(handler);\r
+    desc.setNameSpaceURI("www.jalview.org");\r
+    desc.setMultivalued(true);\r
+    addFieldDescriptor(desc);\r
+\r
+    // -- validation code for: _otherDataList\r
+    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+    fieldValidator.setMinOccurs(0);\r
+    { // -- local scope\r
     }\r
+    desc.setValidator(fieldValidator);\r
+  }\r
+\r
+  // -----------/\r
+  // - Methods -/\r
+  // -----------/\r
+\r
+  /**\r
+   * Method getAccessMode.\r
+   * \r
+   * @return the access mode specified for this class.\r
+   */\r
+  public org.exolab.castor.mapping.AccessMode getAccessMode()\r
+  {\r
+    return null;\r
+  }\r
+\r
+  /**\r
+   * Method getIdentity.\r
+   * \r
+   * @return the identity field, null if this class has no identity.\r
+   */\r
+  public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
+  {\r
+    return super.getIdentity();\r
+  }\r
+\r
+  /**\r
+   * Method getJavaClass.\r
+   * \r
+   * @return the Java class represented by this descriptor.\r
+   */\r
+  public java.lang.Class getJavaClass()\r
+  {\r
+    return jalview.schemabinding.version2.Feature.class;\r
+  }\r
+\r
+  /**\r
+   * Method getNameSpacePrefix.\r
+   * \r
+   * @return the namespace prefix to use when marshaling as XML.\r
+   */\r
+  public java.lang.String getNameSpacePrefix()\r
+  {\r
+    return _nsPrefix;\r
+  }\r
+\r
+  /**\r
+   * Method getNameSpaceURI.\r
+   * \r
+   * @return the namespace URI used when marshaling and unmarshaling as XML.\r
+   */\r
+  public java.lang.String getNameSpaceURI()\r
+  {\r
+    return _nsURI;\r
+  }\r
+\r
+  /**\r
+   * Method getValidator.\r
+   * \r
+   * @return a specific validator for the class described by this\r
+   *         ClassDescriptor.\r
+   */\r
+  public org.exolab.castor.xml.TypeValidator getValidator()\r
+  {\r
+    return this;\r
+  }\r
+\r
+  /**\r
+   * Method getXMLName.\r
+   * \r
+   * @return the XML Name for the Class being described.\r
+   */\r
+  public java.lang.String getXMLName()\r
+  {\r
+    return _xmlName;\r
+  }\r
+\r
+  /**\r
+   * Method isElementDefinition.\r
+   * \r
+   * @return true if XML schema definition of this Class is that of a global\r
+   *         element or element with anonymous type definition.\r
+   */\r
+  public boolean isElementDefinition()\r
+  {\r
+    return _elementDefinition;\r
+  }\r
 \r
 }\r