// // 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 org.isotc211._19112; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.validation.Valid; 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.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; import javax.xml.datatype.XMLGregorianCalendar; import mil.ces.metadata.mdr.ns.gsip.tspi._2_0.ext.GEOLOCInstanceType; import net.opengis.gml.v_3_2_1.AbstractFeatureType; import net.opengis.gml.v_3_2_1.GeometryPropertyType; import net.opengis.gml.v_3_2_1.PointPropertyType; import net.opengis.gml.v_3_2_1.ReferenceType; import org.isotc211._2005.gmd.CIResponsiblePartyPropertyType; 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; /** * A location instance in a spatial reference system. * * <p>Java class for SI_LocationInstanceType complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="SI_LocationInstanceType"> * <complexContent> * <extension base="{http://www.opengis.net/gml/3.2}AbstractFeatureType"> * <sequence> * <element name="geographicIdentifier" type="{http://www.isotc211.org/19112}LanguageStringType"/> * <element name="alternativeGeographicIdentifiers" type="{http://www.isotc211.org/19112}AlternativeGeographicIdentifiersPropertyType" minOccurs="0"/> * <element name="position" type="{http://www.opengis.net/gml/3.2}PointPropertyType"/> * <element name="geographicExtent" type="{http://www.opengis.net/gml/3.2}GeometryPropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="dateOfCreation" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/> * <element name="administrator" type="{http://www.isotc211.org/2005/gmd}CI_ResponsibleParty_PropertyType"/> * <element name="spatialObject" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/> * <element name="parent" type="{http://www.opengis.net/gml/3.2}ReferenceType" maxOccurs="unbounded" minOccurs="0"/> * <element name="child" type="{http://www.opengis.net/gml/3.2}ReferenceType" maxOccurs="unbounded" minOccurs="0"/> * <element name="locationType" type="{http://www.opengis.net/gml/3.2}ReferenceType"/> * </sequence> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "SI_LocationInstanceType", propOrder = { "geographicIdentifier", "alternativeGeographicIdentifiers", "position", "geographicExtent", "dateOfCreation", "administrator", "spatialObject", "parent", "child", "locationType" }) @XmlSeeAlso({ GEOLOCInstanceType.class }) public class SILocationInstanceType extends AbstractFeatureType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2 { private final static long serialVersionUID = 1L; @XmlElement(required = true) @NotNull(message = "SILocationInstanceType.geographicIdentifier {javax.validation.constraints.NotNull.message}") @Valid protected LanguageStringType geographicIdentifier; @Valid protected AlternativeGeographicIdentifiersPropertyType alternativeGeographicIdentifiers; @XmlElement(required = true) @NotNull(message = "SILocationInstanceType.position {javax.validation.constraints.NotNull.message}") @Valid protected PointPropertyType position; @Valid protected List<GeometryPropertyType> geographicExtent; @XmlSchemaType(name = "date") protected XMLGregorianCalendar dateOfCreation; @XmlElement(required = true) @NotNull(message = "SILocationInstanceType.administrator {javax.validation.constraints.NotNull.message}") @Valid protected CIResponsiblePartyPropertyType administrator; @XmlSchemaType(name = "anyURI") protected String spatialObject; @Valid protected List<ReferenceType> parent; @Valid protected List<ReferenceType> child; @XmlElement(required = true) @NotNull(message = "SILocationInstanceType.locationType {javax.validation.constraints.NotNull.message}") @Valid protected ReferenceType locationType; /** * Gets the value of the geographicIdentifier property. * * @return * possible object is * {@link LanguageStringType } * */ public LanguageStringType getGeographicIdentifier() { return geographicIdentifier; } /** * Sets the value of the geographicIdentifier property. * * @param value * allowed object is * {@link LanguageStringType } * */ public void setGeographicIdentifier(LanguageStringType value) { this.geographicIdentifier = value; } public boolean isSetGeographicIdentifier() { return (this.geographicIdentifier!= null); } /** * Gets the value of the alternativeGeographicIdentifiers property. * * @return * possible object is * {@link AlternativeGeographicIdentifiersPropertyType } * */ public AlternativeGeographicIdentifiersPropertyType getAlternativeGeographicIdentifiers() { return alternativeGeographicIdentifiers; } /** * Sets the value of the alternativeGeographicIdentifiers property. * * @param value * allowed object is * {@link AlternativeGeographicIdentifiersPropertyType } * */ public void setAlternativeGeographicIdentifiers(AlternativeGeographicIdentifiersPropertyType value) { this.alternativeGeographicIdentifiers = value; } public boolean isSetAlternativeGeographicIdentifiers() { return (this.alternativeGeographicIdentifiers!= null); } /** * Gets the value of the position property. * * @return * possible object is * {@link PointPropertyType } * */ public PointPropertyType getPosition() { return position; } /** * Sets the value of the position property. * * @param value * allowed object is * {@link PointPropertyType } * */ public void setPosition(PointPropertyType value) { this.position = value; } public boolean isSetPosition() { return (this.position!= null); } /** * Gets the value of the geographicExtent property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the geographicExtent property. * * <p> * For example, to add a new item, do as follows: * <pre> * getGeographicExtent().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link GeometryPropertyType } * * */ public List<GeometryPropertyType> getGeographicExtent() { if (geographicExtent == null) { geographicExtent = new ArrayList<GeometryPropertyType>(); } return this.geographicExtent; } public boolean isSetGeographicExtent() { return ((this.geographicExtent!= null)&&(!this.geographicExtent.isEmpty())); } public void unsetGeographicExtent() { this.geographicExtent = null; } /** * Gets the value of the dateOfCreation property. * * @return * possible object is * {@link XMLGregorianCalendar } * */ public XMLGregorianCalendar getDateOfCreation() { return dateOfCreation; } /** * Sets the value of the dateOfCreation property. * * @param value * allowed object is * {@link XMLGregorianCalendar } * */ public void setDateOfCreation(XMLGregorianCalendar value) { this.dateOfCreation = value; } public boolean isSetDateOfCreation() { return (this.dateOfCreation!= null); } /** * Gets the value of the administrator property. * * @return * possible object is * {@link CIResponsiblePartyPropertyType } * */ public CIResponsiblePartyPropertyType getAdministrator() { return administrator; } /** * Sets the value of the administrator property. * * @param value * allowed object is * {@link CIResponsiblePartyPropertyType } * */ public void setAdministrator(CIResponsiblePartyPropertyType value) { this.administrator = value; } public boolean isSetAdministrator() { return (this.administrator!= null); } /** * Gets the value of the spatialObject property. * * @return * possible object is * {@link String } * */ public String getSpatialObject() { return spatialObject; } /** * Sets the value of the spatialObject property. * * @param value * allowed object is * {@link String } * */ public void setSpatialObject(String value) { this.spatialObject = value; } public boolean isSetSpatialObject() { return (this.spatialObject!= null); } /** * Gets the value of the parent property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the parent property. * * <p> * For example, to add a new item, do as follows: * <pre> * getParent().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link ReferenceType } * * */ public List<ReferenceType> getParent() { if (parent == null) { parent = new ArrayList<ReferenceType>(); } return this.parent; } public boolean isSetParent() { return ((this.parent!= null)&&(!this.parent.isEmpty())); } public void unsetParent() { this.parent = null; } /** * Gets the value of the child property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the child property. * * <p> * For example, to add a new item, do as follows: * <pre> * getChild().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link ReferenceType } * * */ public List<ReferenceType> getChild() { if (child == null) { child = new ArrayList<ReferenceType>(); } return this.child; } public boolean isSetChild() { return ((this.child!= null)&&(!this.child.isEmpty())); } public void unsetChild() { this.child = null; } /** * Gets the value of the locationType property. * * @return * possible object is * {@link ReferenceType } * */ public ReferenceType getLocationType() { return locationType; } /** * Sets the value of the locationType property. * * @param value * allowed object is * {@link ReferenceType } * */ public void setLocationType(ReferenceType value) { this.locationType = value; } public boolean isSetLocationType() { return (this.locationType!= 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) { super.appendFields(locator, buffer, strategy); { LanguageStringType theGeographicIdentifier; theGeographicIdentifier = this.getGeographicIdentifier(); strategy.appendField(locator, this, "geographicIdentifier", buffer, theGeographicIdentifier, this.isSetGeographicIdentifier()); } { AlternativeGeographicIdentifiersPropertyType theAlternativeGeographicIdentifiers; theAlternativeGeographicIdentifiers = this.getAlternativeGeographicIdentifiers(); strategy.appendField(locator, this, "alternativeGeographicIdentifiers", buffer, theAlternativeGeographicIdentifiers, this.isSetAlternativeGeographicIdentifiers()); } { PointPropertyType thePosition; thePosition = this.getPosition(); strategy.appendField(locator, this, "position", buffer, thePosition, this.isSetPosition()); } { List<GeometryPropertyType> theGeographicExtent; theGeographicExtent = (this.isSetGeographicExtent()?this.getGeographicExtent():null); strategy.appendField(locator, this, "geographicExtent", buffer, theGeographicExtent, this.isSetGeographicExtent()); } { XMLGregorianCalendar theDateOfCreation; theDateOfCreation = this.getDateOfCreation(); strategy.appendField(locator, this, "dateOfCreation", buffer, theDateOfCreation, this.isSetDateOfCreation()); } { CIResponsiblePartyPropertyType theAdministrator; theAdministrator = this.getAdministrator(); strategy.appendField(locator, this, "administrator", buffer, theAdministrator, this.isSetAdministrator()); } { String theSpatialObject; theSpatialObject = this.getSpatialObject(); strategy.appendField(locator, this, "spatialObject", buffer, theSpatialObject, this.isSetSpatialObject()); } { List<ReferenceType> theParent; theParent = (this.isSetParent()?this.getParent():null); strategy.appendField(locator, this, "parent", buffer, theParent, this.isSetParent()); } { List<ReferenceType> theChild; theChild = (this.isSetChild()?this.getChild():null); strategy.appendField(locator, this, "child", buffer, theChild, this.isSetChild()); } { ReferenceType theLocationType; theLocationType = this.getLocationType(); strategy.appendField(locator, this, "locationType", buffer, theLocationType, this.isSetLocationType()); } 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; } if (!super.equals(thisLocator, thatLocator, object, strategy)) { return false; } final SILocationInstanceType that = ((SILocationInstanceType) object); { LanguageStringType lhsGeographicIdentifier; lhsGeographicIdentifier = this.getGeographicIdentifier(); LanguageStringType rhsGeographicIdentifier; rhsGeographicIdentifier = that.getGeographicIdentifier(); if (!strategy.equals(LocatorUtils.property(thisLocator, "geographicIdentifier", lhsGeographicIdentifier), LocatorUtils.property(thatLocator, "geographicIdentifier", rhsGeographicIdentifier), lhsGeographicIdentifier, rhsGeographicIdentifier, this.isSetGeographicIdentifier(), that.isSetGeographicIdentifier())) { return false; } } { AlternativeGeographicIdentifiersPropertyType lhsAlternativeGeographicIdentifiers; lhsAlternativeGeographicIdentifiers = this.getAlternativeGeographicIdentifiers(); AlternativeGeographicIdentifiersPropertyType rhsAlternativeGeographicIdentifiers; rhsAlternativeGeographicIdentifiers = that.getAlternativeGeographicIdentifiers(); if (!strategy.equals(LocatorUtils.property(thisLocator, "alternativeGeographicIdentifiers", lhsAlternativeGeographicIdentifiers), LocatorUtils.property(thatLocator, "alternativeGeographicIdentifiers", rhsAlternativeGeographicIdentifiers), lhsAlternativeGeographicIdentifiers, rhsAlternativeGeographicIdentifiers, this.isSetAlternativeGeographicIdentifiers(), that.isSetAlternativeGeographicIdentifiers())) { return false; } } { PointPropertyType lhsPosition; lhsPosition = this.getPosition(); PointPropertyType rhsPosition; rhsPosition = that.getPosition(); if (!strategy.equals(LocatorUtils.property(thisLocator, "position", lhsPosition), LocatorUtils.property(thatLocator, "position", rhsPosition), lhsPosition, rhsPosition, this.isSetPosition(), that.isSetPosition())) { return false; } } { List<GeometryPropertyType> lhsGeographicExtent; lhsGeographicExtent = (this.isSetGeographicExtent()?this.getGeographicExtent():null); List<GeometryPropertyType> rhsGeographicExtent; rhsGeographicExtent = (that.isSetGeographicExtent()?that.getGeographicExtent():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "geographicExtent", lhsGeographicExtent), LocatorUtils.property(thatLocator, "geographicExtent", rhsGeographicExtent), lhsGeographicExtent, rhsGeographicExtent, this.isSetGeographicExtent(), that.isSetGeographicExtent())) { return false; } } { XMLGregorianCalendar lhsDateOfCreation; lhsDateOfCreation = this.getDateOfCreation(); XMLGregorianCalendar rhsDateOfCreation; rhsDateOfCreation = that.getDateOfCreation(); if (!strategy.equals(LocatorUtils.property(thisLocator, "dateOfCreation", lhsDateOfCreation), LocatorUtils.property(thatLocator, "dateOfCreation", rhsDateOfCreation), lhsDateOfCreation, rhsDateOfCreation, this.isSetDateOfCreation(), that.isSetDateOfCreation())) { return false; } } { CIResponsiblePartyPropertyType lhsAdministrator; lhsAdministrator = this.getAdministrator(); CIResponsiblePartyPropertyType rhsAdministrator; rhsAdministrator = that.getAdministrator(); if (!strategy.equals(LocatorUtils.property(thisLocator, "administrator", lhsAdministrator), LocatorUtils.property(thatLocator, "administrator", rhsAdministrator), lhsAdministrator, rhsAdministrator, this.isSetAdministrator(), that.isSetAdministrator())) { return false; } } { String lhsSpatialObject; lhsSpatialObject = this.getSpatialObject(); String rhsSpatialObject; rhsSpatialObject = that.getSpatialObject(); if (!strategy.equals(LocatorUtils.property(thisLocator, "spatialObject", lhsSpatialObject), LocatorUtils.property(thatLocator, "spatialObject", rhsSpatialObject), lhsSpatialObject, rhsSpatialObject, this.isSetSpatialObject(), that.isSetSpatialObject())) { return false; } } { List<ReferenceType> lhsParent; lhsParent = (this.isSetParent()?this.getParent():null); List<ReferenceType> rhsParent; rhsParent = (that.isSetParent()?that.getParent():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "parent", lhsParent), LocatorUtils.property(thatLocator, "parent", rhsParent), lhsParent, rhsParent, this.isSetParent(), that.isSetParent())) { return false; } } { List<ReferenceType> lhsChild; lhsChild = (this.isSetChild()?this.getChild():null); List<ReferenceType> rhsChild; rhsChild = (that.isSetChild()?that.getChild():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "child", lhsChild), LocatorUtils.property(thatLocator, "child", rhsChild), lhsChild, rhsChild, this.isSetChild(), that.isSetChild())) { return false; } } { ReferenceType lhsLocationType; lhsLocationType = this.getLocationType(); ReferenceType rhsLocationType; rhsLocationType = that.getLocationType(); if (!strategy.equals(LocatorUtils.property(thisLocator, "locationType", lhsLocationType), LocatorUtils.property(thatLocator, "locationType", rhsLocationType), lhsLocationType, rhsLocationType, this.isSetLocationType(), that.isSetLocationType())) { 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 = super.hashCode(locator, strategy); { LanguageStringType theGeographicIdentifier; theGeographicIdentifier = this.getGeographicIdentifier(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "geographicIdentifier", theGeographicIdentifier), currentHashCode, theGeographicIdentifier, this.isSetGeographicIdentifier()); } { AlternativeGeographicIdentifiersPropertyType theAlternativeGeographicIdentifiers; theAlternativeGeographicIdentifiers = this.getAlternativeGeographicIdentifiers(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "alternativeGeographicIdentifiers", theAlternativeGeographicIdentifiers), currentHashCode, theAlternativeGeographicIdentifiers, this.isSetAlternativeGeographicIdentifiers()); } { PointPropertyType thePosition; thePosition = this.getPosition(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "position", thePosition), currentHashCode, thePosition, this.isSetPosition()); } { List<GeometryPropertyType> theGeographicExtent; theGeographicExtent = (this.isSetGeographicExtent()?this.getGeographicExtent():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "geographicExtent", theGeographicExtent), currentHashCode, theGeographicExtent, this.isSetGeographicExtent()); } { XMLGregorianCalendar theDateOfCreation; theDateOfCreation = this.getDateOfCreation(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateOfCreation", theDateOfCreation), currentHashCode, theDateOfCreation, this.isSetDateOfCreation()); } { CIResponsiblePartyPropertyType theAdministrator; theAdministrator = this.getAdministrator(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "administrator", theAdministrator), currentHashCode, theAdministrator, this.isSetAdministrator()); } { String theSpatialObject; theSpatialObject = this.getSpatialObject(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "spatialObject", theSpatialObject), currentHashCode, theSpatialObject, this.isSetSpatialObject()); } { List<ReferenceType> theParent; theParent = (this.isSetParent()?this.getParent():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "parent", theParent), currentHashCode, theParent, this.isSetParent()); } { List<ReferenceType> theChild; theChild = (this.isSetChild()?this.getChild():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "child", theChild), currentHashCode, theChild, this.isSetChild()); } { ReferenceType theLocationType; theLocationType = this.getLocationType(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "locationType", theLocationType), currentHashCode, theLocationType, this.isSetLocationType()); } 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); super.copyTo(locator, draftCopy, strategy); if (draftCopy instanceof SILocationInstanceType) { final SILocationInstanceType copy = ((SILocationInstanceType) draftCopy); { Boolean geographicIdentifierShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetGeographicIdentifier()); if (geographicIdentifierShouldBeCopiedAndSet == Boolean.TRUE) { LanguageStringType sourceGeographicIdentifier; sourceGeographicIdentifier = this.getGeographicIdentifier(); LanguageStringType copyGeographicIdentifier = ((LanguageStringType) strategy.copy(LocatorUtils.property(locator, "geographicIdentifier", sourceGeographicIdentifier), sourceGeographicIdentifier, this.isSetGeographicIdentifier())); copy.setGeographicIdentifier(copyGeographicIdentifier); } else { if (geographicIdentifierShouldBeCopiedAndSet == Boolean.FALSE) { copy.geographicIdentifier = null; } } } { Boolean alternativeGeographicIdentifiersShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetAlternativeGeographicIdentifiers()); if (alternativeGeographicIdentifiersShouldBeCopiedAndSet == Boolean.TRUE) { AlternativeGeographicIdentifiersPropertyType sourceAlternativeGeographicIdentifiers; sourceAlternativeGeographicIdentifiers = this.getAlternativeGeographicIdentifiers(); AlternativeGeographicIdentifiersPropertyType copyAlternativeGeographicIdentifiers = ((AlternativeGeographicIdentifiersPropertyType) strategy.copy(LocatorUtils.property(locator, "alternativeGeographicIdentifiers", sourceAlternativeGeographicIdentifiers), sourceAlternativeGeographicIdentifiers, this.isSetAlternativeGeographicIdentifiers())); copy.setAlternativeGeographicIdentifiers(copyAlternativeGeographicIdentifiers); } else { if (alternativeGeographicIdentifiersShouldBeCopiedAndSet == Boolean.FALSE) { copy.alternativeGeographicIdentifiers = null; } } } { Boolean positionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPosition()); if (positionShouldBeCopiedAndSet == Boolean.TRUE) { PointPropertyType sourcePosition; sourcePosition = this.getPosition(); PointPropertyType copyPosition = ((PointPropertyType) strategy.copy(LocatorUtils.property(locator, "position", sourcePosition), sourcePosition, this.isSetPosition())); copy.setPosition(copyPosition); } else { if (positionShouldBeCopiedAndSet == Boolean.FALSE) { copy.position = null; } } } { Boolean geographicExtentShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetGeographicExtent()); if (geographicExtentShouldBeCopiedAndSet == Boolean.TRUE) { List<GeometryPropertyType> sourceGeographicExtent; sourceGeographicExtent = (this.isSetGeographicExtent()?this.getGeographicExtent():null); @SuppressWarnings("unchecked") List<GeometryPropertyType> copyGeographicExtent = ((List<GeometryPropertyType> ) strategy.copy(LocatorUtils.property(locator, "geographicExtent", sourceGeographicExtent), sourceGeographicExtent, this.isSetGeographicExtent())); copy.unsetGeographicExtent(); if (copyGeographicExtent!= null) { List<GeometryPropertyType> uniqueGeographicExtentl = copy.getGeographicExtent(); uniqueGeographicExtentl.addAll(copyGeographicExtent); } } else { if (geographicExtentShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetGeographicExtent(); } } } { Boolean dateOfCreationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDateOfCreation()); if (dateOfCreationShouldBeCopiedAndSet == Boolean.TRUE) { XMLGregorianCalendar sourceDateOfCreation; sourceDateOfCreation = this.getDateOfCreation(); XMLGregorianCalendar copyDateOfCreation = ((XMLGregorianCalendar) strategy.copy(LocatorUtils.property(locator, "dateOfCreation", sourceDateOfCreation), sourceDateOfCreation, this.isSetDateOfCreation())); copy.setDateOfCreation(copyDateOfCreation); } else { if (dateOfCreationShouldBeCopiedAndSet == Boolean.FALSE) { copy.dateOfCreation = null; } } } { Boolean administratorShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetAdministrator()); if (administratorShouldBeCopiedAndSet == Boolean.TRUE) { CIResponsiblePartyPropertyType sourceAdministrator; sourceAdministrator = this.getAdministrator(); CIResponsiblePartyPropertyType copyAdministrator = ((CIResponsiblePartyPropertyType) strategy.copy(LocatorUtils.property(locator, "administrator", sourceAdministrator), sourceAdministrator, this.isSetAdministrator())); copy.setAdministrator(copyAdministrator); } else { if (administratorShouldBeCopiedAndSet == Boolean.FALSE) { copy.administrator = null; } } } { Boolean spatialObjectShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetSpatialObject()); if (spatialObjectShouldBeCopiedAndSet == Boolean.TRUE) { String sourceSpatialObject; sourceSpatialObject = this.getSpatialObject(); String copySpatialObject = ((String) strategy.copy(LocatorUtils.property(locator, "spatialObject", sourceSpatialObject), sourceSpatialObject, this.isSetSpatialObject())); copy.setSpatialObject(copySpatialObject); } else { if (spatialObjectShouldBeCopiedAndSet == Boolean.FALSE) { copy.spatialObject = null; } } } { Boolean parentShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetParent()); if (parentShouldBeCopiedAndSet == Boolean.TRUE) { List<ReferenceType> sourceParent; sourceParent = (this.isSetParent()?this.getParent():null); @SuppressWarnings("unchecked") List<ReferenceType> copyParent = ((List<ReferenceType> ) strategy.copy(LocatorUtils.property(locator, "parent", sourceParent), sourceParent, this.isSetParent())); copy.unsetParent(); if (copyParent!= null) { List<ReferenceType> uniqueParentl = copy.getParent(); uniqueParentl.addAll(copyParent); } } else { if (parentShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetParent(); } } } { Boolean childShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetChild()); if (childShouldBeCopiedAndSet == Boolean.TRUE) { List<ReferenceType> sourceChild; sourceChild = (this.isSetChild()?this.getChild():null); @SuppressWarnings("unchecked") List<ReferenceType> copyChild = ((List<ReferenceType> ) strategy.copy(LocatorUtils.property(locator, "child", sourceChild), sourceChild, this.isSetChild())); copy.unsetChild(); if (copyChild!= null) { List<ReferenceType> uniqueChildl = copy.getChild(); uniqueChildl.addAll(copyChild); } } else { if (childShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetChild(); } } } { Boolean locationTypeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLocationType()); if (locationTypeShouldBeCopiedAndSet == Boolean.TRUE) { ReferenceType sourceLocationType; sourceLocationType = this.getLocationType(); ReferenceType copyLocationType = ((ReferenceType) strategy.copy(LocatorUtils.property(locator, "locationType", sourceLocationType), sourceLocationType, this.isSetLocationType())); copy.setLocationType(copyLocationType); } else { if (locationTypeShouldBeCopiedAndSet == Boolean.FALSE) { copy.locationType = null; } } } } return draftCopy; } public Object createNewInstance() { return new SILocationInstanceType(); } 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) { super.mergeFrom(leftLocator, rightLocator, left, right, strategy); if (right instanceof SILocationInstanceType) { final SILocationInstanceType target = this; final SILocationInstanceType leftObject = ((SILocationInstanceType) left); final SILocationInstanceType rightObject = ((SILocationInstanceType) right); { Boolean geographicIdentifierShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetGeographicIdentifier(), rightObject.isSetGeographicIdentifier()); if (geographicIdentifierShouldBeMergedAndSet == Boolean.TRUE) { LanguageStringType lhsGeographicIdentifier; lhsGeographicIdentifier = leftObject.getGeographicIdentifier(); LanguageStringType rhsGeographicIdentifier; rhsGeographicIdentifier = rightObject.getGeographicIdentifier(); LanguageStringType mergedGeographicIdentifier = ((LanguageStringType) strategy.merge(LocatorUtils.property(leftLocator, "geographicIdentifier", lhsGeographicIdentifier), LocatorUtils.property(rightLocator, "geographicIdentifier", rhsGeographicIdentifier), lhsGeographicIdentifier, rhsGeographicIdentifier, leftObject.isSetGeographicIdentifier(), rightObject.isSetGeographicIdentifier())); target.setGeographicIdentifier(mergedGeographicIdentifier); } else { if (geographicIdentifierShouldBeMergedAndSet == Boolean.FALSE) { target.geographicIdentifier = null; } } } { Boolean alternativeGeographicIdentifiersShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetAlternativeGeographicIdentifiers(), rightObject.isSetAlternativeGeographicIdentifiers()); if (alternativeGeographicIdentifiersShouldBeMergedAndSet == Boolean.TRUE) { AlternativeGeographicIdentifiersPropertyType lhsAlternativeGeographicIdentifiers; lhsAlternativeGeographicIdentifiers = leftObject.getAlternativeGeographicIdentifiers(); AlternativeGeographicIdentifiersPropertyType rhsAlternativeGeographicIdentifiers; rhsAlternativeGeographicIdentifiers = rightObject.getAlternativeGeographicIdentifiers(); AlternativeGeographicIdentifiersPropertyType mergedAlternativeGeographicIdentifiers = ((AlternativeGeographicIdentifiersPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "alternativeGeographicIdentifiers", lhsAlternativeGeographicIdentifiers), LocatorUtils.property(rightLocator, "alternativeGeographicIdentifiers", rhsAlternativeGeographicIdentifiers), lhsAlternativeGeographicIdentifiers, rhsAlternativeGeographicIdentifiers, leftObject.isSetAlternativeGeographicIdentifiers(), rightObject.isSetAlternativeGeographicIdentifiers())); target.setAlternativeGeographicIdentifiers(mergedAlternativeGeographicIdentifiers); } else { if (alternativeGeographicIdentifiersShouldBeMergedAndSet == Boolean.FALSE) { target.alternativeGeographicIdentifiers = null; } } } { Boolean positionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPosition(), rightObject.isSetPosition()); if (positionShouldBeMergedAndSet == Boolean.TRUE) { PointPropertyType lhsPosition; lhsPosition = leftObject.getPosition(); PointPropertyType rhsPosition; rhsPosition = rightObject.getPosition(); PointPropertyType mergedPosition = ((PointPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "position", lhsPosition), LocatorUtils.property(rightLocator, "position", rhsPosition), lhsPosition, rhsPosition, leftObject.isSetPosition(), rightObject.isSetPosition())); target.setPosition(mergedPosition); } else { if (positionShouldBeMergedAndSet == Boolean.FALSE) { target.position = null; } } } { Boolean geographicExtentShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetGeographicExtent(), rightObject.isSetGeographicExtent()); if (geographicExtentShouldBeMergedAndSet == Boolean.TRUE) { List<GeometryPropertyType> lhsGeographicExtent; lhsGeographicExtent = (leftObject.isSetGeographicExtent()?leftObject.getGeographicExtent():null); List<GeometryPropertyType> rhsGeographicExtent; rhsGeographicExtent = (rightObject.isSetGeographicExtent()?rightObject.getGeographicExtent():null); List<GeometryPropertyType> mergedGeographicExtent = ((List<GeometryPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "geographicExtent", lhsGeographicExtent), LocatorUtils.property(rightLocator, "geographicExtent", rhsGeographicExtent), lhsGeographicExtent, rhsGeographicExtent, leftObject.isSetGeographicExtent(), rightObject.isSetGeographicExtent())); target.unsetGeographicExtent(); if (mergedGeographicExtent!= null) { List<GeometryPropertyType> uniqueGeographicExtentl = target.getGeographicExtent(); uniqueGeographicExtentl.addAll(mergedGeographicExtent); } } else { if (geographicExtentShouldBeMergedAndSet == Boolean.FALSE) { target.unsetGeographicExtent(); } } } { Boolean dateOfCreationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDateOfCreation(), rightObject.isSetDateOfCreation()); if (dateOfCreationShouldBeMergedAndSet == Boolean.TRUE) { XMLGregorianCalendar lhsDateOfCreation; lhsDateOfCreation = leftObject.getDateOfCreation(); XMLGregorianCalendar rhsDateOfCreation; rhsDateOfCreation = rightObject.getDateOfCreation(); XMLGregorianCalendar mergedDateOfCreation = ((XMLGregorianCalendar) strategy.merge(LocatorUtils.property(leftLocator, "dateOfCreation", lhsDateOfCreation), LocatorUtils.property(rightLocator, "dateOfCreation", rhsDateOfCreation), lhsDateOfCreation, rhsDateOfCreation, leftObject.isSetDateOfCreation(), rightObject.isSetDateOfCreation())); target.setDateOfCreation(mergedDateOfCreation); } else { if (dateOfCreationShouldBeMergedAndSet == Boolean.FALSE) { target.dateOfCreation = null; } } } { Boolean administratorShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetAdministrator(), rightObject.isSetAdministrator()); if (administratorShouldBeMergedAndSet == Boolean.TRUE) { CIResponsiblePartyPropertyType lhsAdministrator; lhsAdministrator = leftObject.getAdministrator(); CIResponsiblePartyPropertyType rhsAdministrator; rhsAdministrator = rightObject.getAdministrator(); CIResponsiblePartyPropertyType mergedAdministrator = ((CIResponsiblePartyPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "administrator", lhsAdministrator), LocatorUtils.property(rightLocator, "administrator", rhsAdministrator), lhsAdministrator, rhsAdministrator, leftObject.isSetAdministrator(), rightObject.isSetAdministrator())); target.setAdministrator(mergedAdministrator); } else { if (administratorShouldBeMergedAndSet == Boolean.FALSE) { target.administrator = null; } } } { Boolean spatialObjectShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetSpatialObject(), rightObject.isSetSpatialObject()); if (spatialObjectShouldBeMergedAndSet == Boolean.TRUE) { String lhsSpatialObject; lhsSpatialObject = leftObject.getSpatialObject(); String rhsSpatialObject; rhsSpatialObject = rightObject.getSpatialObject(); String mergedSpatialObject = ((String) strategy.merge(LocatorUtils.property(leftLocator, "spatialObject", lhsSpatialObject), LocatorUtils.property(rightLocator, "spatialObject", rhsSpatialObject), lhsSpatialObject, rhsSpatialObject, leftObject.isSetSpatialObject(), rightObject.isSetSpatialObject())); target.setSpatialObject(mergedSpatialObject); } else { if (spatialObjectShouldBeMergedAndSet == Boolean.FALSE) { target.spatialObject = null; } } } { Boolean parentShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetParent(), rightObject.isSetParent()); if (parentShouldBeMergedAndSet == Boolean.TRUE) { List<ReferenceType> lhsParent; lhsParent = (leftObject.isSetParent()?leftObject.getParent():null); List<ReferenceType> rhsParent; rhsParent = (rightObject.isSetParent()?rightObject.getParent():null); List<ReferenceType> mergedParent = ((List<ReferenceType> ) strategy.merge(LocatorUtils.property(leftLocator, "parent", lhsParent), LocatorUtils.property(rightLocator, "parent", rhsParent), lhsParent, rhsParent, leftObject.isSetParent(), rightObject.isSetParent())); target.unsetParent(); if (mergedParent!= null) { List<ReferenceType> uniqueParentl = target.getParent(); uniqueParentl.addAll(mergedParent); } } else { if (parentShouldBeMergedAndSet == Boolean.FALSE) { target.unsetParent(); } } } { Boolean childShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetChild(), rightObject.isSetChild()); if (childShouldBeMergedAndSet == Boolean.TRUE) { List<ReferenceType> lhsChild; lhsChild = (leftObject.isSetChild()?leftObject.getChild():null); List<ReferenceType> rhsChild; rhsChild = (rightObject.isSetChild()?rightObject.getChild():null); List<ReferenceType> mergedChild = ((List<ReferenceType> ) strategy.merge(LocatorUtils.property(leftLocator, "child", lhsChild), LocatorUtils.property(rightLocator, "child", rhsChild), lhsChild, rhsChild, leftObject.isSetChild(), rightObject.isSetChild())); target.unsetChild(); if (mergedChild!= null) { List<ReferenceType> uniqueChildl = target.getChild(); uniqueChildl.addAll(mergedChild); } } else { if (childShouldBeMergedAndSet == Boolean.FALSE) { target.unsetChild(); } } } { Boolean locationTypeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLocationType(), rightObject.isSetLocationType()); if (locationTypeShouldBeMergedAndSet == Boolean.TRUE) { ReferenceType lhsLocationType; lhsLocationType = leftObject.getLocationType(); ReferenceType rhsLocationType; rhsLocationType = rightObject.getLocationType(); ReferenceType mergedLocationType = ((ReferenceType) strategy.merge(LocatorUtils.property(leftLocator, "locationType", lhsLocationType), LocatorUtils.property(rightLocator, "locationType", rhsLocationType), lhsLocationType, rhsLocationType, leftObject.isSetLocationType(), rightObject.isSetLocationType())); target.setLocationType(mergedLocationType); } else { if (locationTypeShouldBeMergedAndSet == Boolean.FALSE) { target.locationType = null; } } } } } public void setGeographicExtent(List<GeometryPropertyType> value) { this.geographicExtent = null; if (value!= null) { List<GeometryPropertyType> draftl = this.getGeographicExtent(); draftl.addAll(value); } } public void setParent(List<ReferenceType> value) { this.parent = null; if (value!= null) { List<ReferenceType> draftl = this.getParent(); draftl.addAll(value); } } public void setChild(List<ReferenceType> value) { this.child = null; if (value!= null) { List<ReferenceType> draftl = this.getChild(); draftl.addAll(value); } } }