//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.07.27 at 04:06:37 PM EDT
//
package mil.ces.metadata.mdr.ns.gsip.tspi._2_0.core;
import java.io.Serializable;
import javax.validation.Valid;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import org.jvnet.jaxb2_commons.lang.CopyStrategy2;
import org.jvnet.jaxb2_commons.lang.CopyTo2;
import org.jvnet.jaxb2_commons.lang.Equals2;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy2;
import org.jvnet.jaxb2_commons.lang.HashCode2;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy2;
import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBMergeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.MergeFrom2;
import org.jvnet.jaxb2_commons.lang.MergeStrategy2;
import org.jvnet.jaxb2_commons.lang.ToString2;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy2;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
/**
* Zone-Metre Presentation Type: A datatype representing a zone-metre position presentation based on the requirements of the universal grid position reporting systems based on Universal Transverse Mercator (UTM) and Universal Polar Stereographic (UPS) map projections. [desc] Zones and hemispheres are used as a means of identifying spatial regions on the Earth within which a position is specified as an easting-northing positive-offset value-pair, in metres, from a reference location. The reference location is assigned a positive offset-value to ensure that all legal offset values in a zone are positive. The presentation consists of a single component string integrating all coordinate tuple values.
*
* <p>Java class for ZoneMetrePresentationType complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="ZoneMetrePresentationType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="zoneColumn" type="{http://metadata.ces.mil/mdr/ns/GSIP/tspi/2.0/core}GridZoneColumnType"/>
* <element name="hemisphere" type="{http://metadata.ces.mil/mdr/ns/GSIP/tspi/2.0/core}LatitudeHemisphereType"/>
* <element name="metreEasting" type="{http://metadata.ces.mil/mdr/ns/GSIP/tspi/2.0/core}MegaType"/>
* <element name="metreNorthing">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice>
* <element name="basicNorthing" type="{http://metadata.ces.mil/mdr/ns/GSIP/tspi/2.0/core}DecamegaType"/>
* <element name="extendedNorthing" type="{http://metadata.ces.mil/mdr/ns/GSIP/tspi/2.0/core}HectomegaExtendedType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ZoneMetrePresentationType", propOrder = {
"zoneColumn",
"hemisphere",
"metreEasting",
"metreNorthing"
})
public class ZoneMetrePresentationType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@XmlSchemaType(name = "integer")
@NotNull(message = "ZoneMetrePresentationType.zoneColumn {javax.validation.constraints.NotNull.message}")
@DecimalMax("60")
@DecimalMin("01")
protected int zoneColumn;
@XmlElement(required = true)
@XmlSchemaType(name = "string")
@NotNull(message = "ZoneMetrePresentationType.hemisphere {javax.validation.constraints.NotNull.message}")
protected LatitudeHemisphereType hemisphere;
@XmlSchemaType(name = "integer")
@NotNull(message = "ZoneMetrePresentationType.metreEasting {javax.validation.constraints.NotNull.message}")
@DecimalMax("999999")
@DecimalMin("000000")
protected int metreEasting;
@XmlElement(required = true)
@NotNull(message = "ZoneMetrePresentationType.metreNorthing {javax.validation.constraints.NotNull.message}")
@Valid
protected ZoneMetrePresentationType.MetreNorthing metreNorthing;
/**
* Gets the value of the zoneColumn property.
*
*/
public int getZoneColumn() {
return zoneColumn;
}
/**
* Sets the value of the zoneColumn property.
*
*/
public void setZoneColumn(int value) {
this.zoneColumn = value;
}
public boolean isSetZoneColumn() {
return true;
}
/**
* Gets the value of the hemisphere property.
*
* @return
* possible object is
* {@link LatitudeHemisphereType }
*
*/
public LatitudeHemisphereType getHemisphere() {
return hemisphere;
}
/**
* Sets the value of the hemisphere property.
*
* @param value
* allowed object is
* {@link LatitudeHemisphereType }
*
*/
public void setHemisphere(LatitudeHemisphereType value) {
this.hemisphere = value;
}
public boolean isSetHemisphere() {
return (this.hemisphere!= null);
}
/**
* Gets the value of the metreEasting property.
*
*/
public int getMetreEasting() {
return metreEasting;
}
/**
* Sets the value of the metreEasting property.
*
*/
public void setMetreEasting(int value) {
this.metreEasting = value;
}
public boolean isSetMetreEasting() {
return true;
}
/**
* Gets the value of the metreNorthing property.
*
* @return
* possible object is
* {@link ZoneMetrePresentationType.MetreNorthing }
*
*/
public ZoneMetrePresentationType.MetreNorthing getMetreNorthing() {
return metreNorthing;
}
/**
* Sets the value of the metreNorthing property.
*
* @param value
* allowed object is
* {@link ZoneMetrePresentationType.MetreNorthing }
*
*/
public void setMetreNorthing(ZoneMetrePresentationType.MetreNorthing value) {
this.metreNorthing = value;
}
public boolean isSetMetreNorthing() {
return (this.metreNorthing!= null);
}
public String toString() {
final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
strategy.appendStart(locator, this, buffer);
appendFields(locator, buffer, strategy);
strategy.appendEnd(locator, this, buffer);
return buffer;
}
public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
{
int theZoneColumn;
theZoneColumn = this.getZoneColumn();
strategy.appendField(locator, this, "zoneColumn", buffer, theZoneColumn, true);
}
{
LatitudeHemisphereType theHemisphere;
theHemisphere = this.getHemisphere();
strategy.appendField(locator, this, "hemisphere", buffer, theHemisphere, this.isSetHemisphere());
}
{
int theMetreEasting;
theMetreEasting = this.getMetreEasting();
strategy.appendField(locator, this, "metreEasting", buffer, theMetreEasting, true);
}
{
ZoneMetrePresentationType.MetreNorthing theMetreNorthing;
theMetreNorthing = this.getMetreNorthing();
strategy.appendField(locator, this, "metreNorthing", buffer, theMetreNorthing, this.isSetMetreNorthing());
}
return buffer;
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
if ((object == null)||(this.getClass()!= object.getClass())) {
return false;
}
if (this == object) {
return true;
}
final ZoneMetrePresentationType that = ((ZoneMetrePresentationType) object);
{
int lhsZoneColumn;
lhsZoneColumn = this.getZoneColumn();
int rhsZoneColumn;
rhsZoneColumn = that.getZoneColumn();
if (!strategy.equals(LocatorUtils.property(thisLocator, "zoneColumn", lhsZoneColumn), LocatorUtils.property(thatLocator, "zoneColumn", rhsZoneColumn), lhsZoneColumn, rhsZoneColumn, true, true)) {
return false;
}
}
{
LatitudeHemisphereType lhsHemisphere;
lhsHemisphere = this.getHemisphere();
LatitudeHemisphereType rhsHemisphere;
rhsHemisphere = that.getHemisphere();
if (!strategy.equals(LocatorUtils.property(thisLocator, "hemisphere", lhsHemisphere), LocatorUtils.property(thatLocator, "hemisphere", rhsHemisphere), lhsHemisphere, rhsHemisphere, this.isSetHemisphere(), that.isSetHemisphere())) {
return false;
}
}
{
int lhsMetreEasting;
lhsMetreEasting = this.getMetreEasting();
int rhsMetreEasting;
rhsMetreEasting = that.getMetreEasting();
if (!strategy.equals(LocatorUtils.property(thisLocator, "metreEasting", lhsMetreEasting), LocatorUtils.property(thatLocator, "metreEasting", rhsMetreEasting), lhsMetreEasting, rhsMetreEasting, true, true)) {
return false;
}
}
{
ZoneMetrePresentationType.MetreNorthing lhsMetreNorthing;
lhsMetreNorthing = this.getMetreNorthing();
ZoneMetrePresentationType.MetreNorthing rhsMetreNorthing;
rhsMetreNorthing = that.getMetreNorthing();
if (!strategy.equals(LocatorUtils.property(thisLocator, "metreNorthing", lhsMetreNorthing), LocatorUtils.property(thatLocator, "metreNorthing", rhsMetreNorthing), lhsMetreNorthing, rhsMetreNorthing, this.isSetMetreNorthing(), that.isSetMetreNorthing())) {
return false;
}
}
return true;
}
public boolean equals(Object object) {
final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) {
int currentHashCode = 1;
{
int theZoneColumn;
theZoneColumn = this.getZoneColumn();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "zoneColumn", theZoneColumn), currentHashCode, theZoneColumn, true);
}
{
LatitudeHemisphereType theHemisphere;
theHemisphere = this.getHemisphere();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "hemisphere", theHemisphere), currentHashCode, theHemisphere, this.isSetHemisphere());
}
{
int theMetreEasting;
theMetreEasting = this.getMetreEasting();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "metreEasting", theMetreEasting), currentHashCode, theMetreEasting, true);
}
{
ZoneMetrePresentationType.MetreNorthing theMetreNorthing;
theMetreNorthing = this.getMetreNorthing();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "metreNorthing", theMetreNorthing), currentHashCode, theMetreNorthing, this.isSetMetreNorthing());
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public Object clone() {
return copyTo(createNewInstance());
}
public Object copyTo(Object target) {
final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
return copyTo(null, target, strategy);
}
public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
final Object draftCopy = ((target == null)?createNewInstance():target);
if (draftCopy instanceof ZoneMetrePresentationType) {
final ZoneMetrePresentationType copy = ((ZoneMetrePresentationType) draftCopy);
{
Boolean zoneColumnShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, true);
if (zoneColumnShouldBeCopiedAndSet == Boolean.TRUE) {
int sourceZoneColumn;
sourceZoneColumn = this.getZoneColumn();
int copyZoneColumn = strategy.copy(LocatorUtils.property(locator, "zoneColumn", sourceZoneColumn), sourceZoneColumn, true);
copy.setZoneColumn(copyZoneColumn);
} else {
if (zoneColumnShouldBeCopiedAndSet == Boolean.FALSE) {
}
}
}
{
Boolean hemisphereShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetHemisphere());
if (hemisphereShouldBeCopiedAndSet == Boolean.TRUE) {
LatitudeHemisphereType sourceHemisphere;
sourceHemisphere = this.getHemisphere();
LatitudeHemisphereType copyHemisphere = ((LatitudeHemisphereType) strategy.copy(LocatorUtils.property(locator, "hemisphere", sourceHemisphere), sourceHemisphere, this.isSetHemisphere()));
copy.setHemisphere(copyHemisphere);
} else {
if (hemisphereShouldBeCopiedAndSet == Boolean.FALSE) {
copy.hemisphere = null;
}
}
}
{
Boolean metreEastingShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, true);
if (metreEastingShouldBeCopiedAndSet == Boolean.TRUE) {
int sourceMetreEasting;
sourceMetreEasting = this.getMetreEasting();
int copyMetreEasting = strategy.copy(LocatorUtils.property(locator, "metreEasting", sourceMetreEasting), sourceMetreEasting, true);
copy.setMetreEasting(copyMetreEasting);
} else {
if (metreEastingShouldBeCopiedAndSet == Boolean.FALSE) {
}
}
}
{
Boolean metreNorthingShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMetreNorthing());
if (metreNorthingShouldBeCopiedAndSet == Boolean.TRUE) {
ZoneMetrePresentationType.MetreNorthing sourceMetreNorthing;
sourceMetreNorthing = this.getMetreNorthing();
ZoneMetrePresentationType.MetreNorthing copyMetreNorthing = ((ZoneMetrePresentationType.MetreNorthing) strategy.copy(LocatorUtils.property(locator, "metreNorthing", sourceMetreNorthing), sourceMetreNorthing, this.isSetMetreNorthing()));
copy.setMetreNorthing(copyMetreNorthing);
} else {
if (metreNorthingShouldBeCopiedAndSet == Boolean.FALSE) {
copy.metreNorthing = null;
}
}
}
}
return draftCopy;
}
public Object createNewInstance() {
return new ZoneMetrePresentationType();
}
public void mergeFrom(Object left, Object right) {
final MergeStrategy2 strategy = JAXBMergeStrategy.INSTANCE;
mergeFrom(null, null, left, right, strategy);
}
public void mergeFrom(ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy2 strategy) {
if (right instanceof ZoneMetrePresentationType) {
final ZoneMetrePresentationType target = this;
final ZoneMetrePresentationType leftObject = ((ZoneMetrePresentationType) left);
final ZoneMetrePresentationType rightObject = ((ZoneMetrePresentationType) right);
{
Boolean zoneColumnShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, true, true);
if (zoneColumnShouldBeMergedAndSet == Boolean.TRUE) {
int lhsZoneColumn;
lhsZoneColumn = leftObject.getZoneColumn();
int rhsZoneColumn;
rhsZoneColumn = rightObject.getZoneColumn();
int mergedZoneColumn = ((int) strategy.merge(LocatorUtils.property(leftLocator, "zoneColumn", lhsZoneColumn), LocatorUtils.property(rightLocator, "zoneColumn", rhsZoneColumn), lhsZoneColumn, rhsZoneColumn, true, true));
target.setZoneColumn(mergedZoneColumn);
} else {
if (zoneColumnShouldBeMergedAndSet == Boolean.FALSE) {
}
}
}
{
Boolean hemisphereShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetHemisphere(), rightObject.isSetHemisphere());
if (hemisphereShouldBeMergedAndSet == Boolean.TRUE) {
LatitudeHemisphereType lhsHemisphere;
lhsHemisphere = leftObject.getHemisphere();
LatitudeHemisphereType rhsHemisphere;
rhsHemisphere = rightObject.getHemisphere();
LatitudeHemisphereType mergedHemisphere = ((LatitudeHemisphereType) strategy.merge(LocatorUtils.property(leftLocator, "hemisphere", lhsHemisphere), LocatorUtils.property(rightLocator, "hemisphere", rhsHemisphere), lhsHemisphere, rhsHemisphere, leftObject.isSetHemisphere(), rightObject.isSetHemisphere()));
target.setHemisphere(mergedHemisphere);
} else {
if (hemisphereShouldBeMergedAndSet == Boolean.FALSE) {
target.hemisphere = null;
}
}
}
{
Boolean metreEastingShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, true, true);
if (metreEastingShouldBeMergedAndSet == Boolean.TRUE) {
int lhsMetreEasting;
lhsMetreEasting = leftObject.getMetreEasting();
int rhsMetreEasting;
rhsMetreEasting = rightObject.getMetreEasting();
int mergedMetreEasting = ((int) strategy.merge(LocatorUtils.property(leftLocator, "metreEasting", lhsMetreEasting), LocatorUtils.property(rightLocator, "metreEasting", rhsMetreEasting), lhsMetreEasting, rhsMetreEasting, true, true));
target.setMetreEasting(mergedMetreEasting);
} else {
if (metreEastingShouldBeMergedAndSet == Boolean.FALSE) {
}
}
}
{
Boolean metreNorthingShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMetreNorthing(), rightObject.isSetMetreNorthing());
if (metreNorthingShouldBeMergedAndSet == Boolean.TRUE) {
ZoneMetrePresentationType.MetreNorthing lhsMetreNorthing;
lhsMetreNorthing = leftObject.getMetreNorthing();
ZoneMetrePresentationType.MetreNorthing rhsMetreNorthing;
rhsMetreNorthing = rightObject.getMetreNorthing();
ZoneMetrePresentationType.MetreNorthing mergedMetreNorthing = ((ZoneMetrePresentationType.MetreNorthing) strategy.merge(LocatorUtils.property(leftLocator, "metreNorthing", lhsMetreNorthing), LocatorUtils.property(rightLocator, "metreNorthing", rhsMetreNorthing), lhsMetreNorthing, rhsMetreNorthing, leftObject.isSetMetreNorthing(), rightObject.isSetMetreNorthing()));
target.setMetreNorthing(mergedMetreNorthing);
} else {
if (metreNorthingShouldBeMergedAndSet == Boolean.FALSE) {
target.metreNorthing = null;
}
}
}
}
}
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice>
* <element name="basicNorthing" type="{http://metadata.ces.mil/mdr/ns/GSIP/tspi/2.0/core}DecamegaType"/>
* <element name="extendedNorthing" type="{http://metadata.ces.mil/mdr/ns/GSIP/tspi/2.0/core}HectomegaExtendedType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"basicNorthing",
"extendedNorthing"
})
public static class MetreNorthing implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@XmlSchemaType(name = "integer")
@DecimalMax("9999999")
@DecimalMin("0000000")
protected Integer basicNorthing;
@XmlSchemaType(name = "integer")
@DecimalMax("11000000")
@DecimalMin("00000000")
protected Integer extendedNorthing;
/**
* Gets the value of the basicNorthing property.
*
* @return
* possible object is
* {@link Integer }
*
*/
public Integer getBasicNorthing() {
return basicNorthing;
}
/**
* Sets the value of the basicNorthing property.
*
* @param value
* allowed object is
* {@link Integer }
*
*/
public void setBasicNorthing(Integer value) {
this.basicNorthing = value;
}
public boolean isSetBasicNorthing() {
return (this.basicNorthing!= null);
}
/**
* Gets the value of the extendedNorthing property.
*
* @return
* possible object is
* {@link Integer }
*
*/
public Integer getExtendedNorthing() {
return extendedNorthing;
}
/**
* Sets the value of the extendedNorthing property.
*
* @param value
* allowed object is
* {@link Integer }
*
*/
public void setExtendedNorthing(Integer value) {
this.extendedNorthing = value;
}
public boolean isSetExtendedNorthing() {
return (this.extendedNorthing!= null);
}
public String toString() {
final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
strategy.appendStart(locator, this, buffer);
appendFields(locator, buffer, strategy);
strategy.appendEnd(locator, this, buffer);
return buffer;
}
public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
{
Integer theBasicNorthing;
theBasicNorthing = this.getBasicNorthing();
strategy.appendField(locator, this, "basicNorthing", buffer, theBasicNorthing, this.isSetBasicNorthing());
}
{
Integer theExtendedNorthing;
theExtendedNorthing = this.getExtendedNorthing();
strategy.appendField(locator, this, "extendedNorthing", buffer, theExtendedNorthing, this.isSetExtendedNorthing());
}
return buffer;
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
if ((object == null)||(this.getClass()!= object.getClass())) {
return false;
}
if (this == object) {
return true;
}
final ZoneMetrePresentationType.MetreNorthing that = ((ZoneMetrePresentationType.MetreNorthing) object);
{
Integer lhsBasicNorthing;
lhsBasicNorthing = this.getBasicNorthing();
Integer rhsBasicNorthing;
rhsBasicNorthing = that.getBasicNorthing();
if (!strategy.equals(LocatorUtils.property(thisLocator, "basicNorthing", lhsBasicNorthing), LocatorUtils.property(thatLocator, "basicNorthing", rhsBasicNorthing), lhsBasicNorthing, rhsBasicNorthing, this.isSetBasicNorthing(), that.isSetBasicNorthing())) {
return false;
}
}
{
Integer lhsExtendedNorthing;
lhsExtendedNorthing = this.getExtendedNorthing();
Integer rhsExtendedNorthing;
rhsExtendedNorthing = that.getExtendedNorthing();
if (!strategy.equals(LocatorUtils.property(thisLocator, "extendedNorthing", lhsExtendedNorthing), LocatorUtils.property(thatLocator, "extendedNorthing", rhsExtendedNorthing), lhsExtendedNorthing, rhsExtendedNorthing, this.isSetExtendedNorthing(), that.isSetExtendedNorthing())) {
return false;
}
}
return true;
}
public boolean equals(Object object) {
final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) {
int currentHashCode = 1;
{
Integer theBasicNorthing;
theBasicNorthing = this.getBasicNorthing();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "basicNorthing", theBasicNorthing), currentHashCode, theBasicNorthing, this.isSetBasicNorthing());
}
{
Integer theExtendedNorthing;
theExtendedNorthing = this.getExtendedNorthing();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "extendedNorthing", theExtendedNorthing), currentHashCode, theExtendedNorthing, this.isSetExtendedNorthing());
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public Object clone() {
return copyTo(createNewInstance());
}
public Object copyTo(Object target) {
final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
return copyTo(null, target, strategy);
}
public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
final Object draftCopy = ((target == null)?createNewInstance():target);
if (draftCopy instanceof ZoneMetrePresentationType.MetreNorthing) {
final ZoneMetrePresentationType.MetreNorthing copy = ((ZoneMetrePresentationType.MetreNorthing) draftCopy);
{
Boolean basicNorthingShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetBasicNorthing());
if (basicNorthingShouldBeCopiedAndSet == Boolean.TRUE) {
Integer sourceBasicNorthing;
sourceBasicNorthing = this.getBasicNorthing();
Integer copyBasicNorthing = ((Integer) strategy.copy(LocatorUtils.property(locator, "basicNorthing", sourceBasicNorthing), sourceBasicNorthing, this.isSetBasicNorthing()));
copy.setBasicNorthing(copyBasicNorthing);
} else {
if (basicNorthingShouldBeCopiedAndSet == Boolean.FALSE) {
copy.basicNorthing = null;
}
}
}
{
Boolean extendedNorthingShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetExtendedNorthing());
if (extendedNorthingShouldBeCopiedAndSet == Boolean.TRUE) {
Integer sourceExtendedNorthing;
sourceExtendedNorthing = this.getExtendedNorthing();
Integer copyExtendedNorthing = ((Integer) strategy.copy(LocatorUtils.property(locator, "extendedNorthing", sourceExtendedNorthing), sourceExtendedNorthing, this.isSetExtendedNorthing()));
copy.setExtendedNorthing(copyExtendedNorthing);
} else {
if (extendedNorthingShouldBeCopiedAndSet == Boolean.FALSE) {
copy.extendedNorthing = null;
}
}
}
}
return draftCopy;
}
public Object createNewInstance() {
return new ZoneMetrePresentationType.MetreNorthing();
}
public void mergeFrom(Object left, Object right) {
final MergeStrategy2 strategy = JAXBMergeStrategy.INSTANCE;
mergeFrom(null, null, left, right, strategy);
}
public void mergeFrom(ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy2 strategy) {
if (right instanceof ZoneMetrePresentationType.MetreNorthing) {
final ZoneMetrePresentationType.MetreNorthing target = this;
final ZoneMetrePresentationType.MetreNorthing leftObject = ((ZoneMetrePresentationType.MetreNorthing) left);
final ZoneMetrePresentationType.MetreNorthing rightObject = ((ZoneMetrePresentationType.MetreNorthing) right);
{
Boolean basicNorthingShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetBasicNorthing(), rightObject.isSetBasicNorthing());
if (basicNorthingShouldBeMergedAndSet == Boolean.TRUE) {
Integer lhsBasicNorthing;
lhsBasicNorthing = leftObject.getBasicNorthing();
Integer rhsBasicNorthing;
rhsBasicNorthing = rightObject.getBasicNorthing();
Integer mergedBasicNorthing = ((Integer) strategy.merge(LocatorUtils.property(leftLocator, "basicNorthing", lhsBasicNorthing), LocatorUtils.property(rightLocator, "basicNorthing", rhsBasicNorthing), lhsBasicNorthing, rhsBasicNorthing, leftObject.isSetBasicNorthing(), rightObject.isSetBasicNorthing()));
target.setBasicNorthing(mergedBasicNorthing);
} else {
if (basicNorthingShouldBeMergedAndSet == Boolean.FALSE) {
target.basicNorthing = null;
}
}
}
{
Boolean extendedNorthingShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetExtendedNorthing(), rightObject.isSetExtendedNorthing());
if (extendedNorthingShouldBeMergedAndSet == Boolean.TRUE) {
Integer lhsExtendedNorthing;
lhsExtendedNorthing = leftObject.getExtendedNorthing();
Integer rhsExtendedNorthing;
rhsExtendedNorthing = rightObject.getExtendedNorthing();
Integer mergedExtendedNorthing = ((Integer) strategy.merge(LocatorUtils.property(leftLocator, "extendedNorthing", lhsExtendedNorthing), LocatorUtils.property(rightLocator, "extendedNorthing", rhsExtendedNorthing), lhsExtendedNorthing, rhsExtendedNorthing, leftObject.isSetExtendedNorthing(), rightObject.isSetExtendedNorthing()));
target.setExtendedNorthing(mergedExtendedNorthing);
} else {
if (extendedNorthingShouldBeMergedAndSet == Boolean.FALSE) {
target.extendedNorthing = null;
}
}
}
}
}
}
}