added feature type order preference attribute and visible feature group state element
authorjprocter <Jim Procter>
Mon, 2 Apr 2007 13:05:09 +0000 (13:05 +0000)
committerjprocter <Jim Procter>
Mon, 2 Apr 2007 13:05:09 +0000 (13:05 +0000)
schemas/jalview.properties [new file with mode: 0644]
schemas/jalview.xsd
src/jalview/schemabinding/version2/FeatureSettings.java
src/jalview/schemabinding/version2/FeatureSettingsDescriptor.java
src/jalview/schemabinding/version2/Group.java [new file with mode: 0644]
src/jalview/schemabinding/version2/GroupDescriptor.java [new file with mode: 0644]
src/jalview/schemabinding/version2/Setting.java
src/jalview/schemabinding/version2/SettingDescriptor.java

diff --git a/schemas/jalview.properties b/schemas/jalview.properties
new file mode 100644 (file)
index 0000000..6508fcc
--- /dev/null
@@ -0,0 +1,63 @@
+#\r
+# Property file for SourceCodeGenerator\r
+#\r
+# $Id$\r
+\r
+# To enable bound properties uncomment the following line. Please\r
+# note that currently *all* fields will be treated as bound properties\r
+# when enabled. This will change in the future when we introduce\r
+# fine grained control over each class and it's properties.\r
+#\r
+#org.exolab.castor.builder.boundproperties=true\r
+\r
+# Java class mapping of <xsd:element>'s and <xsd:complexType>'s \r
+#\r
+#org.exolab.castor.builder.javaclassmapping=element\r
+\r
+# This property allows one to specify the super class of *all* \r
+# generated classes\r
+#\r
+#org.exolab.castor.builder.superclass=com.xyz.BaseObject\r
+\r
+# XML namespace mapping to Java packages\r
+#\r
+#org.exolab.castor.builder.nspackages=\\r
+  http://www.xyz.com/schemas/project=com.xyz.schemas.project,\\r
+  http://www.xyz.com/schemas/person=com.xyz.schemas.person\r
+\r
+# Set to true if you want to generate the equals method\r
+# for each generated class\r
+# false by default\r
+#\r
+#org.exolab.castor.builder.equalsmethod=true\r
+\r
+# Set to true if you want to use Object Wrappers instead\r
+# of primitives (e.g Float instead of float).\r
+# false by default.\r
+#\r
+#org.exolab.castor.builder.primitivetowrapper=false\r
+\r
+# Set to true if you want the generated class descriptors to\r
+# expose the element and attribute names they contain.\r
+# false by default.\r
+#\r
+#org.exolab.castor.builder.classdescfieldnames=false\r
+\r
+# Set to true if you want the generated source code to contain\r
+# Extra methods for the collection fields, such as get/set using\r
+# the collection type in addition to the type-safe array.\r
+# Set this to true if you want your code to be more compatible \r
+# with Castor JDO. This is false by default.\r
+#\r
+#org.exolab.castor.builder.extraCollectionMethods=true\r
+\r
+# Use old-style (Castor 0.9.3.9) of naming that uppercases\r
+# names after an underscore\r
+#\r
+#org.exolab.castor.xml.JavaNaming.upperCaseAfterUnderscore=true\r
+\r
+# This property specifies whether generated enumerated type\r
+# classes implement the EnumeratedTypeAccess interface.\r
+# false by default\r
+#org.exolab.castor.builder.enumTypeAccessInterface=true\r
+\r
index 055710e..72a3273 100755 (executable)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" xmlns:jalview="www.jalview.org/colours" xmlns:jv="www.jalview.org" targetNamespace="www.jalview.org" elementFormDefault="qualified" attributeFormDefault="unqualified">\r
-               <xs:import namespace="www.vamsas.ac.uk/jalview/version2" schemaLocation="vamsas.xsd"/>\r
-       <xs:import namespace="www.jalview.org/colours" schemaLocation="JalviewUserColours.xsd"/>\r
-       <xs:complexType name="JalviewModel">\r
-               <xs:sequence>\r
-                       <xs:element name="creationDate" type="xs:dateTime"/>\r
-                       <xs:element name="version" type="xs:string"/>\r
-                       <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>\r
-                       <xs:sequence>\r
-                               <xs:element name="JSeq" maxOccurs="unbounded">\r
-                                       <xs:complexType>\r
-                                               <xs:sequence>\r
-                                                       <xs:element name="features" type="jv:feature" minOccurs="0" maxOccurs="unbounded"/>\r
-                                                       <xs:element name="pdbids" minOccurs="0" maxOccurs="unbounded">\r
-                                                               <xs:complexType>\r
-                                                                       <xs:complexContent>\r
-                                                                               <xs:extension base="jv:pdbentry">\r
-                                                                                       <xs:sequence>\r
-                                                                                               <xs:element name="structureState" minOccurs="0" maxOccurs="unbounded">\r
-                                                                                                       <xs:complexType>\r
-                                                                                                               <xs:simpleContent>\r
-                                                                                                                       <xs:extension base="xs:string">\r
-                                                                                                                               <xs:attribute name="visible" type="xs:boolean"/>\r
-                                                                                                                               <xs:attribute name="xpos" type="xs:int"/>\r
-                                                                                                                               <xs:attribute name="ypos" type="xs:int"/>\r
-                                                                                                                               <xs:attribute name="width" type="xs:int"/>\r
-                                                                                                                               <xs:attribute name="height" type="xs:int"/>\r
-                                                                                                                       </xs:extension>\r
-                                                                                                               </xs:simpleContent>\r
-                                                                                                       </xs:complexType>\r
-                                                                                               </xs:element>\r
-                                                                                       </xs:sequence>\r
-                                                                               </xs:extension>\r
-                                                                       </xs:complexContent>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
-                                                       <xs:element name="hiddenSequences" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>\r
-                                               </xs:sequence>\r
-                                               <xs:attribute name="colour" type="xs:int" use="optional"/>\r
-                                               <xs:attribute name="start" type="xs:int" use="required"/>\r
-                                               <xs:attribute name="end" type="xs:int" use="required"/>\r
-                                               <xs:attribute name="id" type="xs:int" use="required"/>\r
-                                               <xs:attribute name="hidden" type="xs:boolean"/>\r
-                                       </xs:complexType>\r
-                               </xs:element>\r
-                               <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">\r
-                                       <xs:complexType>\r
-                                               <xs:sequence>\r
-                                                       <xs:element name="seq" type="xs:int" maxOccurs="unbounded"/>\r
-                                               </xs:sequence>\r
-                                               <xs:attribute name="start" type="xs:int"/>\r
-                                               <xs:attribute name="end" type="xs:int"/>\r
-                                               <xs:attribute name="name" type="xs:string"/>\r
-                                               <xs:attribute name="colour" type="xs:string"/>\r
-                                               <xs:attribute name="consThreshold" type="xs:int"/>\r
-                                               <xs:attribute name="pidThreshold" type="xs:int"/>\r
-                                               <xs:attribute name="outlineColour" type="xs:int"/>\r
-                                               <xs:attribute name="displayBoxes" type="xs:boolean"/>\r
-                                               <xs:attribute name="displayText" type="xs:boolean"/>\r
-                                               <xs:attribute name="colourText" type="xs:boolean"/>\r
-                                               <xs:attribute name="textCol1" type="xs:int"/>\r
-                                               <xs:attribute name="textCol2" type="xs:int"/>\r
-                                               <xs:attribute name="textColThreshold" type="xs:int"/>\r
-                                       </xs:complexType>\r
-                               </xs:element>\r
-                               <xs:element name="Viewport" maxOccurs="unbounded">\r
-                                       <xs:complexType>\r
-                                               <xs:sequence>\r
-                                                       <xs:element name="AnnotationColours" minOccurs="0">\r
-                                                               <xs:complexType>\r
-                                                                       <xs:attribute name="aboveThreshold" type="xs:int"/>\r
-                                                                       <xs:attribute name="annotation" type="xs:string"/>\r
-                                                                       <xs:attribute name="minColour" type="xs:int"/>\r
-                                                                       <xs:attribute name="maxColour" type="xs:int"/>\r
-                                                                       <xs:attribute name="colourScheme" type="xs:string"/>\r
-                                                                       <xs:attribute name="threshold" type="xs:float"/>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
-                                                       <xs:element name="hiddenColumns" minOccurs="0" maxOccurs="unbounded">\r
-                                                               <xs:complexType>\r
-                                                                       <xs:attribute name="start" type="xs:int"/>\r
-                                                                       <xs:attribute name="end" type="xs:int"/>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
-                                               </xs:sequence>\r
-                                               <xs:attribute name="conservationSelected" type="xs:boolean"/>\r
-                                               <xs:attribute name="pidSelected" type="xs:boolean"/>\r
-                                               <xs:attribute name="bgColour" type="xs:string"/>\r
-                                               <xs:attribute name="consThreshold" type="xs:int"/>\r
-                                               <xs:attribute name="pidThreshold" type="xs:int"/>\r
-                                               <xs:attribute name="title" type="xs:string"/>\r
-                                               <xs:attribute name="showFullId" type="xs:boolean"/>\r
-                                               <xs:attribute name="rightAlignIds" type="xs:boolean"/>\r
-                                               <xs:attribute name="showText" type="xs:boolean"/>\r
-                                               <xs:attribute name="showColourText" type="xs:boolean"/>\r
-                                               <xs:attribute name="showBoxes" type="xs:boolean"/>\r
-                                               <xs:attribute name="wrapAlignment" type="xs:boolean"/>\r
-                                               <xs:attribute name="renderGaps" type="xs:boolean"/>\r
-                                               <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>\r
-                                               <xs:attribute name="showAnnotation" type="xs:boolean"/>\r
-                                               <xs:attribute name="xpos" type="xs:int"/>\r
-                                               <xs:attribute name="ypos" type="xs:int"/>\r
-                                               <xs:attribute name="width" type="xs:int"/>\r
-                                               <xs:attribute name="height" type="xs:int"/>\r
-                                               <xs:attribute name="startRes" type="xs:int"/>\r
-                                               <xs:attribute name="startSeq" type="xs:int"/>\r
-                                               <xs:attribute name="fontName" type="xs:string"/>\r
-                                               <xs:attribute name="fontSize" type="xs:int"/>\r
-                                               <xs:attribute name="fontStyle" type="xs:int"/>\r
-                                               <xs:attribute name="viewName" type="xs:string"/>\r
-                                               <xs:attribute name="sequenceSetId" type="xs:string"/>\r
-                                               <xs:attribute name="gatheredViews" type="xs:boolean"/>\r
-                                               <xs:attribute name="textCol1" type="xs:int"/>\r
-                                               <xs:attribute name="textCol2" type="xs:int"/>\r
-                                               <xs:attribute name="textColThreshold" type="xs:int"/>\r
-                                       </xs:complexType>\r
-                               </xs:element>\r
-                               <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">\r
-                                       <xs:complexType>\r
-                                               <xs:sequence>\r
-                                                       <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>\r
-                                               </xs:sequence>\r
-                                               <xs:attribute name="id" type="xs:string"/>\r
-                                       </xs:complexType>\r
-                               </xs:element>\r
-                               <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">\r
-                                       <xs:complexType>\r
-                                               <xs:sequence minOccurs="0">\r
-                                                       <xs:element name="title" type="xs:string"/>\r
-                                                       <xs:element name="newick" type="xs:string"/>\r
-                                               </xs:sequence>\r
-                                               <xs:attribute name="width" type="xs:int"/>\r
-                                               <xs:attribute name="height" type="xs:int"/>\r
-                                               <xs:attribute name="xpos" type="xs:int"/>\r
-                                               <xs:attribute name="ypos" type="xs:int"/>\r
-                                               <xs:attribute name="fontName" type="xs:string"/>\r
-                                               <xs:attribute name="fontSize" type="xs:int"/>\r
-                                               <xs:attribute name="fontStyle" type="xs:int"/>\r
-                                               <xs:attribute name="threshold" type="xs:float"/>\r
-                                               <xs:attribute name="showBootstrap" type="xs:boolean"/>\r
-                                               <xs:attribute name="showDistances" type="xs:boolean"/>\r
-                                               <xs:attribute name="markUnlinked" type="xs:boolean"/>\r
-                                               <xs:attribute name="fitToWindow" type="xs:boolean"/>\r
-                                               <xs:attribute name="currentTree" type="xs:boolean"/>\r
-                                       </xs:complexType>\r
-                               </xs:element>\r
-                               <xs:element name="FeatureSettings" minOccurs="0">\r
-                                       <xs:complexType>\r
-                                               <xs:sequence>\r
-                                                       <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">\r
-                                                               <xs:complexType>\r
-                                                                       <xs:attribute name="type" type="xs:string" use="required"/>\r
-                                                                       <xs:attribute name="colour" type="xs:int" use="required"/>\r
-                                                                       <xs:attribute name="display" type="xs:boolean" use="required"/>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
-                                               </xs:sequence>\r
-                                       </xs:complexType>\r
-                               </xs:element>\r
-                       </xs:sequence>\r
-               </xs:sequence>\r
-       </xs:complexType>\r
-       <xs:complexType name="feature">\r
-               <xs:sequence>\r
-                       <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">\r
-                               <xs:complexType>\r
-                                       <xs:attribute name="key" type="xs:string" use="required"/>\r
-                                       <xs:attribute name="value" type="xs:string" use="required"/>\r
-                               </xs:complexType>\r
-                       </xs:element>\r
-               </xs:sequence>\r
-               <xs:attribute name="begin" type="xs:int" use="required"/>\r
-               <xs:attribute name="end" type="xs:int" use="required"/>\r
-               <xs:attribute name="type" type="xs:string" use="required"/>\r
-               <xs:attribute name="description" type="xs:string" use="optional"/>\r
-               <xs:attribute name="status" type="xs:string" use="optional"/>\r
-               <xs:attribute name="featureGroup" type="xs:string" use="optional"/>\r
-               <xs:attribute name="score" type="xs:float" use="optional"/>\r
-       </xs:complexType>\r
-       <xs:complexType name="pdbentry">\r
-               <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
-                       <xs:element name="property" minOccurs="0" maxOccurs="unbounded">\r
-                               <xs:complexType>\r
-                                       <xs:attribute name="name" type="xs:string" use="required"/>\r
-                                       <xs:attribute name="value" type="xs:string" use="required"/>\r
-                               </xs:complexType>\r
-                       </xs:element>\r
-               </xs:sequence>\r
-               <xs:attribute name="id" type="xs:string" use="required"/>\r
-               <xs:attribute name="type" type="xs:string" use="optional"/>\r
-               <xs:attribute name="file" type="xs:string"/>\r
-       </xs:complexType>\r
-</xs:schema>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" xmlns:jalview="www.jalview.org/colours" xmlns:jv="www.jalview.org" targetNamespace="www.jalview.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
+               <xs:import namespace="www.vamsas.ac.uk/jalview/version2" schemaLocation="vamsas.xsd"/>
+       <xs:import namespace="www.jalview.org/colours" schemaLocation="JalviewUserColours.xsd"/>
+       <xs:complexType name="JalviewModel">
+               <xs:sequence>
+                       <xs:element name="creationDate" type="xs:dateTime"/>
+                       <xs:element name="version" type="xs:string"/>
+                       <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>
+                       <xs:sequence>
+                               <xs:element name="JSeq" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="features" type="jv:feature" minOccurs="0" maxOccurs="unbounded"/>
+                                                       <xs:element name="pdbids" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:complexContent>
+                                                                               <xs:extension base="jv:pdbentry">
+                                                                                       <xs:sequence>
+                                                                                               <xs:element name="structureState" minOccurs="0" maxOccurs="unbounded">
+                                                                                                       <xs:complexType>
+                                                                                                               <xs:simpleContent>
+                                                                                                                       <xs:extension base="xs:string">
+                                                                                                                               <xs:attribute name="visible" type="xs:boolean"/>
+                                                                                                                               <xs:attribute name="xpos" type="xs:int"/>
+                                                                                                                               <xs:attribute name="ypos" type="xs:int"/>
+                                                                                                                               <xs:attribute name="width" type="xs:int"/>
+                                                                                                                               <xs:attribute name="height" type="xs:int"/>
+                                                                                                                       </xs:extension>
+                                                                                                               </xs:simpleContent>
+                                                                                                       </xs:complexType>
+                                                                                               </xs:element>
+                                                                                       </xs:sequence>
+                                                                               </xs:extension>
+                                                                       </xs:complexContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="hiddenSequences" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
+                                               </xs:sequence>
+                                               <xs:attribute name="colour" type="xs:int" use="optional"/>
+                                               <xs:attribute name="start" type="xs:int" use="required"/>
+                                               <xs:attribute name="end" type="xs:int" use="required"/>
+                                               <xs:attribute name="id" type="xs:int" use="required"/>
+                                               <xs:attribute name="hidden" type="xs:boolean"/>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="seq" type="xs:int" maxOccurs="unbounded"/>
+                                               </xs:sequence>
+                                               <xs:attribute name="start" type="xs:int"/>
+                                               <xs:attribute name="end" type="xs:int"/>
+                                               <xs:attribute name="name" type="xs:string"/>
+                                               <xs:attribute name="colour" type="xs:string"/>
+                                               <xs:attribute name="consThreshold" type="xs:int"/>
+                                               <xs:attribute name="pidThreshold" type="xs:int"/>
+                                               <xs:attribute name="outlineColour" type="xs:int"/>
+                                               <xs:attribute name="displayBoxes" type="xs:boolean"/>
+                                               <xs:attribute name="displayText" type="xs:boolean"/>
+                                               <xs:attribute name="colourText" type="xs:boolean"/>
+                                               <xs:attribute name="textCol1" type="xs:int"/>
+                                               <xs:attribute name="textCol2" type="xs:int"/>
+                                               <xs:attribute name="textColThreshold" type="xs:int"/>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="Viewport" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="AnnotationColours" minOccurs="0">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="aboveThreshold" type="xs:int"/>
+                                                                       <xs:attribute name="annotation" type="xs:string"/>
+                                                                       <xs:attribute name="minColour" type="xs:int"/>
+                                                                       <xs:attribute name="maxColour" type="xs:int"/>
+                                                                       <xs:attribute name="colourScheme" type="xs:string"/>
+                                                                       <xs:attribute name="threshold" type="xs:float"/>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="hiddenColumns" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="start" type="xs:int"/>
+                                                                       <xs:attribute name="end" type="xs:int"/>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                               <xs:attribute name="conservationSelected" type="xs:boolean"/>
+                                               <xs:attribute name="pidSelected" type="xs:boolean"/>
+                                               <xs:attribute name="bgColour" type="xs:string"/>
+                                               <xs:attribute name="consThreshold" type="xs:int"/>
+                                               <xs:attribute name="pidThreshold" type="xs:int"/>
+                                               <xs:attribute name="title" type="xs:string"/>
+                                               <xs:attribute name="showFullId" type="xs:boolean"/>
+                                               <xs:attribute name="rightAlignIds" type="xs:boolean"/>
+                                               <xs:attribute name="showText" type="xs:boolean"/>
+                                               <xs:attribute name="showColourText" type="xs:boolean"/>
+                                               <xs:attribute name="showBoxes" type="xs:boolean"/>
+                                               <xs:attribute name="wrapAlignment" type="xs:boolean"/>
+                                               <xs:attribute name="renderGaps" type="xs:boolean"/>
+                                               <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>
+                                               <xs:attribute name="showAnnotation" type="xs:boolean"/>
+                                               <xs:attribute name="xpos" type="xs:int"/>
+                                               <xs:attribute name="ypos" type="xs:int"/>
+                                               <xs:attribute name="width" type="xs:int"/>
+                                               <xs:attribute name="height" type="xs:int"/>
+                                               <xs:attribute name="startRes" type="xs:int"/>
+                                               <xs:attribute name="startSeq" type="xs:int"/>
+                                               <xs:attribute name="fontName" type="xs:string"/>
+                                               <xs:attribute name="fontSize" type="xs:int"/>
+                                               <xs:attribute name="fontStyle" type="xs:int"/>
+                                               <xs:attribute name="viewName" type="xs:string"/>
+                                               <xs:attribute name="sequenceSetId" type="xs:string"/>
+                                               <xs:attribute name="gatheredViews" type="xs:boolean"/>
+                                               <xs:attribute name="textCol1" type="xs:int"/>
+                                               <xs:attribute name="textCol2" type="xs:int"/>
+                                               <xs:attribute name="textColThreshold" type="xs:int"/>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>
+                                               </xs:sequence>
+                                               <xs:attribute name="id" type="xs:string"/>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence minOccurs="0">
+                                                       <xs:element name="title" type="xs:string"/>
+                                                       <xs:element name="newick" type="xs:string"/>
+                                               </xs:sequence>
+                                               <xs:attribute name="width" type="xs:int"/>
+                                               <xs:attribute name="height" type="xs:int"/>
+                                               <xs:attribute name="xpos" type="xs:int"/>
+                                               <xs:attribute name="ypos" type="xs:int"/>
+                                               <xs:attribute name="fontName" type="xs:string"/>
+                                               <xs:attribute name="fontSize" type="xs:int"/>
+                                               <xs:attribute name="fontStyle" type="xs:int"/>
+                                               <xs:attribute name="threshold" type="xs:float"/>
+                                               <xs:attribute name="showBootstrap" type="xs:boolean"/>
+                                               <xs:attribute name="showDistances" type="xs:boolean"/>
+                                               <xs:attribute name="markUnlinked" type="xs:boolean"/>
+                                               <xs:attribute name="fitToWindow" type="xs:boolean"/>
+                                               <xs:attribute name="currentTree" type="xs:boolean"/>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="FeatureSettings" minOccurs="0">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="type" type="xs:string" use="required"/>
+                                                                       <xs:attribute name="colour" type="xs:int" use="required"/>
+                                                                       <xs:attribute name="display" type="xs:boolean" use="required"/>
+                                                                       <xs:attribute name="order" type="xs:float" use="optional"/>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="name" type="xs:string" use="required"/>
+                                                                       <xs:attribute name="display" type="xs:boolean" use="required"/>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                       </xs:sequence>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="feature">
+               <xs:sequence>
+                       <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">
+                               <xs:complexType>
+                                       <xs:attribute name="key" type="xs:string" use="required"/>
+                                       <xs:attribute name="value" type="xs:string" use="required"/>
+                               </xs:complexType>
+                       </xs:element>
+               </xs:sequence>
+               <xs:attribute name="begin" type="xs:int" use="required"/>
+               <xs:attribute name="end" type="xs:int" use="required"/>
+               <xs:attribute name="type" type="xs:string" use="required"/>
+               <xs:attribute name="description" type="xs:string" use="optional"/>
+               <xs:attribute name="status" type="xs:string" use="optional"/>
+               <xs:attribute name="featureGroup" type="xs:string" use="optional"/>
+               <xs:attribute name="score" type="xs:float" use="optional"/>
+       </xs:complexType>
+       <xs:complexType name="pdbentry">
+               <xs:sequence minOccurs="0" maxOccurs="unbounded">
+                       <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
+                               <xs:complexType>
+                                       <xs:attribute name="name" type="xs:string" use="required"/>
+                                       <xs:attribute name="value" type="xs:string" use="required"/>
+                               </xs:complexType>
+                       </xs:element>
+               </xs:sequence>
+               <xs:attribute name="id" type="xs:string" use="required"/>
+               <xs:attribute name="type" type="xs:string" use="optional"/>
+               <xs:attribute name="file" type="xs:string"/>
+       </xs:complexType>
+</xs:schema>
index c20a83c..6f64136 100755 (executable)
@@ -40,6 +40,11 @@ public class FeatureSettings implements java.io.Serializable {
      */\r
     private java.util.Vector _settingList;\r
 \r
+    /**\r
+     * Field _groupList\r
+     */\r
+    private java.util.Vector _groupList;\r
+\r
 \r
       //----------------/\r
      //- Constructors -/\r
@@ -48,6 +53,7 @@ public class FeatureSettings implements java.io.Serializable {
     public FeatureSettings() {\r
         super();\r
         _settingList = new Vector();\r
+        _groupList = new Vector();\r
     } //-- jalview.schemabinding.version2.FeatureSettings()\r
 \r
 \r
@@ -56,6 +62,33 @@ public class FeatureSettings implements java.io.Serializable {
     //-----------/\r
 \r
     /**\r
+     * Method addGroup\r
+     * \r
+     * \r
+     * \r
+     * @param vGroup\r
+     */\r
+    public void addGroup(jalview.schemabinding.version2.Group vGroup)\r
+        throws java.lang.IndexOutOfBoundsException\r
+    {\r
+        _groupList.addElement(vGroup);\r
+    } //-- void addGroup(jalview.schemabinding.version2.Group) \r
+\r
+    /**\r
+     * Method addGroup\r
+     * \r
+     * \r
+     * \r
+     * @param index\r
+     * @param vGroup\r
+     */\r
+    public void addGroup(int index, jalview.schemabinding.version2.Group vGroup)\r
+        throws java.lang.IndexOutOfBoundsException\r
+    {\r
+        _groupList.insertElementAt(vGroup, index);\r
+    } //-- void addGroup(int, jalview.schemabinding.version2.Group) \r
+\r
+    /**\r
      * Method addSetting\r
      * \r
      * \r
@@ -83,6 +116,18 @@ public class FeatureSettings implements java.io.Serializable {
     } //-- void addSetting(int, jalview.schemabinding.version2.Setting) \r
 \r
     /**\r
+     * Method enumerateGroup\r
+     * \r
+     * \r
+     * \r
+     * @return Enumeration\r
+     */\r
+    public java.util.Enumeration enumerateGroup()\r
+    {\r
+        return _groupList.elements();\r
+    } //-- java.util.Enumeration enumerateGroup() \r
+\r
+    /**\r
      * Method enumerateSetting\r
      * \r
      * \r
@@ -95,6 +140,54 @@ public class FeatureSettings implements java.io.Serializable {
     } //-- java.util.Enumeration enumerateSetting() \r
 \r
     /**\r
+     * Method getGroup\r
+     * \r
+     * \r
+     * \r
+     * @param index\r
+     * @return Group\r
+     */\r
+    public jalview.schemabinding.version2.Group getGroup(int index)\r
+        throws java.lang.IndexOutOfBoundsException\r
+    {\r
+        //-- check bounds for index\r
+        if ((index < 0) || (index > _groupList.size())) {\r
+            throw new IndexOutOfBoundsException();\r
+        }\r
+        \r
+        return (jalview.schemabinding.version2.Group) _groupList.elementAt(index);\r
+    } //-- jalview.schemabinding.version2.Group getGroup(int) \r
+\r
+    /**\r
+     * Method getGroup\r
+     * \r
+     * \r
+     * \r
+     * @return Group\r
+     */\r
+    public jalview.schemabinding.version2.Group[] getGroup()\r
+    {\r
+        int size = _groupList.size();\r
+        jalview.schemabinding.version2.Group[] mArray = new jalview.schemabinding.version2.Group[size];\r
+        for (int index = 0; index < size; index++) {\r
+            mArray[index] = (jalview.schemabinding.version2.Group) _groupList.elementAt(index);\r
+        }\r
+        return mArray;\r
+    } //-- jalview.schemabinding.version2.Group[] getGroup() \r
+\r
+    /**\r
+     * Method getGroupCount\r
+     * \r
+     * \r
+     * \r
+     * @return int\r
+     */\r
+    public int getGroupCount()\r
+    {\r
+        return _groupList.size();\r
+    } //-- int getGroupCount() \r
+\r
+    /**\r
      * Method getSetting\r
      * \r
      * \r
@@ -189,6 +282,15 @@ public class FeatureSettings implements java.io.Serializable {
     } //-- void marshal(org.xml.sax.ContentHandler) \r
 \r
     /**\r
+     * Method removeAllGroup\r
+     * \r
+     */\r
+    public void removeAllGroup()\r
+    {\r
+        _groupList.removeAllElements();\r
+    } //-- void removeAllGroup() \r
+\r
+    /**\r
      * Method removeAllSetting\r
      * \r
      */\r
@@ -198,6 +300,21 @@ public class FeatureSettings implements java.io.Serializable {
     } //-- void removeAllSetting() \r
 \r
     /**\r
+     * Method removeGroup\r
+     * \r
+     * \r
+     * \r
+     * @param index\r
+     * @return Group\r
+     */\r
+    public jalview.schemabinding.version2.Group removeGroup(int index)\r
+    {\r
+        java.lang.Object obj = _groupList.elementAt(index);\r
+        _groupList.removeElementAt(index);\r
+        return (jalview.schemabinding.version2.Group) obj;\r
+    } //-- jalview.schemabinding.version2.Group removeGroup(int) \r
+\r
+    /**\r
      * Method removeSetting\r
      * \r
      * \r
@@ -213,6 +330,40 @@ public class FeatureSettings implements java.io.Serializable {
     } //-- jalview.schemabinding.version2.Setting removeSetting(int) \r
 \r
     /**\r
+     * Method setGroup\r
+     * \r
+     * \r
+     * \r
+     * @param index\r
+     * @param vGroup\r
+     */\r
+    public void setGroup(int index, jalview.schemabinding.version2.Group vGroup)\r
+        throws java.lang.IndexOutOfBoundsException\r
+    {\r
+        //-- check bounds for index\r
+        if ((index < 0) || (index > _groupList.size())) {\r
+            throw new IndexOutOfBoundsException();\r
+        }\r
+        _groupList.setElementAt(vGroup, index);\r
+    } //-- void setGroup(int, jalview.schemabinding.version2.Group) \r
+\r
+    /**\r
+     * Method setGroup\r
+     * \r
+     * \r
+     * \r
+     * @param groupArray\r
+     */\r
+    public void setGroup(jalview.schemabinding.version2.Group[] groupArray)\r
+    {\r
+        //-- copy array\r
+        _groupList.removeAllElements();\r
+        for (int i = 0; i < groupArray.length; i++) {\r
+            _groupList.addElement(groupArray[i]);\r
+        }\r
+    } //-- void setGroup(jalview.schemabinding.version2.Group) \r
+\r
+    /**\r
      * Method setSetting\r
      * \r
      * \r
index 219037e..6b55286 100755 (executable)
@@ -102,6 +102,41 @@ public class FeatureSettingsDescriptor extends org.exolab.castor.xml.util.XMLCla
         { //-- local scope\r
         }\r
         desc.setValidator(fieldValidator);\r
+        //-- _groupList\r
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.Group.class, "_groupList", "group", 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
+                FeatureSettings target = (FeatureSettings) object;\r
+                return target.getGroup();\r
+            }\r
+            public void setValue( java.lang.Object object, java.lang.Object value) \r
+                throws IllegalStateException, IllegalArgumentException\r
+            {\r
+                try {\r
+                    FeatureSettings target = (FeatureSettings) object;\r
+                    target.addGroup( (jalview.schemabinding.version2.Group) value);\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 new jalview.schemabinding.version2.Group();\r
+            }\r
+        } );\r
+        desc.setHandler(handler);\r
+        desc.setNameSpaceURI("www.jalview.org");\r
+        desc.setMultivalued(true);\r
+        addFieldDescriptor(desc);\r
+        \r
+        //-- validation code for: _groupList\r
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+        fieldValidator.setMinOccurs(0);\r
+        { //-- local scope\r
+        }\r
+        desc.setValidator(fieldValidator);\r
     } //-- jalview.schemabinding.version2.FeatureSettingsDescriptor()\r
 \r
 \r
diff --git a/src/jalview/schemabinding/version2/Group.java b/src/jalview/schemabinding/version2/Group.java
new file mode 100644 (file)
index 0000000..cdb082d
--- /dev/null
@@ -0,0 +1,200 @@
+/*\r
+ * This class was automatically generated with \r
+ * <a href="http://www.castor.org">Castor 0.9.6</a>, using an XML\r
+ * Schema.\r
+ * $Id$\r
+ */\r
+\r
+package jalview.schemabinding.version2;\r
+\r
+  //---------------------------------/\r
+ //- Imported classes and packages -/\r
+//---------------------------------/\r
+\r
+import java.io.IOException;\r
+import java.io.Reader;\r
+import java.io.Serializable;\r
+import java.io.Writer;\r
+import org.exolab.castor.xml.MarshalException;\r
+import org.exolab.castor.xml.Marshaller;\r
+import org.exolab.castor.xml.Unmarshaller;\r
+import org.exolab.castor.xml.ValidationException;\r
+import org.xml.sax.ContentHandler;\r
+\r
+/**\r
+ * Class Group.\r
+ * \r
+ * @version $Revision$ $Date$\r
+ */\r
+public class Group implements java.io.Serializable {\r
+\r
+\r
+      //--------------------------/\r
+     //- Class/Member Variables -/\r
+    //--------------------------/\r
+\r
+    /**\r
+     * Field _name\r
+     */\r
+    private java.lang.String _name;\r
+\r
+    /**\r
+     * Field _display\r
+     */\r
+    private boolean _display;\r
+\r
+    /**\r
+     * keeps track of state for field: _display\r
+     */\r
+    private boolean _has_display;\r
+\r
+\r
+      //----------------/\r
+     //- Constructors -/\r
+    //----------------/\r
+\r
+    public Group() {\r
+        super();\r
+    } //-- jalview.schemabinding.version2.Group()\r
+\r
+\r
+      //-----------/\r
+     //- Methods -/\r
+    //-----------/\r
+\r
+    /**\r
+     * Method deleteDisplay\r
+     * \r
+     */\r
+    public void deleteDisplay()\r
+    {\r
+        this._has_display= false;\r
+    } //-- void deleteDisplay() \r
+\r
+    /**\r
+     * Returns the value of field 'display'.\r
+     * \r
+     * @return boolean\r
+     * @return the value of field 'display'.\r
+     */\r
+    public boolean getDisplay()\r
+    {\r
+        return this._display;\r
+    } //-- boolean getDisplay() \r
+\r
+    /**\r
+     * Returns the value of field 'name'.\r
+     * \r
+     * @return String\r
+     * @return the value of field 'name'.\r
+     */\r
+    public java.lang.String getName()\r
+    {\r
+        return this._name;\r
+    } //-- java.lang.String getName() \r
+\r
+    /**\r
+     * Method hasDisplay\r
+     * \r
+     * \r
+     * \r
+     * @return boolean\r
+     */\r
+    public boolean hasDisplay()\r
+    {\r
+        return this._has_display;\r
+    } //-- boolean hasDisplay() \r
+\r
+    /**\r
+     * Method isValid\r
+     * \r
+     * \r
+     * \r
+     * @return boolean\r
+     */\r
+    public boolean isValid()\r
+    {\r
+        try {\r
+            validate();\r
+        }\r
+        catch (org.exolab.castor.xml.ValidationException vex) {\r
+            return false;\r
+        }\r
+        return true;\r
+    } //-- boolean isValid() \r
+\r
+    /**\r
+     * Method marshal\r
+     * \r
+     * \r
+     * \r
+     * @param out\r
+     */\r
+    public void marshal(java.io.Writer out)\r
+        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException\r
+    {\r
+        \r
+        Marshaller.marshal(this, out);\r
+    } //-- void marshal(java.io.Writer) \r
+\r
+    /**\r
+     * Method marshal\r
+     * \r
+     * \r
+     * \r
+     * @param handler\r
+     */\r
+    public void marshal(org.xml.sax.ContentHandler handler)\r
+        throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException\r
+    {\r
+        \r
+        Marshaller.marshal(this, handler);\r
+    } //-- void marshal(org.xml.sax.ContentHandler) \r
+\r
+    /**\r
+     * Sets the value of field 'display'.\r
+     * \r
+     * @param display the value of field 'display'.\r
+     */\r
+    public void setDisplay(boolean display)\r
+    {\r
+        this._display = display;\r
+        this._has_display = true;\r
+    } //-- void setDisplay(boolean) \r
+\r
+    /**\r
+     * Sets the value of field 'name'.\r
+     * \r
+     * @param name the value of field 'name'.\r
+     */\r
+    public void setName(java.lang.String name)\r
+    {\r
+        this._name = name;\r
+    } //-- void setName(java.lang.String) \r
+\r
+    /**\r
+     * Method unmarshal\r
+     * \r
+     * \r
+     * \r
+     * @param reader\r
+     * @return Object\r
+     */\r
+    public static java.lang.Object unmarshal(java.io.Reader reader)\r
+        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException\r
+    {\r
+        return (jalview.schemabinding.version2.Group) Unmarshaller.unmarshal(jalview.schemabinding.version2.Group.class, reader);\r
+    } //-- java.lang.Object unmarshal(java.io.Reader) \r
+\r
+    /**\r
+     * Method validate\r
+     * \r
+     */\r
+    public void validate()\r
+        throws org.exolab.castor.xml.ValidationException\r
+    {\r
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();\r
+        validator.validate(this);\r
+    } //-- void validate() \r
+\r
+}\r
diff --git a/src/jalview/schemabinding/version2/GroupDescriptor.java b/src/jalview/schemabinding/version2/GroupDescriptor.java
new file mode 100644 (file)
index 0000000..c41175b
--- /dev/null
@@ -0,0 +1,249 @@
+/*\r
+ * This class was automatically generated with \r
+ * <a href="http://www.castor.org">Castor 0.9.6</a>, using an XML\r
+ * Schema.\r
+ * $Id$\r
+ */\r
+\r
+package jalview.schemabinding.version2;\r
+\r
+  //---------------------------------/\r
+ //- Imported classes and packages -/\r
+//---------------------------------/\r
+\r
+import org.exolab.castor.mapping.AccessMode;\r
+import org.exolab.castor.xml.TypeValidator;\r
+import org.exolab.castor.xml.XMLFieldDescriptor;\r
+import org.exolab.castor.xml.validators.*;\r
+\r
+/**\r
+ * Class GroupDescriptor.\r
+ * \r
+ * @version $Revision$ $Date$\r
+ */\r
+public class GroupDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {\r
+\r
+\r
+      //--------------------------/\r
+     //- Class/Member Variables -/\r
+    //--------------------------/\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 GroupDescriptor() {\r
+        super();\r
+        nsURI = "www.jalview.org";\r
+        xmlName = "group";\r
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl  desc           = null;\r
+        org.exolab.castor.xml.XMLFieldHandler              handler        = null;\r
+        org.exolab.castor.xml.FieldValidator               fieldValidator = null;\r
+        //-- initialize attribute descriptors\r
+        \r
+        //-- _name\r
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_name", "name", 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
+                Group target = (Group) object;\r
+                return target.getName();\r
+            }\r
+            public void setValue( java.lang.Object object, java.lang.Object value) \r
+                throws IllegalStateException, IllegalArgumentException\r
+            {\r
+                try {\r
+                    Group target = (Group) object;\r
+                    target.setName( (java.lang.String) value);\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
+        desc.setRequired(true);\r
+        addFieldDescriptor(desc);\r
+        \r
+        //-- validation code for: _name\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
+            fieldValidator.setValidator(typeValidator);\r
+        }\r
+        desc.setValidator(fieldValidator);\r
+        //-- _display\r
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_display", "display", 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
+                Group target = (Group) object;\r
+                if(!target.hasDisplay())\r
+                    return null;\r
+                return (target.getDisplay() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);\r
+            }\r
+            public void setValue( java.lang.Object object, java.lang.Object value) \r
+                throws IllegalStateException, IllegalArgumentException\r
+            {\r
+                try {\r
+                    Group target = (Group) object;\r
+                    // ignore null values for non optional primitives\r
+                    if (value == null) return;\r
+                    \r
+                    target.setDisplay( ((java.lang.Boolean)value).booleanValue());\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
+        desc.setRequired(true);\r
+        addFieldDescriptor(desc);\r
+        \r
+        //-- validation code for: _display\r
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+        fieldValidator.setMinOccurs(1);\r
+        { //-- local scope\r
+            BooleanValidator typeValidator = new BooleanValidator();\r
+            fieldValidator.setValidator(typeValidator);\r
+        }\r
+        desc.setValidator(fieldValidator);\r
+        //-- initialize element descriptors\r
+        \r
+    } //-- jalview.schemabinding.version2.GroupDescriptor()\r
+\r
+\r
+      //-----------/\r
+     //- Methods -/\r
+    //-----------/\r
+\r
+    /**\r
+     * Method getAccessMode\r
+     * \r
+     * \r
+     * \r
+     * @return AccessMode\r
+     */\r
+    public org.exolab.castor.mapping.AccessMode getAccessMode()\r
+    {\r
+        return null;\r
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode() \r
+\r
+    /**\r
+     * Method getExtends\r
+     * \r
+     * \r
+     * \r
+     * @return ClassDescriptor\r
+     */\r
+    public org.exolab.castor.mapping.ClassDescriptor getExtends()\r
+    {\r
+        return null;\r
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() \r
+\r
+    /**\r
+     * Method getIdentity\r
+     * \r
+     * \r
+     * \r
+     * @return FieldDescriptor\r
+     */\r
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
+    {\r
+        return identity;\r
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() \r
+\r
+    /**\r
+     * Method getJavaClass\r
+     * \r
+     * \r
+     * \r
+     * @return Class\r
+     */\r
+    public java.lang.Class getJavaClass()\r
+    {\r
+        return jalview.schemabinding.version2.Group.class;\r
+    } //-- java.lang.Class getJavaClass() \r
+\r
+    /**\r
+     * Method getNameSpacePrefix\r
+     * \r
+     * \r
+     * \r
+     * @return String\r
+     */\r
+    public java.lang.String getNameSpacePrefix()\r
+    {\r
+        return nsPrefix;\r
+    } //-- java.lang.String getNameSpacePrefix() \r
+\r
+    /**\r
+     * Method getNameSpaceURI\r
+     * \r
+     * \r
+     * \r
+     * @return String\r
+     */\r
+    public java.lang.String getNameSpaceURI()\r
+    {\r
+        return nsURI;\r
+    } //-- java.lang.String getNameSpaceURI() \r
+\r
+    /**\r
+     * Method getValidator\r
+     * \r
+     * \r
+     * \r
+     * @return TypeValidator\r
+     */\r
+    public org.exolab.castor.xml.TypeValidator getValidator()\r
+    {\r
+        return this;\r
+    } //-- org.exolab.castor.xml.TypeValidator getValidator() \r
+\r
+    /**\r
+     * Method getXMLName\r
+     * \r
+     * \r
+     * \r
+     * @return String\r
+     */\r
+    public java.lang.String getXMLName()\r
+    {\r
+        return xmlName;\r
+    } //-- java.lang.String getXMLName() \r
+\r
+}\r
index 668ef9d..d276b9f 100755 (executable)
@@ -58,6 +58,16 @@ public class Setting implements java.io.Serializable {
      */\r
     private boolean _has_display;\r
 \r
+    /**\r
+     * Field _order\r
+     */\r
+    private float _order;\r
+\r
+    /**\r
+     * keeps track of state for field: _order\r
+     */\r
+    private boolean _has_order;\r
+\r
 \r
       //----------------/\r
      //- Constructors -/\r
@@ -91,6 +101,15 @@ public class Setting implements java.io.Serializable {
     } //-- void deleteDisplay() \r
 \r
     /**\r
+     * Method deleteOrder\r
+     * \r
+     */\r
+    public void deleteOrder()\r
+    {\r
+        this._has_order= false;\r
+    } //-- void deleteOrder() \r
+\r
+    /**\r
      * Returns the value of field 'colour'.\r
      * \r
      * @return int\r
@@ -113,6 +132,17 @@ public class Setting implements java.io.Serializable {
     } //-- boolean getDisplay() \r
 \r
     /**\r
+     * Returns the value of field 'order'.\r
+     * \r
+     * @return float\r
+     * @return the value of field 'order'.\r
+     */\r
+    public float getOrder()\r
+    {\r
+        return this._order;\r
+    } //-- float getOrder() \r
+\r
+    /**\r
      * Returns the value of field 'type'.\r
      * \r
      * @return String\r
@@ -148,6 +178,18 @@ public class Setting implements java.io.Serializable {
     } //-- boolean hasDisplay() \r
 \r
     /**\r
+     * Method hasOrder\r
+     * \r
+     * \r
+     * \r
+     * @return boolean\r
+     */\r
+    public boolean hasOrder()\r
+    {\r
+        return this._has_order;\r
+    } //-- boolean hasOrder() \r
+\r
+    /**\r
      * Method isValid\r
      * \r
      * \r
@@ -216,6 +258,17 @@ public class Setting implements java.io.Serializable {
     } //-- void setDisplay(boolean) \r
 \r
     /**\r
+     * Sets the value of field 'order'.\r
+     * \r
+     * @param order the value of field 'order'.\r
+     */\r
+    public void setOrder(float order)\r
+    {\r
+        this._order = order;\r
+        this._has_order = true;\r
+    } //-- void setOrder(float) \r
+\r
+    /**\r
      * Sets the value of field 'type'.\r
      * \r
      * @param type the value of field 'type'.\r
index 6cadc16..a96d57d 100755 (executable)
@@ -182,6 +182,47 @@ public class SettingDescriptor extends org.exolab.castor.xml.util.XMLClassDescri
             fieldValidator.setValidator(typeValidator);\r
         }\r
         desc.setValidator(fieldValidator);\r
+        //-- _order\r
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(float.class, "_order", "order", 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
+                Setting target = (Setting) object;\r
+                if(!target.hasOrder())\r
+                    return null;\r
+                return new java.lang.Float(target.getOrder());\r
+            }\r
+            public void setValue( java.lang.Object object, java.lang.Object value) \r
+                throws IllegalStateException, IllegalArgumentException\r
+            {\r
+                try {\r
+                    Setting target = (Setting) object;\r
+                    // if null, use delete method for optional primitives \r
+                    if (value == null) {\r
+                        target.deleteOrder();\r
+                        return;\r
+                    }\r
+                    target.setOrder( ((java.lang.Float)value).floatValue());\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: _order\r
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+        { //-- local scope\r
+            FloatValidator typeValidator = new FloatValidator();\r
+            fieldValidator.setValidator(typeValidator);\r
+        }\r
+        desc.setValidator(fieldValidator);\r
         //-- initialize element descriptors\r
         \r
     } //-- jalview.schemabinding.version2.SettingDescriptor()\r