// // 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.gmd; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; import org.isotc211._2005.gco.CharacterStringPropertyType; 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 MD_DataIdentification_Type complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="MD_DataIdentification_Type"> * <complexContent> * <extension base="{http://www.isotc211.org/2005/gmd}AbstractMD_Identification_Type"> * <sequence> * <element name="spatialRepresentationType" type="{http://www.isotc211.org/2005/gmd}MD_SpatialRepresentationTypeCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="spatialResolution" type="{http://www.isotc211.org/2005/gmd}MD_Resolution_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="language" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" maxOccurs="unbounded"/> * <element name="characterSet" type="{http://www.isotc211.org/2005/gmd}MD_CharacterSetCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="topicCategory" type="{http://www.isotc211.org/2005/gmd}MD_TopicCategoryCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="environmentDescription" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/> * <element name="extent" type="{http://www.isotc211.org/2005/gmd}EX_Extent_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="supplementalInformation" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/> * </sequence> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "MD_DataIdentification_Type", propOrder = { "spatialRepresentationType", "spatialResolution", "language", "characterSet", "topicCategory", "environmentDescription", "extent", "supplementalInformation" }) public class MDDataIdentificationType extends AbstractMDIdentificationType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2 { private final static long serialVersionUID = 1L; @Valid protected List<MDSpatialRepresentationTypeCodePropertyType> spatialRepresentationType; @Valid protected List<MDResolutionPropertyType> spatialResolution; @XmlElement(required = true) @NotNull(message = "MDDataIdentificationType.language {javax.validation.constraints.NotNull.message}") @Size(min = 1) @Valid protected List<CharacterStringPropertyType> language; @Valid protected List<MDCharacterSetCodePropertyType> characterSet; @Valid protected List<MDTopicCategoryCodePropertyType> topicCategory; @Valid protected CharacterStringPropertyType environmentDescription; @Valid protected List<EXExtentPropertyType> extent; @Valid protected CharacterStringPropertyType supplementalInformation; /** * Gets the value of the spatialRepresentationType 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 spatialRepresentationType property. * * <p> * For example, to add a new item, do as follows: * <pre> * getSpatialRepresentationType().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MDSpatialRepresentationTypeCodePropertyType } * * */ public List<MDSpatialRepresentationTypeCodePropertyType> getSpatialRepresentationType() { if (spatialRepresentationType == null) { spatialRepresentationType = new ArrayList<MDSpatialRepresentationTypeCodePropertyType>(); } return this.spatialRepresentationType; } public boolean isSetSpatialRepresentationType() { return ((this.spatialRepresentationType!= null)&&(!this.spatialRepresentationType.isEmpty())); } public void unsetSpatialRepresentationType() { this.spatialRepresentationType = null; } /** * Gets the value of the spatialResolution 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 spatialResolution property. * * <p> * For example, to add a new item, do as follows: * <pre> * getSpatialResolution().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MDResolutionPropertyType } * * */ public List<MDResolutionPropertyType> getSpatialResolution() { if (spatialResolution == null) { spatialResolution = new ArrayList<MDResolutionPropertyType>(); } return this.spatialResolution; } public boolean isSetSpatialResolution() { return ((this.spatialResolution!= null)&&(!this.spatialResolution.isEmpty())); } public void unsetSpatialResolution() { this.spatialResolution = null; } /** * Gets the value of the language 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 language property. * * <p> * For example, to add a new item, do as follows: * <pre> * getLanguage().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link CharacterStringPropertyType } * * */ public List<CharacterStringPropertyType> getLanguage() { if (language == null) { language = new ArrayList<CharacterStringPropertyType>(); } return this.language; } public boolean isSetLanguage() { return ((this.language!= null)&&(!this.language.isEmpty())); } public void unsetLanguage() { this.language = null; } /** * Gets the value of the characterSet 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 characterSet property. * * <p> * For example, to add a new item, do as follows: * <pre> * getCharacterSet().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MDCharacterSetCodePropertyType } * * */ public List<MDCharacterSetCodePropertyType> getCharacterSet() { if (characterSet == null) { characterSet = new ArrayList<MDCharacterSetCodePropertyType>(); } return this.characterSet; } public boolean isSetCharacterSet() { return ((this.characterSet!= null)&&(!this.characterSet.isEmpty())); } public void unsetCharacterSet() { this.characterSet = null; } /** * Gets the value of the topicCategory 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 topicCategory property. * * <p> * For example, to add a new item, do as follows: * <pre> * getTopicCategory().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MDTopicCategoryCodePropertyType } * * */ public List<MDTopicCategoryCodePropertyType> getTopicCategory() { if (topicCategory == null) { topicCategory = new ArrayList<MDTopicCategoryCodePropertyType>(); } return this.topicCategory; } public boolean isSetTopicCategory() { return ((this.topicCategory!= null)&&(!this.topicCategory.isEmpty())); } public void unsetTopicCategory() { this.topicCategory = null; } /** * Gets the value of the environmentDescription property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getEnvironmentDescription() { return environmentDescription; } /** * Sets the value of the environmentDescription property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setEnvironmentDescription(CharacterStringPropertyType value) { this.environmentDescription = value; } public boolean isSetEnvironmentDescription() { return (this.environmentDescription!= null); } /** * Gets the value of the extent 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 extent property. * * <p> * For example, to add a new item, do as follows: * <pre> * getExtent().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link EXExtentPropertyType } * * */ public List<EXExtentPropertyType> getExtent() { if (extent == null) { extent = new ArrayList<EXExtentPropertyType>(); } return this.extent; } public boolean isSetExtent() { return ((this.extent!= null)&&(!this.extent.isEmpty())); } public void unsetExtent() { this.extent = null; } /** * Gets the value of the supplementalInformation property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getSupplementalInformation() { return supplementalInformation; } /** * Sets the value of the supplementalInformation property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setSupplementalInformation(CharacterStringPropertyType value) { this.supplementalInformation = value; } public boolean isSetSupplementalInformation() { return (this.supplementalInformation!= 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); { List<MDSpatialRepresentationTypeCodePropertyType> theSpatialRepresentationType; theSpatialRepresentationType = (this.isSetSpatialRepresentationType()?this.getSpatialRepresentationType():null); strategy.appendField(locator, this, "spatialRepresentationType", buffer, theSpatialRepresentationType, this.isSetSpatialRepresentationType()); } { List<MDResolutionPropertyType> theSpatialResolution; theSpatialResolution = (this.isSetSpatialResolution()?this.getSpatialResolution():null); strategy.appendField(locator, this, "spatialResolution", buffer, theSpatialResolution, this.isSetSpatialResolution()); } { List<CharacterStringPropertyType> theLanguage; theLanguage = (this.isSetLanguage()?this.getLanguage():null); strategy.appendField(locator, this, "language", buffer, theLanguage, this.isSetLanguage()); } { List<MDCharacterSetCodePropertyType> theCharacterSet; theCharacterSet = (this.isSetCharacterSet()?this.getCharacterSet():null); strategy.appendField(locator, this, "characterSet", buffer, theCharacterSet, this.isSetCharacterSet()); } { List<MDTopicCategoryCodePropertyType> theTopicCategory; theTopicCategory = (this.isSetTopicCategory()?this.getTopicCategory():null); strategy.appendField(locator, this, "topicCategory", buffer, theTopicCategory, this.isSetTopicCategory()); } { CharacterStringPropertyType theEnvironmentDescription; theEnvironmentDescription = this.getEnvironmentDescription(); strategy.appendField(locator, this, "environmentDescription", buffer, theEnvironmentDescription, this.isSetEnvironmentDescription()); } { List<EXExtentPropertyType> theExtent; theExtent = (this.isSetExtent()?this.getExtent():null); strategy.appendField(locator, this, "extent", buffer, theExtent, this.isSetExtent()); } { CharacterStringPropertyType theSupplementalInformation; theSupplementalInformation = this.getSupplementalInformation(); strategy.appendField(locator, this, "supplementalInformation", buffer, theSupplementalInformation, this.isSetSupplementalInformation()); } 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 MDDataIdentificationType that = ((MDDataIdentificationType) object); { List<MDSpatialRepresentationTypeCodePropertyType> lhsSpatialRepresentationType; lhsSpatialRepresentationType = (this.isSetSpatialRepresentationType()?this.getSpatialRepresentationType():null); List<MDSpatialRepresentationTypeCodePropertyType> rhsSpatialRepresentationType; rhsSpatialRepresentationType = (that.isSetSpatialRepresentationType()?that.getSpatialRepresentationType():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "spatialRepresentationType", lhsSpatialRepresentationType), LocatorUtils.property(thatLocator, "spatialRepresentationType", rhsSpatialRepresentationType), lhsSpatialRepresentationType, rhsSpatialRepresentationType, this.isSetSpatialRepresentationType(), that.isSetSpatialRepresentationType())) { return false; } } { List<MDResolutionPropertyType> lhsSpatialResolution; lhsSpatialResolution = (this.isSetSpatialResolution()?this.getSpatialResolution():null); List<MDResolutionPropertyType> rhsSpatialResolution; rhsSpatialResolution = (that.isSetSpatialResolution()?that.getSpatialResolution():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "spatialResolution", lhsSpatialResolution), LocatorUtils.property(thatLocator, "spatialResolution", rhsSpatialResolution), lhsSpatialResolution, rhsSpatialResolution, this.isSetSpatialResolution(), that.isSetSpatialResolution())) { return false; } } { List<CharacterStringPropertyType> lhsLanguage; lhsLanguage = (this.isSetLanguage()?this.getLanguage():null); List<CharacterStringPropertyType> rhsLanguage; rhsLanguage = (that.isSetLanguage()?that.getLanguage():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "language", lhsLanguage), LocatorUtils.property(thatLocator, "language", rhsLanguage), lhsLanguage, rhsLanguage, this.isSetLanguage(), that.isSetLanguage())) { return false; } } { List<MDCharacterSetCodePropertyType> lhsCharacterSet; lhsCharacterSet = (this.isSetCharacterSet()?this.getCharacterSet():null); List<MDCharacterSetCodePropertyType> rhsCharacterSet; rhsCharacterSet = (that.isSetCharacterSet()?that.getCharacterSet():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "characterSet", lhsCharacterSet), LocatorUtils.property(thatLocator, "characterSet", rhsCharacterSet), lhsCharacterSet, rhsCharacterSet, this.isSetCharacterSet(), that.isSetCharacterSet())) { return false; } } { List<MDTopicCategoryCodePropertyType> lhsTopicCategory; lhsTopicCategory = (this.isSetTopicCategory()?this.getTopicCategory():null); List<MDTopicCategoryCodePropertyType> rhsTopicCategory; rhsTopicCategory = (that.isSetTopicCategory()?that.getTopicCategory():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "topicCategory", lhsTopicCategory), LocatorUtils.property(thatLocator, "topicCategory", rhsTopicCategory), lhsTopicCategory, rhsTopicCategory, this.isSetTopicCategory(), that.isSetTopicCategory())) { return false; } } { CharacterStringPropertyType lhsEnvironmentDescription; lhsEnvironmentDescription = this.getEnvironmentDescription(); CharacterStringPropertyType rhsEnvironmentDescription; rhsEnvironmentDescription = that.getEnvironmentDescription(); if (!strategy.equals(LocatorUtils.property(thisLocator, "environmentDescription", lhsEnvironmentDescription), LocatorUtils.property(thatLocator, "environmentDescription", rhsEnvironmentDescription), lhsEnvironmentDescription, rhsEnvironmentDescription, this.isSetEnvironmentDescription(), that.isSetEnvironmentDescription())) { return false; } } { List<EXExtentPropertyType> lhsExtent; lhsExtent = (this.isSetExtent()?this.getExtent():null); List<EXExtentPropertyType> rhsExtent; rhsExtent = (that.isSetExtent()?that.getExtent():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "extent", lhsExtent), LocatorUtils.property(thatLocator, "extent", rhsExtent), lhsExtent, rhsExtent, this.isSetExtent(), that.isSetExtent())) { return false; } } { CharacterStringPropertyType lhsSupplementalInformation; lhsSupplementalInformation = this.getSupplementalInformation(); CharacterStringPropertyType rhsSupplementalInformation; rhsSupplementalInformation = that.getSupplementalInformation(); if (!strategy.equals(LocatorUtils.property(thisLocator, "supplementalInformation", lhsSupplementalInformation), LocatorUtils.property(thatLocator, "supplementalInformation", rhsSupplementalInformation), lhsSupplementalInformation, rhsSupplementalInformation, this.isSetSupplementalInformation(), that.isSetSupplementalInformation())) { 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); { List<MDSpatialRepresentationTypeCodePropertyType> theSpatialRepresentationType; theSpatialRepresentationType = (this.isSetSpatialRepresentationType()?this.getSpatialRepresentationType():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "spatialRepresentationType", theSpatialRepresentationType), currentHashCode, theSpatialRepresentationType, this.isSetSpatialRepresentationType()); } { List<MDResolutionPropertyType> theSpatialResolution; theSpatialResolution = (this.isSetSpatialResolution()?this.getSpatialResolution():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "spatialResolution", theSpatialResolution), currentHashCode, theSpatialResolution, this.isSetSpatialResolution()); } { List<CharacterStringPropertyType> theLanguage; theLanguage = (this.isSetLanguage()?this.getLanguage():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "language", theLanguage), currentHashCode, theLanguage, this.isSetLanguage()); } { List<MDCharacterSetCodePropertyType> theCharacterSet; theCharacterSet = (this.isSetCharacterSet()?this.getCharacterSet():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "characterSet", theCharacterSet), currentHashCode, theCharacterSet, this.isSetCharacterSet()); } { List<MDTopicCategoryCodePropertyType> theTopicCategory; theTopicCategory = (this.isSetTopicCategory()?this.getTopicCategory():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "topicCategory", theTopicCategory), currentHashCode, theTopicCategory, this.isSetTopicCategory()); } { CharacterStringPropertyType theEnvironmentDescription; theEnvironmentDescription = this.getEnvironmentDescription(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "environmentDescription", theEnvironmentDescription), currentHashCode, theEnvironmentDescription, this.isSetEnvironmentDescription()); } { List<EXExtentPropertyType> theExtent; theExtent = (this.isSetExtent()?this.getExtent():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "extent", theExtent), currentHashCode, theExtent, this.isSetExtent()); } { CharacterStringPropertyType theSupplementalInformation; theSupplementalInformation = this.getSupplementalInformation(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "supplementalInformation", theSupplementalInformation), currentHashCode, theSupplementalInformation, this.isSetSupplementalInformation()); } 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 MDDataIdentificationType) { final MDDataIdentificationType copy = ((MDDataIdentificationType) draftCopy); { Boolean spatialRepresentationTypeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetSpatialRepresentationType()); if (spatialRepresentationTypeShouldBeCopiedAndSet == Boolean.TRUE) { List<MDSpatialRepresentationTypeCodePropertyType> sourceSpatialRepresentationType; sourceSpatialRepresentationType = (this.isSetSpatialRepresentationType()?this.getSpatialRepresentationType():null); @SuppressWarnings("unchecked") List<MDSpatialRepresentationTypeCodePropertyType> copySpatialRepresentationType = ((List<MDSpatialRepresentationTypeCodePropertyType> ) strategy.copy(LocatorUtils.property(locator, "spatialRepresentationType", sourceSpatialRepresentationType), sourceSpatialRepresentationType, this.isSetSpatialRepresentationType())); copy.unsetSpatialRepresentationType(); if (copySpatialRepresentationType!= null) { List<MDSpatialRepresentationTypeCodePropertyType> uniqueSpatialRepresentationTypel = copy.getSpatialRepresentationType(); uniqueSpatialRepresentationTypel.addAll(copySpatialRepresentationType); } } else { if (spatialRepresentationTypeShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetSpatialRepresentationType(); } } } { Boolean spatialResolutionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetSpatialResolution()); if (spatialResolutionShouldBeCopiedAndSet == Boolean.TRUE) { List<MDResolutionPropertyType> sourceSpatialResolution; sourceSpatialResolution = (this.isSetSpatialResolution()?this.getSpatialResolution():null); @SuppressWarnings("unchecked") List<MDResolutionPropertyType> copySpatialResolution = ((List<MDResolutionPropertyType> ) strategy.copy(LocatorUtils.property(locator, "spatialResolution", sourceSpatialResolution), sourceSpatialResolution, this.isSetSpatialResolution())); copy.unsetSpatialResolution(); if (copySpatialResolution!= null) { List<MDResolutionPropertyType> uniqueSpatialResolutionl = copy.getSpatialResolution(); uniqueSpatialResolutionl.addAll(copySpatialResolution); } } else { if (spatialResolutionShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetSpatialResolution(); } } } { Boolean languageShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLanguage()); if (languageShouldBeCopiedAndSet == Boolean.TRUE) { List<CharacterStringPropertyType> sourceLanguage; sourceLanguage = (this.isSetLanguage()?this.getLanguage():null); @SuppressWarnings("unchecked") List<CharacterStringPropertyType> copyLanguage = ((List<CharacterStringPropertyType> ) strategy.copy(LocatorUtils.property(locator, "language", sourceLanguage), sourceLanguage, this.isSetLanguage())); copy.unsetLanguage(); if (copyLanguage!= null) { List<CharacterStringPropertyType> uniqueLanguagel = copy.getLanguage(); uniqueLanguagel.addAll(copyLanguage); } } else { if (languageShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetLanguage(); } } } { Boolean characterSetShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetCharacterSet()); if (characterSetShouldBeCopiedAndSet == Boolean.TRUE) { List<MDCharacterSetCodePropertyType> sourceCharacterSet; sourceCharacterSet = (this.isSetCharacterSet()?this.getCharacterSet():null); @SuppressWarnings("unchecked") List<MDCharacterSetCodePropertyType> copyCharacterSet = ((List<MDCharacterSetCodePropertyType> ) strategy.copy(LocatorUtils.property(locator, "characterSet", sourceCharacterSet), sourceCharacterSet, this.isSetCharacterSet())); copy.unsetCharacterSet(); if (copyCharacterSet!= null) { List<MDCharacterSetCodePropertyType> uniqueCharacterSetl = copy.getCharacterSet(); uniqueCharacterSetl.addAll(copyCharacterSet); } } else { if (characterSetShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetCharacterSet(); } } } { Boolean topicCategoryShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetTopicCategory()); if (topicCategoryShouldBeCopiedAndSet == Boolean.TRUE) { List<MDTopicCategoryCodePropertyType> sourceTopicCategory; sourceTopicCategory = (this.isSetTopicCategory()?this.getTopicCategory():null); @SuppressWarnings("unchecked") List<MDTopicCategoryCodePropertyType> copyTopicCategory = ((List<MDTopicCategoryCodePropertyType> ) strategy.copy(LocatorUtils.property(locator, "topicCategory", sourceTopicCategory), sourceTopicCategory, this.isSetTopicCategory())); copy.unsetTopicCategory(); if (copyTopicCategory!= null) { List<MDTopicCategoryCodePropertyType> uniqueTopicCategoryl = copy.getTopicCategory(); uniqueTopicCategoryl.addAll(copyTopicCategory); } } else { if (topicCategoryShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetTopicCategory(); } } } { Boolean environmentDescriptionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetEnvironmentDescription()); if (environmentDescriptionShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceEnvironmentDescription; sourceEnvironmentDescription = this.getEnvironmentDescription(); CharacterStringPropertyType copyEnvironmentDescription = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "environmentDescription", sourceEnvironmentDescription), sourceEnvironmentDescription, this.isSetEnvironmentDescription())); copy.setEnvironmentDescription(copyEnvironmentDescription); } else { if (environmentDescriptionShouldBeCopiedAndSet == Boolean.FALSE) { copy.environmentDescription = null; } } } { Boolean extentShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetExtent()); if (extentShouldBeCopiedAndSet == Boolean.TRUE) { List<EXExtentPropertyType> sourceExtent; sourceExtent = (this.isSetExtent()?this.getExtent():null); @SuppressWarnings("unchecked") List<EXExtentPropertyType> copyExtent = ((List<EXExtentPropertyType> ) strategy.copy(LocatorUtils.property(locator, "extent", sourceExtent), sourceExtent, this.isSetExtent())); copy.unsetExtent(); if (copyExtent!= null) { List<EXExtentPropertyType> uniqueExtentl = copy.getExtent(); uniqueExtentl.addAll(copyExtent); } } else { if (extentShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetExtent(); } } } { Boolean supplementalInformationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetSupplementalInformation()); if (supplementalInformationShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceSupplementalInformation; sourceSupplementalInformation = this.getSupplementalInformation(); CharacterStringPropertyType copySupplementalInformation = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "supplementalInformation", sourceSupplementalInformation), sourceSupplementalInformation, this.isSetSupplementalInformation())); copy.setSupplementalInformation(copySupplementalInformation); } else { if (supplementalInformationShouldBeCopiedAndSet == Boolean.FALSE) { copy.supplementalInformation = null; } } } } return draftCopy; } public Object createNewInstance() { return new MDDataIdentificationType(); } 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 MDDataIdentificationType) { final MDDataIdentificationType target = this; final MDDataIdentificationType leftObject = ((MDDataIdentificationType) left); final MDDataIdentificationType rightObject = ((MDDataIdentificationType) right); { Boolean spatialRepresentationTypeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetSpatialRepresentationType(), rightObject.isSetSpatialRepresentationType()); if (spatialRepresentationTypeShouldBeMergedAndSet == Boolean.TRUE) { List<MDSpatialRepresentationTypeCodePropertyType> lhsSpatialRepresentationType; lhsSpatialRepresentationType = (leftObject.isSetSpatialRepresentationType()?leftObject.getSpatialRepresentationType():null); List<MDSpatialRepresentationTypeCodePropertyType> rhsSpatialRepresentationType; rhsSpatialRepresentationType = (rightObject.isSetSpatialRepresentationType()?rightObject.getSpatialRepresentationType():null); List<MDSpatialRepresentationTypeCodePropertyType> mergedSpatialRepresentationType = ((List<MDSpatialRepresentationTypeCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "spatialRepresentationType", lhsSpatialRepresentationType), LocatorUtils.property(rightLocator, "spatialRepresentationType", rhsSpatialRepresentationType), lhsSpatialRepresentationType, rhsSpatialRepresentationType, leftObject.isSetSpatialRepresentationType(), rightObject.isSetSpatialRepresentationType())); target.unsetSpatialRepresentationType(); if (mergedSpatialRepresentationType!= null) { List<MDSpatialRepresentationTypeCodePropertyType> uniqueSpatialRepresentationTypel = target.getSpatialRepresentationType(); uniqueSpatialRepresentationTypel.addAll(mergedSpatialRepresentationType); } } else { if (spatialRepresentationTypeShouldBeMergedAndSet == Boolean.FALSE) { target.unsetSpatialRepresentationType(); } } } { Boolean spatialResolutionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetSpatialResolution(), rightObject.isSetSpatialResolution()); if (spatialResolutionShouldBeMergedAndSet == Boolean.TRUE) { List<MDResolutionPropertyType> lhsSpatialResolution; lhsSpatialResolution = (leftObject.isSetSpatialResolution()?leftObject.getSpatialResolution():null); List<MDResolutionPropertyType> rhsSpatialResolution; rhsSpatialResolution = (rightObject.isSetSpatialResolution()?rightObject.getSpatialResolution():null); List<MDResolutionPropertyType> mergedSpatialResolution = ((List<MDResolutionPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "spatialResolution", lhsSpatialResolution), LocatorUtils.property(rightLocator, "spatialResolution", rhsSpatialResolution), lhsSpatialResolution, rhsSpatialResolution, leftObject.isSetSpatialResolution(), rightObject.isSetSpatialResolution())); target.unsetSpatialResolution(); if (mergedSpatialResolution!= null) { List<MDResolutionPropertyType> uniqueSpatialResolutionl = target.getSpatialResolution(); uniqueSpatialResolutionl.addAll(mergedSpatialResolution); } } else { if (spatialResolutionShouldBeMergedAndSet == Boolean.FALSE) { target.unsetSpatialResolution(); } } } { Boolean languageShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLanguage(), rightObject.isSetLanguage()); if (languageShouldBeMergedAndSet == Boolean.TRUE) { List<CharacterStringPropertyType> lhsLanguage; lhsLanguage = (leftObject.isSetLanguage()?leftObject.getLanguage():null); List<CharacterStringPropertyType> rhsLanguage; rhsLanguage = (rightObject.isSetLanguage()?rightObject.getLanguage():null); List<CharacterStringPropertyType> mergedLanguage = ((List<CharacterStringPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "language", lhsLanguage), LocatorUtils.property(rightLocator, "language", rhsLanguage), lhsLanguage, rhsLanguage, leftObject.isSetLanguage(), rightObject.isSetLanguage())); target.unsetLanguage(); if (mergedLanguage!= null) { List<CharacterStringPropertyType> uniqueLanguagel = target.getLanguage(); uniqueLanguagel.addAll(mergedLanguage); } } else { if (languageShouldBeMergedAndSet == Boolean.FALSE) { target.unsetLanguage(); } } } { Boolean characterSetShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetCharacterSet(), rightObject.isSetCharacterSet()); if (characterSetShouldBeMergedAndSet == Boolean.TRUE) { List<MDCharacterSetCodePropertyType> lhsCharacterSet; lhsCharacterSet = (leftObject.isSetCharacterSet()?leftObject.getCharacterSet():null); List<MDCharacterSetCodePropertyType> rhsCharacterSet; rhsCharacterSet = (rightObject.isSetCharacterSet()?rightObject.getCharacterSet():null); List<MDCharacterSetCodePropertyType> mergedCharacterSet = ((List<MDCharacterSetCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "characterSet", lhsCharacterSet), LocatorUtils.property(rightLocator, "characterSet", rhsCharacterSet), lhsCharacterSet, rhsCharacterSet, leftObject.isSetCharacterSet(), rightObject.isSetCharacterSet())); target.unsetCharacterSet(); if (mergedCharacterSet!= null) { List<MDCharacterSetCodePropertyType> uniqueCharacterSetl = target.getCharacterSet(); uniqueCharacterSetl.addAll(mergedCharacterSet); } } else { if (characterSetShouldBeMergedAndSet == Boolean.FALSE) { target.unsetCharacterSet(); } } } { Boolean topicCategoryShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetTopicCategory(), rightObject.isSetTopicCategory()); if (topicCategoryShouldBeMergedAndSet == Boolean.TRUE) { List<MDTopicCategoryCodePropertyType> lhsTopicCategory; lhsTopicCategory = (leftObject.isSetTopicCategory()?leftObject.getTopicCategory():null); List<MDTopicCategoryCodePropertyType> rhsTopicCategory; rhsTopicCategory = (rightObject.isSetTopicCategory()?rightObject.getTopicCategory():null); List<MDTopicCategoryCodePropertyType> mergedTopicCategory = ((List<MDTopicCategoryCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "topicCategory", lhsTopicCategory), LocatorUtils.property(rightLocator, "topicCategory", rhsTopicCategory), lhsTopicCategory, rhsTopicCategory, leftObject.isSetTopicCategory(), rightObject.isSetTopicCategory())); target.unsetTopicCategory(); if (mergedTopicCategory!= null) { List<MDTopicCategoryCodePropertyType> uniqueTopicCategoryl = target.getTopicCategory(); uniqueTopicCategoryl.addAll(mergedTopicCategory); } } else { if (topicCategoryShouldBeMergedAndSet == Boolean.FALSE) { target.unsetTopicCategory(); } } } { Boolean environmentDescriptionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetEnvironmentDescription(), rightObject.isSetEnvironmentDescription()); if (environmentDescriptionShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsEnvironmentDescription; lhsEnvironmentDescription = leftObject.getEnvironmentDescription(); CharacterStringPropertyType rhsEnvironmentDescription; rhsEnvironmentDescription = rightObject.getEnvironmentDescription(); CharacterStringPropertyType mergedEnvironmentDescription = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "environmentDescription", lhsEnvironmentDescription), LocatorUtils.property(rightLocator, "environmentDescription", rhsEnvironmentDescription), lhsEnvironmentDescription, rhsEnvironmentDescription, leftObject.isSetEnvironmentDescription(), rightObject.isSetEnvironmentDescription())); target.setEnvironmentDescription(mergedEnvironmentDescription); } else { if (environmentDescriptionShouldBeMergedAndSet == Boolean.FALSE) { target.environmentDescription = null; } } } { Boolean extentShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetExtent(), rightObject.isSetExtent()); if (extentShouldBeMergedAndSet == Boolean.TRUE) { List<EXExtentPropertyType> lhsExtent; lhsExtent = (leftObject.isSetExtent()?leftObject.getExtent():null); List<EXExtentPropertyType> rhsExtent; rhsExtent = (rightObject.isSetExtent()?rightObject.getExtent():null); List<EXExtentPropertyType> mergedExtent = ((List<EXExtentPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "extent", lhsExtent), LocatorUtils.property(rightLocator, "extent", rhsExtent), lhsExtent, rhsExtent, leftObject.isSetExtent(), rightObject.isSetExtent())); target.unsetExtent(); if (mergedExtent!= null) { List<EXExtentPropertyType> uniqueExtentl = target.getExtent(); uniqueExtentl.addAll(mergedExtent); } } else { if (extentShouldBeMergedAndSet == Boolean.FALSE) { target.unsetExtent(); } } } { Boolean supplementalInformationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetSupplementalInformation(), rightObject.isSetSupplementalInformation()); if (supplementalInformationShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsSupplementalInformation; lhsSupplementalInformation = leftObject.getSupplementalInformation(); CharacterStringPropertyType rhsSupplementalInformation; rhsSupplementalInformation = rightObject.getSupplementalInformation(); CharacterStringPropertyType mergedSupplementalInformation = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "supplementalInformation", lhsSupplementalInformation), LocatorUtils.property(rightLocator, "supplementalInformation", rhsSupplementalInformation), lhsSupplementalInformation, rhsSupplementalInformation, leftObject.isSetSupplementalInformation(), rightObject.isSetSupplementalInformation())); target.setSupplementalInformation(mergedSupplementalInformation); } else { if (supplementalInformationShouldBeMergedAndSet == Boolean.FALSE) { target.supplementalInformation = null; } } } } } public void setSpatialRepresentationType(List<MDSpatialRepresentationTypeCodePropertyType> value) { this.spatialRepresentationType = null; if (value!= null) { List<MDSpatialRepresentationTypeCodePropertyType> draftl = this.getSpatialRepresentationType(); draftl.addAll(value); } } public void setSpatialResolution(List<MDResolutionPropertyType> value) { this.spatialResolution = null; if (value!= null) { List<MDResolutionPropertyType> draftl = this.getSpatialResolution(); draftl.addAll(value); } } public void setLanguage(List<CharacterStringPropertyType> value) { this.language = null; if (value!= null) { List<CharacterStringPropertyType> draftl = this.getLanguage(); draftl.addAll(value); } } public void setCharacterSet(List<MDCharacterSetCodePropertyType> value) { this.characterSet = null; if (value!= null) { List<MDCharacterSetCodePropertyType> draftl = this.getCharacterSet(); draftl.addAll(value); } } public void setTopicCategory(List<MDTopicCategoryCodePropertyType> value) { this.topicCategory = null; if (value!= null) { List<MDTopicCategoryCodePropertyType> draftl = this.getTopicCategory(); draftl.addAll(value); } } public void setExtent(List<EXExtentPropertyType> value) { this.extent = null; if (value!= null) { List<EXExtentPropertyType> draftl = this.getExtent(); draftl.addAll(value); } } }