sequence mappings and DbRef mapping objects unified and source binding for castor...
[vamsas.git] / src / uk / ac / vamsas / objects / core / Newick.java
index 581bdca..2813c56 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * This class was automatically generated with 
- * <a href="http://www.castor.org">Castor 0.9.9M2</a>, using an XML
+ * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
  * Schema.
- * $Id:Newick.java 264 2006-12-14 17:42:54Z JimP $
+ * $Id$
  */
 
 package uk.ac.vamsas.objects.core;
@@ -11,20 +11,13 @@ package uk.ac.vamsas.objects.core;
  //- Imported classes and packages -/
 //---------------------------------/
 
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Serializable;
-import java.io.Writer;
-import org.exolab.castor.xml.MarshalException;
 import org.exolab.castor.xml.Marshaller;
 import org.exolab.castor.xml.Unmarshaller;
-import org.exolab.castor.xml.ValidationException;
-import org.xml.sax.ContentHandler;
 
 /**
  * Class Newick.
  * 
- * @version $Revision:264 $ $Date:2006-12-14 17:42:54 +0000 (Thu, 14 Dec 2006) $
+ * @version $Revision$ $Date$
  */
 public class Newick extends uk.ac.vamsas.client.Vobject 
 implements java.io.Serializable
@@ -41,7 +34,7 @@ implements java.io.Serializable
     private java.lang.String _content = "";
 
     /**
-     * Field _title
+     * Field _title.
      */
     private java.lang.String _title;
 
@@ -52,7 +45,7 @@ implements java.io.Serializable
     private java.lang.String _id;
 
     /**
-     * Field _modifiable
+     * Field _modifiable.
      */
     private java.lang.String _modifiable;
 
@@ -61,11 +54,10 @@ implements java.io.Serializable
      //- Constructors -/
     //----------------/
 
-    public Newick() 
-     {
+    public Newick() {
         super();
         setContent("");
-    } //-- uk.ac.vamsas.objects.core.Newick()
+    }
 
 
       //-----------/
@@ -73,13 +65,13 @@ implements java.io.Serializable
     //-----------/
 
     /**
-     * Note: hashCode() has not been overriden
+     * Overrides the java.lang.Object.equals method.
      * 
      * @param obj
-     * @return boolean
+     * @return true if the objects are equal.
      */
-    public boolean equals(java.lang.Object obj)
-    {
+    public boolean equals(
+            final java.lang.Object obj) {
         if ( this == obj )
             return true;
         
@@ -89,50 +81,111 @@ implements java.io.Serializable
         if (obj instanceof Newick) {
         
             Newick temp = (Newick)obj;
+            boolean thcycle;
+            boolean tmcycle;
             if (this._content != null) {
                 if (temp._content == null) return false;
-                else if (!(this._content.equals(temp._content))) 
-                    return false;
-            }
-            else if (temp._content != null)
+                if (this._content != temp._content) {
+                    thcycle=org.castor.util.CycleBreaker.startingToCycle(this._content);
+                    tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._content);
+                    if (thcycle!=tmcycle) {
+                        if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._content); };
+                        if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._content); };
+                        return false;
+                    }
+                    if (!thcycle) {
+                        if (!this._content.equals(temp._content)) {
+                            org.castor.util.CycleBreaker.releaseCycleHandle(this._content);
+                            org.castor.util.CycleBreaker.releaseCycleHandle(temp._content);
+                            return false;
+                        }
+                        org.castor.util.CycleBreaker.releaseCycleHandle(this._content);
+                        org.castor.util.CycleBreaker.releaseCycleHandle(temp._content);
+                    }
+                }
+            } else if (temp._content != null)
                 return false;
             if (this._title != null) {
                 if (temp._title == null) return false;
-                else if (!(this._title.equals(temp._title))) 
-                    return false;
-            }
-            else if (temp._title != null)
+                if (this._title != temp._title) {
+                    thcycle=org.castor.util.CycleBreaker.startingToCycle(this._title);
+                    tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._title);
+                    if (thcycle!=tmcycle) {
+                        if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._title); };
+                        if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._title); };
+                        return false;
+                    }
+                    if (!thcycle) {
+                        if (!this._title.equals(temp._title)) {
+                            org.castor.util.CycleBreaker.releaseCycleHandle(this._title);
+                            org.castor.util.CycleBreaker.releaseCycleHandle(temp._title);
+                            return false;
+                        }
+                        org.castor.util.CycleBreaker.releaseCycleHandle(this._title);
+                        org.castor.util.CycleBreaker.releaseCycleHandle(temp._title);
+                    }
+                }
+            } else if (temp._title != null)
                 return false;
             if (this._id != null) {
                 if (temp._id == null) return false;
-                else if (!(this._id.equals(temp._id))) 
-                    return false;
-            }
-            else if (temp._id != null)
+                if (this._id != temp._id) {
+                    thcycle=org.castor.util.CycleBreaker.startingToCycle(this._id);
+                    tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._id);
+                    if (thcycle!=tmcycle) {
+                        if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._id); };
+                        if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._id); };
+                        return false;
+                    }
+                    if (!thcycle) {
+                        if (!this._id.equals(temp._id)) {
+                            org.castor.util.CycleBreaker.releaseCycleHandle(this._id);
+                            org.castor.util.CycleBreaker.releaseCycleHandle(temp._id);
+                            return false;
+                        }
+                        org.castor.util.CycleBreaker.releaseCycleHandle(this._id);
+                        org.castor.util.CycleBreaker.releaseCycleHandle(temp._id);
+                    }
+                }
+            } else if (temp._id != null)
                 return false;
             if (this._modifiable != null) {
                 if (temp._modifiable == null) return false;
-                else if (!(this._modifiable.equals(temp._modifiable))) 
-                    return false;
-            }
-            else if (temp._modifiable != null)
+                if (this._modifiable != temp._modifiable) {
+                    thcycle=org.castor.util.CycleBreaker.startingToCycle(this._modifiable);
+                    tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._modifiable);
+                    if (thcycle!=tmcycle) {
+                        if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._modifiable); };
+                        if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._modifiable); };
+                        return false;
+                    }
+                    if (!thcycle) {
+                        if (!this._modifiable.equals(temp._modifiable)) {
+                            org.castor.util.CycleBreaker.releaseCycleHandle(this._modifiable);
+                            org.castor.util.CycleBreaker.releaseCycleHandle(temp._modifiable);
+                            return false;
+                        }
+                        org.castor.util.CycleBreaker.releaseCycleHandle(this._modifiable);
+                        org.castor.util.CycleBreaker.releaseCycleHandle(temp._modifiable);
+                    }
+                }
+            } else if (temp._modifiable != null)
                 return false;
             return true;
         }
         return false;
-    } //-- boolean equals(java.lang.Object) 
+    }
 
     /**
      * Returns the value of field 'content'. The field 'content'
      * has the following description: internal content storage
      * 
-     * @return String
-     * @return the value of field 'content'.
+     * @return the value of field 'Content'.
      */
-    public java.lang.String getContent()
-    {
+    public java.lang.String getContent(
+    ) {
         return this._content;
-    } //-- java.lang.String getContent() 
+    }
 
     /**
      * Returns the value of field 'id'. The field 'id' has the
@@ -140,81 +193,116 @@ implements java.io.Serializable
      * referencing
      *  
      * 
-     * @return String
-     * @return the value of field 'id'.
+     * @return the value of field 'Id'.
      */
-    public java.lang.String getId()
-    {
+    public java.lang.String getId(
+    ) {
         return this._id;
-    } //-- java.lang.String getId() 
+    }
 
     /**
      * Returns the value of field 'modifiable'.
      * 
-     * @return String
-     * @return the value of field 'modifiable'.
+     * @return the value of field 'Modifiable'.
      */
-    public java.lang.String getModifiable()
-    {
+    public java.lang.String getModifiable(
+    ) {
         return this._modifiable;
-    } //-- java.lang.String getModifiable() 
+    }
 
     /**
      * Returns the value of field 'title'.
      * 
-     * @return String
-     * @return the value of field 'title'.
+     * @return the value of field 'Title'.
      */
-    public java.lang.String getTitle()
-    {
+    public java.lang.String getTitle(
+    ) {
         return this._title;
-    } //-- java.lang.String getTitle() 
+    }
 
     /**
-     * Method isValid
-     * 
+     * Overrides the java.lang.Object.hashCode method.
+     * <p>
+     * The following steps came from <b>Effective Java Programming
+     * Language Guide</b> by Joshua Bloch, Chapter 3
      * 
+     * @return a hash code value for the object.
+     */
+    public int hashCode(
+    ) {
+        int result = super.hashCode();
+        
+        long tmp;
+        if (_content != null
+            && !org.castor.util.CycleBreaker.startingToCycle(_content)) {
+           result = 37 * result + _content.hashCode();
+           org.castor.util.CycleBreaker.releaseCycleHandle(_content);
+        }
+        if (_title != null
+            && !org.castor.util.CycleBreaker.startingToCycle(_title)) {
+           result = 37 * result + _title.hashCode();
+           org.castor.util.CycleBreaker.releaseCycleHandle(_title);
+        }
+        if (_id != null
+            && !org.castor.util.CycleBreaker.startingToCycle(_id)) {
+           result = 37 * result + _id.hashCode();
+           org.castor.util.CycleBreaker.releaseCycleHandle(_id);
+        }
+        if (_modifiable != null
+            && !org.castor.util.CycleBreaker.startingToCycle(_modifiable)) {
+           result = 37 * result + _modifiable.hashCode();
+           org.castor.util.CycleBreaker.releaseCycleHandle(_modifiable);
+        }
+        
+        return result;
+    }
+
+    /**
+     * Method isValid.
      * 
-     * @return boolean
+     * @return true if this object is valid according to the schema
      */
-    public boolean isValid()
-    {
+    public boolean isValid(
+    ) {
         try {
             validate();
-        }
-        catch (org.exolab.castor.xml.ValidationException vex) {
+        } catch (org.exolab.castor.xml.ValidationException vex) {
             return false;
         }
         return true;
-    } //-- boolean isValid() 
+    }
 
     /**
-     * Method marshal
-     * 
      * 
      * 
      * @param out
+     * @throws org.exolab.castor.xml.MarshalException if object is
+     * null or if any SAXException is thrown during marshaling
+     * @throws org.exolab.castor.xml.ValidationException if this
+     * object is an invalid instance according to the schema
      */
-    public void marshal(java.io.Writer out)
-        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
-    {
-        
+    public void marshal(
+            final java.io.Writer out)
+    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
         Marshaller.marshal(this, out);
-    } //-- void marshal(java.io.Writer) 
+    }
 
     /**
-     * Method marshal
-     * 
      * 
      * 
      * @param handler
+     * @throws java.io.IOException if an IOException occurs during
+     * marshaling
+     * @throws org.exolab.castor.xml.ValidationException if this
+     * object is an invalid instance according to the schema
+     * @throws org.exolab.castor.xml.MarshalException if object is
+     * null or if any SAXException is thrown during marshaling
      */
-    public void marshal(org.xml.sax.ContentHandler handler)
-        throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
-    {
-        
+    public void marshal(
+            final org.xml.sax.ContentHandler handler)
+    throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
         Marshaller.marshal(this, handler);
-    } //-- void marshal(org.xml.sax.ContentHandler) 
+    }
 
     /**
      * Sets the value of field 'content'. The field 'content' has
@@ -222,10 +310,10 @@ implements java.io.Serializable
      * 
      * @param content the value of field 'content'.
      */
-    public void setContent(java.lang.String content)
-    {
+    public void setContent(
+            final java.lang.String content) {
         this._content = content;
-    } //-- void setContent(java.lang.String) 
+    }
 
     /**
      * Sets the value of field 'id'. The field 'id' has the
@@ -235,54 +323,58 @@ implements java.io.Serializable
      * 
      * @param id the value of field 'id'.
      */
-    public void setId(java.lang.String id)
-    {
+    public void setId(
+            final java.lang.String id) {
         this._id = id;
-    } //-- void setId(java.lang.String) 
+    }
 
     /**
      * Sets the value of field 'modifiable'.
      * 
      * @param modifiable the value of field 'modifiable'.
      */
-    public void setModifiable(java.lang.String modifiable)
-    {
+    public void setModifiable(
+            final java.lang.String modifiable) {
         this._modifiable = modifiable;
-    } //-- void setModifiable(java.lang.String) 
+    }
 
     /**
      * Sets the value of field 'title'.
      * 
      * @param title the value of field 'title'.
      */
-    public void setTitle(java.lang.String title)
-    {
+    public void setTitle(
+            final java.lang.String title) {
         this._title = title;
-    } //-- void setTitle(java.lang.String) 
+    }
 
     /**
-     * Method unmarshal
-     * 
-     * 
+     * Method unmarshal.
      * 
      * @param reader
-     * @return Newick
+     * @throws org.exolab.castor.xml.MarshalException if object is
+     * null or if any SAXException is thrown during marshaling
+     * @throws org.exolab.castor.xml.ValidationException if this
+     * object is an invalid instance according to the schema
+     * @return the unmarshaled uk.ac.vamsas.objects.core.Newick
      */
-    public static uk.ac.vamsas.objects.core.Newick unmarshal(java.io.Reader reader)
-        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
-    {
+    public static uk.ac.vamsas.objects.core.Newick unmarshal(
+            final java.io.Reader reader)
+    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
         return (uk.ac.vamsas.objects.core.Newick) Unmarshaller.unmarshal(uk.ac.vamsas.objects.core.Newick.class, reader);
-    } //-- uk.ac.vamsas.objects.core.Newick unmarshal(java.io.Reader) 
+    }
 
     /**
-     * Method validate
      * 
+     * 
+     * @throws org.exolab.castor.xml.ValidationException if this
+     * object is an invalid instance according to the schema
      */
-    public void validate()
-        throws org.exolab.castor.xml.ValidationException
-    {
+    public void validate(
+    )
+    throws org.exolab.castor.xml.ValidationException {
         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
         validator.validate(this);
-    } //-- void validate() 
+    }
 
 }