0 to unbounded Dataset/Sequence/DbRef/Map elements. Allows alternate mappings between...
[vamsas.git] / src / uk / ac / vamsas / objects / core / descriptors / DbRefDescriptor.java
index ef04791..9f13e4f 100644 (file)
@@ -218,8 +218,8 @@ public class DbRefDescriptor extends org.exolab.castor.xml.util.XMLClassDescript
         desc.setValidator(fieldValidator);\r
         //-- initialize element descriptors\r
         \r
-        //-- _map\r
-        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(uk.ac.vamsas.objects.core.Map.class, "_map", "map", org.exolab.castor.xml.NodeType.Element);\r
+        //-- _mapList\r
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(uk.ac.vamsas.objects.core.Map.class, "_mapList", "map", 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
@@ -232,7 +232,15 @@ public class DbRefDescriptor extends org.exolab.castor.xml.util.XMLClassDescript
             {\r
                 try {\r
                     DbRef target = (DbRef) object;\r
-                    target.setMap( (uk.ac.vamsas.objects.core.Map) value);\r
+                    target.addMap( (uk.ac.vamsas.objects.core.Map) 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
+                    DbRef target = (DbRef) object;\r
+                    target.removeAllMap();\r
                 } catch (java.lang.Exception ex) {\r
                     throw new IllegalStateException(ex.toString());\r
                 }\r
@@ -243,11 +251,12 @@ public class DbRefDescriptor extends org.exolab.castor.xml.util.XMLClassDescript
         };\r
         desc.setHandler(handler);\r
         desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
-        desc.setMultivalued(false);\r
+        desc.setMultivalued(true);\r
         addFieldDescriptor(desc);\r
         \r
-        //-- validation code for: _map\r
+        //-- validation code for: _mapList\r
         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+        fieldValidator.setMinOccurs(0);\r
         { //-- local scope\r
         }\r
         desc.setValidator(fieldValidator);\r