--- /dev/null
+/*\r
+ * This class was automatically generated with \r
+ * <a href="http://www.castor.org">Castor 1.1</a>, using an XML\r
+ * Schema.\r
+ * $Id$\r
+ */\r
+\r
+package uk.ac.vamsas.objects.core;\r
+\r
+ //---------------------------------/\r
+ //- Imported classes and packages -/\r
+//---------------------------------/\r
+\r
+import org.exolab.castor.xml.Marshaller;\r
+import org.exolab.castor.xml.Unmarshaller;\r
+\r
+/**\r
+ * Two sets of ranges defined between objects - usually sequences,\r
+ * indicating which\r
+ * regions on each are mapped. \r
+ * \r
+ * @version $Revision$ $Date$\r
+ */\r
+public class MapType extends uk.ac.vamsas.client.Vobject \r
+implements java.io.Serializable\r
+{\r
+\r
+\r
+ //--------------------------/\r
+ //- Class/Member Variables -/\r
+ //--------------------------/\r
+\r
+ /**\r
+ */\r
+ private uk.ac.vamsas.objects.core.Local _local;\r
+\r
+ /**\r
+ */\r
+ private uk.ac.vamsas.objects.core.Mapped _mapped;\r
+\r
+\r
+ //----------------/\r
+ //- Constructors -/\r
+ //----------------/\r
+\r
+ public MapType() {\r
+ super();\r
+ }\r
+\r
+\r
+ //-----------/\r
+ //- Methods -/\r
+ //-----------/\r
+\r
+ /**\r
+ * Overrides the java.lang.Object.equals method.\r
+ * \r
+ * @param obj\r
+ * @return true if the objects are equal.\r
+ */\r
+ public boolean equals(\r
+ final java.lang.Object obj) {\r
+ if ( this == obj )\r
+ return true;\r
+ \r
+ if (super.equals(obj)==false)\r
+ return false;\r
+ \r
+ if (obj instanceof MapType) {\r
+ \r
+ MapType temp = (MapType)obj;\r
+ boolean thcycle;\r
+ boolean tmcycle;\r
+ if (this._local != null) {\r
+ if (temp._local == null) return false;\r
+ if (this._local != temp._local) {\r
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._local);\r
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._local);\r
+ if (thcycle!=tmcycle) {\r
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._local); };\r
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._local); };\r
+ return false;\r
+ }\r
+ if (!thcycle) {\r
+ if (!this._local.equals(temp._local)) {\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._local);\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._local);\r
+ return false;\r
+ }\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._local);\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._local);\r
+ }\r
+ }\r
+ } else if (temp._local != null)\r
+ return false;\r
+ if (this._mapped != null) {\r
+ if (temp._mapped == null) return false;\r
+ if (this._mapped != temp._mapped) {\r
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._mapped);\r
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._mapped);\r
+ if (thcycle!=tmcycle) {\r
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._mapped); };\r
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._mapped); };\r
+ return false;\r
+ }\r
+ if (!thcycle) {\r
+ if (!this._mapped.equals(temp._mapped)) {\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._mapped);\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._mapped);\r
+ return false;\r
+ }\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._mapped);\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._mapped);\r
+ }\r
+ }\r
+ } else if (temp._mapped != null)\r
+ return false;\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+\r
+ /**\r
+ * Returns the value of field 'local'.\r
+ * \r
+ * @return the value of field 'Local'.\r
+ */\r
+ public uk.ac.vamsas.objects.core.Local getLocal(\r
+ ) {\r
+ return this._local;\r
+ }\r
+\r
+ /**\r
+ * Returns the value of field 'mapped'.\r
+ * \r
+ * @return the value of field 'Mapped'.\r
+ */\r
+ public uk.ac.vamsas.objects.core.Mapped getMapped(\r
+ ) {\r
+ return this._mapped;\r
+ }\r
+\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 (_local != null\r
+ && !org.castor.util.CycleBreaker.startingToCycle(_local)) {\r
+ result = 37 * result + _local.hashCode();\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(_local);\r
+ }\r
+ if (_mapped != null\r
+ && !org.castor.util.CycleBreaker.startingToCycle(_mapped)) {\r
+ result = 37 * result + _mapped.hashCode();\r
+ org.castor.util.CycleBreaker.releaseCycleHandle(_mapped);\r
+ }\r
+ \r
+ return result;\r
+ }\r
+\r
+ /**\r
+ * Method isValid.\r
+ * \r
+ * @return true if this object is valid according to the schema\r
+ */\r
+ public boolean isValid(\r
+ ) {\r
+ try {\r
+ validate();\r
+ } catch (org.exolab.castor.xml.ValidationException vex) {\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+\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(\r
+ final java.io.Writer out)\r
+ throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
+ Marshaller.marshal(this, out);\r
+ }\r
+\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(\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
+ }\r
+\r
+ /**\r
+ * Sets the value of field 'local'.\r
+ * \r
+ * @param local the value of field 'local'.\r
+ */\r
+ public void setLocal(\r
+ final uk.ac.vamsas.objects.core.Local local) {\r
+ this._local = local;\r
+ }\r
+\r
+ /**\r
+ * Sets the value of field 'mapped'.\r
+ * \r
+ * @param mapped the value of field 'mapped'.\r
+ */\r
+ public void setMapped(\r
+ final uk.ac.vamsas.objects.core.Mapped mapped) {\r
+ this._mapped = mapped;\r
+ }\r
+\r
+ /**\r
+ * Method unmarshal.\r
+ * \r
+ * @param reader\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.MapType\r
+ */\r
+ public static uk.ac.vamsas.objects.core.MapType 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.MapType) Unmarshaller.unmarshal(uk.ac.vamsas.objects.core.MapType.class, reader);\r
+ }\r
+\r
+ /**\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
+ )\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
+ }\r
+\r
+}\r