sequence mappings and DbRef mapping objects unified and source binding for castor...
[vamsas.git] / src / uk / ac / vamsas / objects / core / descriptors / MapDescriptor.java
index 94e54bb..14efb4b 100644 (file)
@@ -18,7 +18,7 @@ import uk.ac.vamsas.objects.core.Map;
  * \r
  * @version $Revision$ $Date$\r
  */\r
-public class MapDescriptor extends uk.ac.vamsas.objects.core.descriptors.MapListDescriptor {\r
+public class MapDescriptor extends uk.ac.vamsas.objects.core.descriptors.MapTypeDescriptor {\r
 \r
 \r
       //--------------------------/\r
@@ -45,11 +45,6 @@ public class MapDescriptor extends uk.ac.vamsas.objects.core.descriptors.MapList
      */\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
@@ -57,10 +52,53 @@ public class MapDescriptor extends uk.ac.vamsas.objects.core.descriptors.MapList
 \r
     public MapDescriptor() {\r
         super();\r
-        setExtendsWithoutFlatten(new uk.ac.vamsas.objects.core.descriptors.MapListDescriptor());\r
+        setExtendsWithoutFlatten(new uk.ac.vamsas.objects.core.descriptors.MapTypeDescriptor());\r
         _nsURI = "http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes";\r
         _xmlName = "map";\r
         _elementDefinition = true;\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
+        //-- _id\r
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);\r
+        super.setIdentity(desc);\r
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
+            public java.lang.Object getValue( java.lang.Object object ) \r
+                throws IllegalStateException\r
+            {\r
+                Map target = (Map) object;\r
+                return target.getId();\r
+            }\r
+            public void setValue( java.lang.Object object, java.lang.Object value) \r
+                throws IllegalStateException, IllegalArgumentException\r
+            {\r
+                try {\r
+                    Map target = (Map) object;\r
+                    target.setId( (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 new java.lang.String();\r
+            }\r
+        };\r
+        desc.setHandler(handler);\r
+        desc.setMultivalued(false);\r
+        addFieldDescriptor(desc);\r
+        \r
+        //-- validation code for: _id\r
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
+        { //-- local scope\r
+            org.exolab.castor.xml.validators.IdValidator typeValidator;\r
+            typeValidator = new org.exolab.castor.xml.validators.IdValidator();\r
+            fieldValidator.setValidator(typeValidator);\r
+        }\r
+        desc.setValidator(fieldValidator);\r
+        //-- initialize element descriptors\r
+        \r
     }\r
 \r
 \r
@@ -86,10 +124,7 @@ public class MapDescriptor extends uk.ac.vamsas.objects.core.descriptors.MapList
      */\r
     public org.exolab.castor.mapping.FieldDescriptor getIdentity(\r
     ) {\r
-        if (_identity == null) {\r
-            return super.getIdentity();\r
-        }\r
-        return _identity;\r
+        return super.getIdentity();\r
     }\r
 \r
     /**\r