Save annotation colours, hideConsevation etc, graphGroups
[jalview.git] / src / jalview / schemabinding / version2 / AnnotationElementDescriptor.java
index 4034755..0eab95b 100755 (executable)
@@ -106,6 +106,47 @@ public class AnnotationElementDescriptor extends org.exolab.castor.xml.util.XMLC
             fieldValidator.setValidator(typeValidator);\r
         }\r
         desc.setValidator(fieldValidator);\r
+        //-- _colour\r
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_colour", "colour", 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
+                AnnotationElement target = (AnnotationElement) object;\r
+                if(!target.hasColour())\r
+                    return null;\r
+                return new java.lang.Integer(target.getColour());\r
+            }\r
+            public void setValue( java.lang.Object object, java.lang.Object value) \r
+                throws IllegalStateException, IllegalArgumentException\r
+            {\r
+                try {\r
+                    AnnotationElement target = (AnnotationElement) object;\r
+                    // if null, use delete method for optional primitives \r
+                    if (value == null) {\r
+                        target.deleteColour();\r
+                        return;\r
+                    }\r
+                    target.setColour( ((java.lang.Integer)value).intValue());\r
+                }\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
+        addFieldDescriptor(desc);\r
+        \r
+        //-- validation code for: _colour\r
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+        { //-- local scope\r
+            IntegerValidator typeValidator= new IntegerValidator();\r
+            fieldValidator.setValidator(typeValidator);\r
+        }\r
+        desc.setValidator(fieldValidator);\r
         //-- initialize element descriptors\r
         \r
         //-- _displayCharacter\r
@@ -135,13 +176,11 @@ public class AnnotationElementDescriptor extends org.exolab.castor.xml.util.XMLC
         } );\r
         desc.setHandler(handler);\r
         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
-        desc.setRequired(true);\r
         desc.setMultivalued(false);\r
         addFieldDescriptor(desc);\r
         \r
         //-- validation code for: _displayCharacter\r
         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        fieldValidator.setMinOccurs(1);\r
         { //-- local scope\r
             StringValidator typeValidator = new StringValidator();\r
             typeValidator.setWhiteSpace("preserve");\r
@@ -175,13 +214,11 @@ public class AnnotationElementDescriptor extends org.exolab.castor.xml.util.XMLC
         } );\r
         desc.setHandler(handler);\r
         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
-        desc.setRequired(true);\r
         desc.setMultivalued(false);\r
         addFieldDescriptor(desc);\r
         \r
         //-- validation code for: _description\r
         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        fieldValidator.setMinOccurs(1);\r
         { //-- local scope\r
             StringValidator typeValidator = new StringValidator();\r
             typeValidator.setWhiteSpace("preserve");\r
@@ -215,13 +252,11 @@ public class AnnotationElementDescriptor extends org.exolab.castor.xml.util.XMLC
         } );\r
         desc.setHandler(handler);\r
         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
-        desc.setRequired(true);\r
         desc.setMultivalued(false);\r
         addFieldDescriptor(desc);\r
         \r
         //-- validation code for: _secondaryStructure\r
         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        fieldValidator.setMinOccurs(1);\r
         { //-- local scope\r
             StringValidator typeValidator = new StringValidator();\r
             typeValidator.setLength(1);\r
@@ -245,9 +280,11 @@ public class AnnotationElementDescriptor extends org.exolab.castor.xml.util.XMLC
             {\r
                 try {\r
                     AnnotationElement target = (AnnotationElement) object;\r
-                    // ignore null values for non optional primitives\r
-                    if (value == null) return;\r
-                    \r
+                    // if null, use delete method for optional primitives \r
+                    if (value == null) {\r
+                        target.deleteValue();\r
+                        return;\r
+                    }\r
                     target.setValue( ((java.lang.Float)value).floatValue());\r
                 }\r
                 catch (java.lang.Exception ex) {\r
@@ -260,13 +297,11 @@ public class AnnotationElementDescriptor extends org.exolab.castor.xml.util.XMLC
         } );\r
         desc.setHandler(handler);\r
         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
-        desc.setRequired(true);\r
         desc.setMultivalued(false);\r
         addFieldDescriptor(desc);\r
         \r
         //-- validation code for: _value\r
         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-        fieldValidator.setMinOccurs(1);\r
         { //-- local scope\r
             FloatValidator typeValidator = new FloatValidator();\r
             fieldValidator.setValidator(typeValidator);\r