// // 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._2005.gco; import java.io.Serializable; import javax.validation.constraints.Pattern; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlID; import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.isotc211._2005.gmd.AbstractDQElementType; import org.isotc211._2005.gmd.AbstractDQResultType; import org.isotc211._2005.gmd.AbstractDSAggregateType; import org.isotc211._2005.gmd.AbstractEXGeographicExtentType; import org.isotc211._2005.gmd.AbstractMDContentInformationType; import org.isotc211._2005.gmd.AbstractMDIdentificationType; import org.isotc211._2005.gmd.AbstractMDSpatialRepresentationType; import org.isotc211._2005.gmd.AbstractRSReferenceSystemType; import org.isotc211._2005.gmd.CIAddressType; import org.isotc211._2005.gmd.CICitationType; import org.isotc211._2005.gmd.CIContactType; import org.isotc211._2005.gmd.CIDateType; import org.isotc211._2005.gmd.CIOnlineResourceType; import org.isotc211._2005.gmd.CIResponsiblePartyType; import org.isotc211._2005.gmd.CISeriesType; import org.isotc211._2005.gmd.CITelephoneType; import org.isotc211._2005.gmd.DQDataQualityType; import org.isotc211._2005.gmd.DQScopeType; import org.isotc211._2005.gmd.DSAssociationType; import org.isotc211._2005.gmd.DSDataSetType; import org.isotc211._2005.gmd.EXExtentType; import org.isotc211._2005.gmd.EXTemporalExtentType; import org.isotc211._2005.gmd.EXVerticalExtentType; import org.isotc211._2005.gmd.LILineageType; import org.isotc211._2005.gmd.LIProcessStepType; import org.isotc211._2005.gmd.LISourceType; import org.isotc211._2005.gmd.MDAggregateInformationType; import org.isotc211._2005.gmd.MDApplicationSchemaInformationType; import org.isotc211._2005.gmd.MDBrowseGraphicType; import org.isotc211._2005.gmd.MDConstraintsType; import org.isotc211._2005.gmd.MDDigitalTransferOptionsType; import org.isotc211._2005.gmd.MDDimensionType; import org.isotc211._2005.gmd.MDDistributionType; import org.isotc211._2005.gmd.MDDistributorType; import org.isotc211._2005.gmd.MDExtendedElementInformationType; import org.isotc211._2005.gmd.MDFormatType; import org.isotc211._2005.gmd.MDGeometricObjectsType; import org.isotc211._2005.gmd.MDIdentifierType; import org.isotc211._2005.gmd.MDKeywordsType; import org.isotc211._2005.gmd.MDMaintenanceInformationType; import org.isotc211._2005.gmd.MDMediumType; import org.isotc211._2005.gmd.MDMetadataExtensionInformationType; import org.isotc211._2005.gmd.MDMetadataType; import org.isotc211._2005.gmd.MDPortrayalCatalogueReferenceType; import org.isotc211._2005.gmd.MDRangeDimensionType; import org.isotc211._2005.gmd.MDReferenceSystemType; import org.isotc211._2005.gmd.MDRepresentativeFractionType; import org.isotc211._2005.gmd.MDStandardOrderProcessType; import org.isotc211._2005.gmd.MDUsageType; import org.isotc211._2005.gmd.PTFreeTextType; import org.isotc211._2005.gmd.PTLocaleType; 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; /** * <p>Java class for AbstractObject_Type complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="AbstractObject_Type"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * </sequence> * <attGroup ref="{http://www.isotc211.org/2005/gco}ObjectIdentification"/> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "AbstractObject_Type") @XmlSeeAlso({ EXVerticalExtentType.class, EXExtentType.class, EXTemporalExtentType.class, AbstractEXGeographicExtentType.class, MDIdentifierType.class, MDReferenceSystemType.class, AbstractRSReferenceSystemType.class, CIResponsiblePartyType.class, CICitationType.class, CIAddressType.class, CIOnlineResourceType.class, CIContactType.class, CITelephoneType.class, CIDateType.class, CISeriesType.class, MDDimensionType.class, AbstractMDSpatialRepresentationType.class, MDGeometricObjectsType.class, MDExtendedElementInformationType.class, MDMetadataExtensionInformationType.class, AbstractMDContentInformationType.class, MDRangeDimensionType.class, MDApplicationSchemaInformationType.class, MDPortrayalCatalogueReferenceType.class, MDConstraintsType.class, MDMediumType.class, MDDigitalTransferOptionsType.class, MDStandardOrderProcessType.class, MDDistributorType.class, MDDistributionType.class, MDFormatType.class, MDMaintenanceInformationType.class, MDBrowseGraphicType.class, AbstractMDIdentificationType.class, MDRepresentativeFractionType.class, MDUsageType.class, MDKeywordsType.class, DSAssociationType.class, MDAggregateInformationType.class, LIProcessStepType.class, LISourceType.class, LILineageType.class, AbstractDQResultType.class, AbstractDQElementType.class, DQDataQualityType.class, DQScopeType.class, PTFreeTextType.class, PTLocaleType.class, MDMetadataType.class, DSDataSetType.class, AbstractDSAggregateType.class, TypeNameType.class, MemberNameType.class, MultiplicityType.class, MultiplicityRangeType.class }) public abstract class AbstractObjectType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2 { private final static long serialVersionUID = 1L; @XmlAttribute(name = "id") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlID @XmlSchemaType(name = "ID") @Pattern(regexp = "[[_:A-Za-z]-[:]][[-._:A-Za-z0-9]-[:]]*") protected String id; @XmlAttribute(name = "uuid") protected String uuid; /** * Gets the value of the id property. * * @return * possible object is * {@link String } * */ public String getId() { return id; } /** * Sets the value of the id property. * * @param value * allowed object is * {@link String } * */ public void setId(String value) { this.id = value; } public boolean isSetId() { return (this.id!= null); } /** * Gets the value of the uuid property. * * @return * possible object is * {@link String } * */ public String getUuid() { return uuid; } /** * Sets the value of the uuid property. * * @param value * allowed object is * {@link String } * */ public void setUuid(String value) { this.uuid = value; } public boolean isSetUuid() { return (this.uuid!= 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) { { String theId; theId = this.getId(); strategy.appendField(locator, this, "id", buffer, theId, this.isSetId()); } { String theUuid; theUuid = this.getUuid(); strategy.appendField(locator, this, "uuid", buffer, theUuid, this.isSetUuid()); } 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 AbstractObjectType that = ((AbstractObjectType) object); { String lhsId; lhsId = this.getId(); String rhsId; rhsId = that.getId(); if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId, this.isSetId(), that.isSetId())) { return false; } } { String lhsUuid; lhsUuid = this.getUuid(); String rhsUuid; rhsUuid = that.getUuid(); if (!strategy.equals(LocatorUtils.property(thisLocator, "uuid", lhsUuid), LocatorUtils.property(thatLocator, "uuid", rhsUuid), lhsUuid, rhsUuid, this.isSetUuid(), that.isSetUuid())) { 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; { String theId; theId = this.getId(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId, this.isSetId()); } { String theUuid; theUuid = this.getUuid(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "uuid", theUuid), currentHashCode, theUuid, this.isSetUuid()); } 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) { if (null == target) { throw new IllegalArgumentException("Target argument must not be null for abstract copyable classes."); } if (target instanceof AbstractObjectType) { final AbstractObjectType copy = ((AbstractObjectType) target); { Boolean idShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetId()); if (idShouldBeCopiedAndSet == Boolean.TRUE) { String sourceId; sourceId = this.getId(); String copyId = ((String) strategy.copy(LocatorUtils.property(locator, "id", sourceId), sourceId, this.isSetId())); copy.setId(copyId); } else { if (idShouldBeCopiedAndSet == Boolean.FALSE) { copy.id = null; } } } { Boolean uuidShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetUuid()); if (uuidShouldBeCopiedAndSet == Boolean.TRUE) { String sourceUuid; sourceUuid = this.getUuid(); String copyUuid = ((String) strategy.copy(LocatorUtils.property(locator, "uuid", sourceUuid), sourceUuid, this.isSetUuid())); copy.setUuid(copyUuid); } else { if (uuidShouldBeCopiedAndSet == Boolean.FALSE) { copy.uuid = null; } } } } return target; } 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 AbstractObjectType) { final AbstractObjectType target = this; final AbstractObjectType leftObject = ((AbstractObjectType) left); final AbstractObjectType rightObject = ((AbstractObjectType) right); { Boolean idShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetId(), rightObject.isSetId()); if (idShouldBeMergedAndSet == Boolean.TRUE) { String lhsId; lhsId = leftObject.getId(); String rhsId; rhsId = rightObject.getId(); String mergedId = ((String) strategy.merge(LocatorUtils.property(leftLocator, "id", lhsId), LocatorUtils.property(rightLocator, "id", rhsId), lhsId, rhsId, leftObject.isSetId(), rightObject.isSetId())); target.setId(mergedId); } else { if (idShouldBeMergedAndSet == Boolean.FALSE) { target.id = null; } } } { Boolean uuidShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetUuid(), rightObject.isSetUuid()); if (uuidShouldBeMergedAndSet == Boolean.TRUE) { String lhsUuid; lhsUuid = leftObject.getUuid(); String rhsUuid; rhsUuid = rightObject.getUuid(); String mergedUuid = ((String) strategy.merge(LocatorUtils.property(leftLocator, "uuid", lhsUuid), LocatorUtils.property(rightLocator, "uuid", rhsUuid), lhsUuid, rhsUuid, leftObject.isSetUuid(), rightObject.isSetUuid())); target.setUuid(mergedUuid); } else { if (uuidShouldBeMergedAndSet == Boolean.FALSE) { target.uuid = null; } } } } } }