sequence mappings and DbRef mapping objects unified and source binding for castor...
[vamsas.git] / src / uk / ac / vamsas / objects / core / Property.java
index b8c4743..bccf4bd 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * This class was automatically generated with \r
- * <a href="http://www.castor.org">Castor 0.9.9M2</a>, using an XML\r
+ * <a href="http://www.castor.org">Castor 1.1</a>, using an XML\r
  * Schema.\r
  * $Id$\r
  */\r
@@ -11,15 +11,8 @@ package uk.ac.vamsas.objects.core;
  //- 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 Property.\r
@@ -41,7 +34,7 @@ implements java.io.Serializable
     private java.lang.String _content = "";\r
 \r
     /**\r
-     * Field _name\r
+     * Field _name.\r
      */\r
     private java.lang.String _name;\r
 \r
@@ -58,11 +51,10 @@ implements java.io.Serializable
      //- Constructors -/\r
     //----------------/\r
 \r
-    public Property() \r
-     {\r
+    public Property() {\r
         super();\r
         setContent("");\r
-    } //-- uk.ac.vamsas.objects.core.Property()\r
+    }\r
 \r
 \r
       //-----------/\r
@@ -70,13 +62,13 @@ implements java.io.Serializable
     //-----------/\r
 \r
     /**\r
-     * Note: hashCode() has not been overriden\r
+     * Overrides the java.lang.Object.equals method.\r
      * \r
      * @param obj\r
-     * @return boolean\r
+     * @return true if the objects are equal.\r
      */\r
-    public boolean equals(java.lang.Object obj)\r
-    {\r
+    public boolean equals(\r
+            final java.lang.Object obj) {\r
         if ( this == obj )\r
             return true;\r
         \r
@@ -86,54 +78,99 @@ implements java.io.Serializable
         if (obj instanceof Property) {\r
         \r
             Property temp = (Property)obj;\r
+            boolean thcycle;\r
+            boolean tmcycle;\r
             if (this._content != null) {\r
                 if (temp._content == null) return false;\r
-                else if (!(this._content.equals(temp._content))) \r
-                    return false;\r
-            }\r
-            else if (temp._content != null)\r
+                if (this._content != temp._content) {\r
+                    thcycle=org.castor.util.CycleBreaker.startingToCycle(this._content);\r
+                    tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._content);\r
+                    if (thcycle!=tmcycle) {\r
+                        if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._content); };\r
+                        if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._content); };\r
+                        return false;\r
+                    }\r
+                    if (!thcycle) {\r
+                        if (!this._content.equals(temp._content)) {\r
+                            org.castor.util.CycleBreaker.releaseCycleHandle(this._content);\r
+                            org.castor.util.CycleBreaker.releaseCycleHandle(temp._content);\r
+                            return false;\r
+                        }\r
+                        org.castor.util.CycleBreaker.releaseCycleHandle(this._content);\r
+                        org.castor.util.CycleBreaker.releaseCycleHandle(temp._content);\r
+                    }\r
+                }\r
+            } else if (temp._content != null)\r
                 return false;\r
             if (this._name != null) {\r
                 if (temp._name == null) return false;\r
-                else if (!(this._name.equals(temp._name))) \r
-                    return false;\r
-            }\r
-            else if (temp._name != null)\r
+                if (this._name != temp._name) {\r
+                    thcycle=org.castor.util.CycleBreaker.startingToCycle(this._name);\r
+                    tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._name);\r
+                    if (thcycle!=tmcycle) {\r
+                        if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._name); };\r
+                        if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._name); };\r
+                        return false;\r
+                    }\r
+                    if (!thcycle) {\r
+                        if (!this._name.equals(temp._name)) {\r
+                            org.castor.util.CycleBreaker.releaseCycleHandle(this._name);\r
+                            org.castor.util.CycleBreaker.releaseCycleHandle(temp._name);\r
+                            return false;\r
+                        }\r
+                        org.castor.util.CycleBreaker.releaseCycleHandle(this._name);\r
+                        org.castor.util.CycleBreaker.releaseCycleHandle(temp._name);\r
+                    }\r
+                }\r
+            } else if (temp._name != null)\r
                 return false;\r
             if (this._type != null) {\r
                 if (temp._type == null) return false;\r
-                else if (!(this._type.equals(temp._type))) \r
-                    return false;\r
-            }\r
-            else if (temp._type != null)\r
+                if (this._type != temp._type) {\r
+                    thcycle=org.castor.util.CycleBreaker.startingToCycle(this._type);\r
+                    tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._type);\r
+                    if (thcycle!=tmcycle) {\r
+                        if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._type); };\r
+                        if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._type); };\r
+                        return false;\r
+                    }\r
+                    if (!thcycle) {\r
+                        if (!this._type.equals(temp._type)) {\r
+                            org.castor.util.CycleBreaker.releaseCycleHandle(this._type);\r
+                            org.castor.util.CycleBreaker.releaseCycleHandle(temp._type);\r
+                            return false;\r
+                        }\r
+                        org.castor.util.CycleBreaker.releaseCycleHandle(this._type);\r
+                        org.castor.util.CycleBreaker.releaseCycleHandle(temp._type);\r
+                    }\r
+                }\r
+            } else if (temp._type != null)\r
                 return false;\r
             return true;\r
         }\r
         return false;\r
-    } //-- boolean equals(java.lang.Object) \r
+    }\r
 \r
     /**\r
      * Returns the value of field 'content'. The field 'content'\r
      * has the following description: internal content storage\r
      * \r
-     * @return String\r
-     * @return the value of field 'content'.\r
+     * @return the value of field 'Content'.\r
      */\r
-    public java.lang.String getContent()\r
-    {\r
+    public java.lang.String getContent(\r
+    ) {\r
         return this._content;\r
-    } //-- java.lang.String getContent() \r
+    }\r
 \r
     /**\r
      * Returns the value of field 'name'.\r
      * \r
-     * @return String\r
-     * @return the value of field 'name'.\r
+     * @return the value of field 'Name'.\r
      */\r
-    public java.lang.String getName()\r
-    {\r
+    public java.lang.String getName(\r
+    ) {\r
         return this._name;\r
-    } //-- java.lang.String getName() \r
+    }\r
 \r
     /**\r
      * Returns the value of field 'type'. The field 'type' has the\r
@@ -143,59 +180,91 @@ implements java.io.Serializable
      * prototype the\r
      *  input to a document. TODO: specify allowed types \r
      * \r
-     * @return String\r
-     * @return the value of field 'type'.\r
+     * @return the value of field 'Type'.\r
      */\r
-    public java.lang.String getType()\r
-    {\r
+    public java.lang.String getType(\r
+    ) {\r
         return this._type;\r
-    } //-- java.lang.String getType() \r
+    }\r
 \r
     /**\r
-     * Method isValid\r
-     * \r
+     * Overrides the java.lang.Object.hashCode method.\r
+     * <p>\r
+     * The following steps came from <b>Effective Java Programming\r
+     * Language Guide</b> by Joshua Bloch, Chapter 3\r
      * \r
+     * @return a hash code value for the object.\r
+     */\r
+    public int hashCode(\r
+    ) {\r
+        int result = super.hashCode();\r
+        \r
+        long tmp;\r
+        if (_content != null\r
+            && !org.castor.util.CycleBreaker.startingToCycle(_content)) {\r
+           result = 37 * result + _content.hashCode();\r
+           org.castor.util.CycleBreaker.releaseCycleHandle(_content);\r
+        }\r
+        if (_name != null\r
+            && !org.castor.util.CycleBreaker.startingToCycle(_name)) {\r
+           result = 37 * result + _name.hashCode();\r
+           org.castor.util.CycleBreaker.releaseCycleHandle(_name);\r
+        }\r
+        if (_type != null\r
+            && !org.castor.util.CycleBreaker.startingToCycle(_type)) {\r
+           result = 37 * result + _type.hashCode();\r
+           org.castor.util.CycleBreaker.releaseCycleHandle(_type);\r
+        }\r
+        \r
+        return result;\r
+    }\r
+\r
+    /**\r
+     * Method isValid.\r
      * \r
-     * @return boolean\r
+     * @return true if this object is valid according to the schema\r
      */\r
-    public boolean isValid()\r
-    {\r
+    public boolean isValid(\r
+    ) {\r
         try {\r
             validate();\r
-        }\r
-        catch (org.exolab.castor.xml.ValidationException vex) {\r
+        } catch (org.exolab.castor.xml.ValidationException vex) {\r
             return false;\r
         }\r
         return true;\r
-    } //-- boolean isValid() \r
+    }\r
 \r
     /**\r
-     * Method marshal\r
-     * \r
      * \r
      * \r
      * @param out\r
+     * @throws org.exolab.castor.xml.MarshalException if object is\r
+     * null or if any SAXException is thrown during marshaling\r
+     * @throws org.exolab.castor.xml.ValidationException if this\r
+     * object is an invalid instance according to the schema\r
      */\r
-    public void marshal(java.io.Writer out)\r
-        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException\r
-    {\r
-        \r
+    public void marshal(\r
+            final java.io.Writer out)\r
+    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
         Marshaller.marshal(this, out);\r
-    } //-- void marshal(java.io.Writer) \r
+    }\r
 \r
     /**\r
-     * Method marshal\r
-     * \r
      * \r
      * \r
      * @param handler\r
+     * @throws java.io.IOException if an IOException occurs during\r
+     * marshaling\r
+     * @throws org.exolab.castor.xml.ValidationException if this\r
+     * object is an invalid instance according to the schema\r
+     * @throws org.exolab.castor.xml.MarshalException if object is\r
+     * null or if any SAXException is thrown during marshaling\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
+    public void marshal(\r
+            final org.xml.sax.ContentHandler handler)\r
+    throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
         Marshaller.marshal(this, handler);\r
-    } //-- void marshal(org.xml.sax.ContentHandler) \r
+    }\r
 \r
     /**\r
      * Sets the value of field 'content'. The field 'content' has\r
@@ -203,20 +272,20 @@ implements java.io.Serializable
      * \r
      * @param content the value of field 'content'.\r
      */\r
-    public void setContent(java.lang.String content)\r
-    {\r
+    public void setContent(\r
+            final java.lang.String content) {\r
         this._content = content;\r
-    } //-- void setContent(java.lang.String) \r
+    }\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
+    public void setName(\r
+            final java.lang.String name) {\r
         this._name = name;\r
-    } //-- void setName(java.lang.String) \r
+    }\r
 \r
     /**\r
      * Sets the value of field 'type'. The field 'type' has the\r
@@ -228,34 +297,38 @@ implements java.io.Serializable
      * \r
      * @param type the value of field 'type'.\r
      */\r
-    public void setType(java.lang.String type)\r
-    {\r
+    public void setType(\r
+            final java.lang.String type) {\r
         this._type = type;\r
-    } //-- void setType(java.lang.String) \r
+    }\r
 \r
     /**\r
-     * Method unmarshal\r
-     * \r
-     * \r
+     * Method unmarshal.\r
      * \r
      * @param reader\r
-     * @return Property\r
+     * @throws org.exolab.castor.xml.MarshalException if object is\r
+     * null or if any SAXException is thrown during marshaling\r
+     * @throws org.exolab.castor.xml.ValidationException if this\r
+     * object is an invalid instance according to the schema\r
+     * @return the unmarshaled uk.ac.vamsas.objects.core.Property\r
      */\r
-    public static uk.ac.vamsas.objects.core.Property unmarshal(java.io.Reader reader)\r
-        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException\r
-    {\r
+    public static uk.ac.vamsas.objects.core.Property unmarshal(\r
+            final java.io.Reader reader)\r
+    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
         return (uk.ac.vamsas.objects.core.Property) Unmarshaller.unmarshal(uk.ac.vamsas.objects.core.Property.class, reader);\r
-    } //-- uk.ac.vamsas.objects.core.Property unmarshal(java.io.Reader) \r
+    }\r
 \r
     /**\r
-     * Method validate\r
      * \r
+     * \r
+     * @throws org.exolab.castor.xml.ValidationException if this\r
+     * object is an invalid instance according to the schema\r
      */\r
-    public void validate()\r
-        throws org.exolab.castor.xml.ValidationException\r
-    {\r
+    public void validate(\r
+    )\r
+    throws org.exolab.castor.xml.ValidationException {\r
         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();\r
         validator.validate(this);\r
-    } //-- void validate() \r
+    }\r
 \r
 }\r