//
// 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.AbstractObjectType;
import org.isotc211._2005.gco.CharacterStringPropertyType;
import org.isotc211._2005.gco.DatePropertyType;
import org.isotc211._2005.gco.ObjectReferencePropertyType;
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;
/**
* Information about the metadata
*
* <p>Java class for MD_Metadata_Type complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="MD_Metadata_Type">
* <complexContent>
* <extension base="{http://www.isotc211.org/2005/gco}AbstractObject_Type">
* <sequence>
* <element name="fileIdentifier" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="language" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="characterSet" type="{http://www.isotc211.org/2005/gmd}MD_CharacterSetCode_PropertyType" minOccurs="0"/>
* <element name="parentIdentifier" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="hierarchyLevel" type="{http://www.isotc211.org/2005/gmd}MD_ScopeCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="hierarchyLevelName" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="contact" type="{http://www.isotc211.org/2005/gmd}CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/>
* <element name="dateStamp" type="{http://www.isotc211.org/2005/gco}Date_PropertyType"/>
* <element name="metadataStandardName" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="metadataStandardVersion" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="dataSetURI" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="locale" type="{http://www.isotc211.org/2005/gmd}PT_Locale_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="spatialRepresentationInfo" type="{http://www.isotc211.org/2005/gmd}MD_SpatialRepresentation_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="referenceSystemInfo" type="{http://www.isotc211.org/2005/gmd}MD_ReferenceSystem_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="metadataExtensionInfo" type="{http://www.isotc211.org/2005/gmd}MD_MetadataExtensionInformation_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="identificationInfo" type="{http://www.isotc211.org/2005/gmd}MD_Identification_PropertyType" maxOccurs="unbounded"/>
* <element name="contentInfo" type="{http://www.isotc211.org/2005/gmd}MD_ContentInformation_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="distributionInfo" type="{http://www.isotc211.org/2005/gmd}MD_Distribution_PropertyType" minOccurs="0"/>
* <element name="dataQualityInfo" type="{http://www.isotc211.org/2005/gmd}DQ_DataQuality_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="portrayalCatalogueInfo" type="{http://www.isotc211.org/2005/gmd}MD_PortrayalCatalogueReference_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="metadataConstraints" type="{http://www.isotc211.org/2005/gmd}MD_Constraints_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="applicationSchemaInfo" type="{http://www.isotc211.org/2005/gmd}MD_ApplicationSchemaInformation_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="metadataMaintenance" type="{http://www.isotc211.org/2005/gmd}MD_MaintenanceInformation_PropertyType" minOccurs="0"/>
* <element name="series" type="{http://www.isotc211.org/2005/gmd}DS_Aggregate_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="describes" type="{http://www.isotc211.org/2005/gmd}DS_DataSet_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="propertyType" type="{http://www.isotc211.org/2005/gco}ObjectReference_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="featureType" type="{http://www.isotc211.org/2005/gco}ObjectReference_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="featureAttribute" type="{http://www.isotc211.org/2005/gco}ObjectReference_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MD_Metadata_Type", propOrder = {
"fileIdentifier",
"language",
"characterSet",
"parentIdentifier",
"hierarchyLevel",
"hierarchyLevelName",
"contact",
"dateStamp",
"metadataStandardName",
"metadataStandardVersion",
"dataSetURI",
"locale",
"spatialRepresentationInfo",
"referenceSystemInfo",
"metadataExtensionInfo",
"identificationInfo",
"contentInfo",
"distributionInfo",
"dataQualityInfo",
"portrayalCatalogueInfo",
"metadataConstraints",
"applicationSchemaInfo",
"metadataMaintenance",
"series",
"describes",
"propertyType",
"featureType",
"featureAttribute"
})
public class MDMetadataType
extends AbstractObjectType
implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@Valid
protected CharacterStringPropertyType fileIdentifier;
@Valid
protected CharacterStringPropertyType language;
@Valid
protected MDCharacterSetCodePropertyType characterSet;
@Valid
protected CharacterStringPropertyType parentIdentifier;
@Valid
protected List<MDScopeCodePropertyType> hierarchyLevel;
@Valid
protected List<CharacterStringPropertyType> hierarchyLevelName;
@XmlElement(required = true)
@NotNull(message = "MDMetadataType.contact {javax.validation.constraints.NotNull.message}")
@Size(min = 1)
@Valid
protected List<CIResponsiblePartyPropertyType> contact;
@XmlElement(required = true)
@NotNull(message = "MDMetadataType.dateStamp {javax.validation.constraints.NotNull.message}")
@Valid
protected DatePropertyType dateStamp;
@Valid
protected CharacterStringPropertyType metadataStandardName;
@Valid
protected CharacterStringPropertyType metadataStandardVersion;
@Valid
protected CharacterStringPropertyType dataSetURI;
@Valid
protected List<PTLocalePropertyType> locale;
@Valid
protected List<MDSpatialRepresentationPropertyType> spatialRepresentationInfo;
@Valid
protected List<MDReferenceSystemPropertyType> referenceSystemInfo;
@Valid
protected List<MDMetadataExtensionInformationPropertyType> metadataExtensionInfo;
@XmlElement(required = true)
@NotNull(message = "MDMetadataType.identificationInfo {javax.validation.constraints.NotNull.message}")
@Size(min = 1)
@Valid
protected List<MDIdentificationPropertyType> identificationInfo;
@Valid
protected List<MDContentInformationPropertyType> contentInfo;
@Valid
protected MDDistributionPropertyType distributionInfo;
@Valid
protected List<DQDataQualityPropertyType> dataQualityInfo;
@Valid
protected List<MDPortrayalCatalogueReferencePropertyType> portrayalCatalogueInfo;
@Valid
protected List<MDConstraintsPropertyType> metadataConstraints;
@Valid
protected List<MDApplicationSchemaInformationPropertyType> applicationSchemaInfo;
@Valid
protected MDMaintenanceInformationPropertyType metadataMaintenance;
@Valid
protected List<DSAggregatePropertyType> series;
@Valid
protected List<DSDataSetPropertyType> describes;
@Valid
protected List<ObjectReferencePropertyType> propertyType;
@Valid
protected List<ObjectReferencePropertyType> featureType;
@Valid
protected List<ObjectReferencePropertyType> featureAttribute;
/**
* Gets the value of the fileIdentifier property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getFileIdentifier() {
return fileIdentifier;
}
/**
* Sets the value of the fileIdentifier property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setFileIdentifier(CharacterStringPropertyType value) {
this.fileIdentifier = value;
}
public boolean isSetFileIdentifier() {
return (this.fileIdentifier!= null);
}
/**
* Gets the value of the language property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getLanguage() {
return language;
}
/**
* Sets the value of the language property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setLanguage(CharacterStringPropertyType value) {
this.language = value;
}
public boolean isSetLanguage() {
return (this.language!= null);
}
/**
* Gets the value of the characterSet property.
*
* @return
* possible object is
* {@link MDCharacterSetCodePropertyType }
*
*/
public MDCharacterSetCodePropertyType getCharacterSet() {
return characterSet;
}
/**
* Sets the value of the characterSet property.
*
* @param value
* allowed object is
* {@link MDCharacterSetCodePropertyType }
*
*/
public void setCharacterSet(MDCharacterSetCodePropertyType value) {
this.characterSet = value;
}
public boolean isSetCharacterSet() {
return (this.characterSet!= null);
}
/**
* Gets the value of the parentIdentifier property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getParentIdentifier() {
return parentIdentifier;
}
/**
* Sets the value of the parentIdentifier property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setParentIdentifier(CharacterStringPropertyType value) {
this.parentIdentifier = value;
}
public boolean isSetParentIdentifier() {
return (this.parentIdentifier!= null);
}
/**
* Gets the value of the hierarchyLevel 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 hierarchyLevel property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getHierarchyLevel().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDScopeCodePropertyType }
*
*
*/
public List<MDScopeCodePropertyType> getHierarchyLevel() {
if (hierarchyLevel == null) {
hierarchyLevel = new ArrayList<MDScopeCodePropertyType>();
}
return this.hierarchyLevel;
}
public boolean isSetHierarchyLevel() {
return ((this.hierarchyLevel!= null)&&(!this.hierarchyLevel.isEmpty()));
}
public void unsetHierarchyLevel() {
this.hierarchyLevel = null;
}
/**
* Gets the value of the hierarchyLevelName 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 hierarchyLevelName property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getHierarchyLevelName().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CharacterStringPropertyType }
*
*
*/
public List<CharacterStringPropertyType> getHierarchyLevelName() {
if (hierarchyLevelName == null) {
hierarchyLevelName = new ArrayList<CharacterStringPropertyType>();
}
return this.hierarchyLevelName;
}
public boolean isSetHierarchyLevelName() {
return ((this.hierarchyLevelName!= null)&&(!this.hierarchyLevelName.isEmpty()));
}
public void unsetHierarchyLevelName() {
this.hierarchyLevelName = null;
}
/**
* Gets the value of the contact 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 contact property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getContact().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CIResponsiblePartyPropertyType }
*
*
*/
public List<CIResponsiblePartyPropertyType> getContact() {
if (contact == null) {
contact = new ArrayList<CIResponsiblePartyPropertyType>();
}
return this.contact;
}
public boolean isSetContact() {
return ((this.contact!= null)&&(!this.contact.isEmpty()));
}
public void unsetContact() {
this.contact = null;
}
/**
* Gets the value of the dateStamp property.
*
* @return
* possible object is
* {@link DatePropertyType }
*
*/
public DatePropertyType getDateStamp() {
return dateStamp;
}
/**
* Sets the value of the dateStamp property.
*
* @param value
* allowed object is
* {@link DatePropertyType }
*
*/
public void setDateStamp(DatePropertyType value) {
this.dateStamp = value;
}
public boolean isSetDateStamp() {
return (this.dateStamp!= null);
}
/**
* Gets the value of the metadataStandardName property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getMetadataStandardName() {
return metadataStandardName;
}
/**
* Sets the value of the metadataStandardName property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setMetadataStandardName(CharacterStringPropertyType value) {
this.metadataStandardName = value;
}
public boolean isSetMetadataStandardName() {
return (this.metadataStandardName!= null);
}
/**
* Gets the value of the metadataStandardVersion property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getMetadataStandardVersion() {
return metadataStandardVersion;
}
/**
* Sets the value of the metadataStandardVersion property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setMetadataStandardVersion(CharacterStringPropertyType value) {
this.metadataStandardVersion = value;
}
public boolean isSetMetadataStandardVersion() {
return (this.metadataStandardVersion!= null);
}
/**
* Gets the value of the dataSetURI property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getDataSetURI() {
return dataSetURI;
}
/**
* Sets the value of the dataSetURI property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setDataSetURI(CharacterStringPropertyType value) {
this.dataSetURI = value;
}
public boolean isSetDataSetURI() {
return (this.dataSetURI!= null);
}
/**
* Gets the value of the locale 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 locale property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getLocale().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link PTLocalePropertyType }
*
*
*/
public List<PTLocalePropertyType> getLocale() {
if (locale == null) {
locale = new ArrayList<PTLocalePropertyType>();
}
return this.locale;
}
public boolean isSetLocale() {
return ((this.locale!= null)&&(!this.locale.isEmpty()));
}
public void unsetLocale() {
this.locale = null;
}
/**
* Gets the value of the spatialRepresentationInfo 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 spatialRepresentationInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getSpatialRepresentationInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDSpatialRepresentationPropertyType }
*
*
*/
public List<MDSpatialRepresentationPropertyType> getSpatialRepresentationInfo() {
if (spatialRepresentationInfo == null) {
spatialRepresentationInfo = new ArrayList<MDSpatialRepresentationPropertyType>();
}
return this.spatialRepresentationInfo;
}
public boolean isSetSpatialRepresentationInfo() {
return ((this.spatialRepresentationInfo!= null)&&(!this.spatialRepresentationInfo.isEmpty()));
}
public void unsetSpatialRepresentationInfo() {
this.spatialRepresentationInfo = null;
}
/**
* Gets the value of the referenceSystemInfo 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 referenceSystemInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getReferenceSystemInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDReferenceSystemPropertyType }
*
*
*/
public List<MDReferenceSystemPropertyType> getReferenceSystemInfo() {
if (referenceSystemInfo == null) {
referenceSystemInfo = new ArrayList<MDReferenceSystemPropertyType>();
}
return this.referenceSystemInfo;
}
public boolean isSetReferenceSystemInfo() {
return ((this.referenceSystemInfo!= null)&&(!this.referenceSystemInfo.isEmpty()));
}
public void unsetReferenceSystemInfo() {
this.referenceSystemInfo = null;
}
/**
* Gets the value of the metadataExtensionInfo 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 metadataExtensionInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getMetadataExtensionInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDMetadataExtensionInformationPropertyType }
*
*
*/
public List<MDMetadataExtensionInformationPropertyType> getMetadataExtensionInfo() {
if (metadataExtensionInfo == null) {
metadataExtensionInfo = new ArrayList<MDMetadataExtensionInformationPropertyType>();
}
return this.metadataExtensionInfo;
}
public boolean isSetMetadataExtensionInfo() {
return ((this.metadataExtensionInfo!= null)&&(!this.metadataExtensionInfo.isEmpty()));
}
public void unsetMetadataExtensionInfo() {
this.metadataExtensionInfo = null;
}
/**
* Gets the value of the identificationInfo 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 identificationInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getIdentificationInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDIdentificationPropertyType }
*
*
*/
public List<MDIdentificationPropertyType> getIdentificationInfo() {
if (identificationInfo == null) {
identificationInfo = new ArrayList<MDIdentificationPropertyType>();
}
return this.identificationInfo;
}
public boolean isSetIdentificationInfo() {
return ((this.identificationInfo!= null)&&(!this.identificationInfo.isEmpty()));
}
public void unsetIdentificationInfo() {
this.identificationInfo = null;
}
/**
* Gets the value of the contentInfo 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 contentInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getContentInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDContentInformationPropertyType }
*
*
*/
public List<MDContentInformationPropertyType> getContentInfo() {
if (contentInfo == null) {
contentInfo = new ArrayList<MDContentInformationPropertyType>();
}
return this.contentInfo;
}
public boolean isSetContentInfo() {
return ((this.contentInfo!= null)&&(!this.contentInfo.isEmpty()));
}
public void unsetContentInfo() {
this.contentInfo = null;
}
/**
* Gets the value of the distributionInfo property.
*
* @return
* possible object is
* {@link MDDistributionPropertyType }
*
*/
public MDDistributionPropertyType getDistributionInfo() {
return distributionInfo;
}
/**
* Sets the value of the distributionInfo property.
*
* @param value
* allowed object is
* {@link MDDistributionPropertyType }
*
*/
public void setDistributionInfo(MDDistributionPropertyType value) {
this.distributionInfo = value;
}
public boolean isSetDistributionInfo() {
return (this.distributionInfo!= null);
}
/**
* Gets the value of the dataQualityInfo 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 dataQualityInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getDataQualityInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link DQDataQualityPropertyType }
*
*
*/
public List<DQDataQualityPropertyType> getDataQualityInfo() {
if (dataQualityInfo == null) {
dataQualityInfo = new ArrayList<DQDataQualityPropertyType>();
}
return this.dataQualityInfo;
}
public boolean isSetDataQualityInfo() {
return ((this.dataQualityInfo!= null)&&(!this.dataQualityInfo.isEmpty()));
}
public void unsetDataQualityInfo() {
this.dataQualityInfo = null;
}
/**
* Gets the value of the portrayalCatalogueInfo 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 portrayalCatalogueInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getPortrayalCatalogueInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDPortrayalCatalogueReferencePropertyType }
*
*
*/
public List<MDPortrayalCatalogueReferencePropertyType> getPortrayalCatalogueInfo() {
if (portrayalCatalogueInfo == null) {
portrayalCatalogueInfo = new ArrayList<MDPortrayalCatalogueReferencePropertyType>();
}
return this.portrayalCatalogueInfo;
}
public boolean isSetPortrayalCatalogueInfo() {
return ((this.portrayalCatalogueInfo!= null)&&(!this.portrayalCatalogueInfo.isEmpty()));
}
public void unsetPortrayalCatalogueInfo() {
this.portrayalCatalogueInfo = null;
}
/**
* Gets the value of the metadataConstraints 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 metadataConstraints property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getMetadataConstraints().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDConstraintsPropertyType }
*
*
*/
public List<MDConstraintsPropertyType> getMetadataConstraints() {
if (metadataConstraints == null) {
metadataConstraints = new ArrayList<MDConstraintsPropertyType>();
}
return this.metadataConstraints;
}
public boolean isSetMetadataConstraints() {
return ((this.metadataConstraints!= null)&&(!this.metadataConstraints.isEmpty()));
}
public void unsetMetadataConstraints() {
this.metadataConstraints = null;
}
/**
* Gets the value of the applicationSchemaInfo 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 applicationSchemaInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getApplicationSchemaInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDApplicationSchemaInformationPropertyType }
*
*
*/
public List<MDApplicationSchemaInformationPropertyType> getApplicationSchemaInfo() {
if (applicationSchemaInfo == null) {
applicationSchemaInfo = new ArrayList<MDApplicationSchemaInformationPropertyType>();
}
return this.applicationSchemaInfo;
}
public boolean isSetApplicationSchemaInfo() {
return ((this.applicationSchemaInfo!= null)&&(!this.applicationSchemaInfo.isEmpty()));
}
public void unsetApplicationSchemaInfo() {
this.applicationSchemaInfo = null;
}
/**
* Gets the value of the metadataMaintenance property.
*
* @return
* possible object is
* {@link MDMaintenanceInformationPropertyType }
*
*/
public MDMaintenanceInformationPropertyType getMetadataMaintenance() {
return metadataMaintenance;
}
/**
* Sets the value of the metadataMaintenance property.
*
* @param value
* allowed object is
* {@link MDMaintenanceInformationPropertyType }
*
*/
public void setMetadataMaintenance(MDMaintenanceInformationPropertyType value) {
this.metadataMaintenance = value;
}
public boolean isSetMetadataMaintenance() {
return (this.metadataMaintenance!= null);
}
/**
* Gets the value of the series 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 series property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getSeries().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link DSAggregatePropertyType }
*
*
*/
public List<DSAggregatePropertyType> getSeries() {
if (series == null) {
series = new ArrayList<DSAggregatePropertyType>();
}
return this.series;
}
public boolean isSetSeries() {
return ((this.series!= null)&&(!this.series.isEmpty()));
}
public void unsetSeries() {
this.series = null;
}
/**
* Gets the value of the describes 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 describes property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getDescribes().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link DSDataSetPropertyType }
*
*
*/
public List<DSDataSetPropertyType> getDescribes() {
if (describes == null) {
describes = new ArrayList<DSDataSetPropertyType>();
}
return this.describes;
}
public boolean isSetDescribes() {
return ((this.describes!= null)&&(!this.describes.isEmpty()));
}
public void unsetDescribes() {
this.describes = null;
}
/**
* Gets the value of the propertyType 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 propertyType property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getPropertyType().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ObjectReferencePropertyType }
*
*
*/
public List<ObjectReferencePropertyType> getPropertyType() {
if (propertyType == null) {
propertyType = new ArrayList<ObjectReferencePropertyType>();
}
return this.propertyType;
}
public boolean isSetPropertyType() {
return ((this.propertyType!= null)&&(!this.propertyType.isEmpty()));
}
public void unsetPropertyType() {
this.propertyType = null;
}
/**
* Gets the value of the featureType 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 featureType property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getFeatureType().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ObjectReferencePropertyType }
*
*
*/
public List<ObjectReferencePropertyType> getFeatureType() {
if (featureType == null) {
featureType = new ArrayList<ObjectReferencePropertyType>();
}
return this.featureType;
}
public boolean isSetFeatureType() {
return ((this.featureType!= null)&&(!this.featureType.isEmpty()));
}
public void unsetFeatureType() {
this.featureType = null;
}
/**
* Gets the value of the featureAttribute 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 featureAttribute property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getFeatureAttribute().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ObjectReferencePropertyType }
*
*
*/
public List<ObjectReferencePropertyType> getFeatureAttribute() {
if (featureAttribute == null) {
featureAttribute = new ArrayList<ObjectReferencePropertyType>();
}
return this.featureAttribute;
}
public boolean isSetFeatureAttribute() {
return ((this.featureAttribute!= null)&&(!this.featureAttribute.isEmpty()));
}
public void unsetFeatureAttribute() {
this.featureAttribute = 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);
{
CharacterStringPropertyType theFileIdentifier;
theFileIdentifier = this.getFileIdentifier();
strategy.appendField(locator, this, "fileIdentifier", buffer, theFileIdentifier, this.isSetFileIdentifier());
}
{
CharacterStringPropertyType theLanguage;
theLanguage = this.getLanguage();
strategy.appendField(locator, this, "language", buffer, theLanguage, this.isSetLanguage());
}
{
MDCharacterSetCodePropertyType theCharacterSet;
theCharacterSet = this.getCharacterSet();
strategy.appendField(locator, this, "characterSet", buffer, theCharacterSet, this.isSetCharacterSet());
}
{
CharacterStringPropertyType theParentIdentifier;
theParentIdentifier = this.getParentIdentifier();
strategy.appendField(locator, this, "parentIdentifier", buffer, theParentIdentifier, this.isSetParentIdentifier());
}
{
List<MDScopeCodePropertyType> theHierarchyLevel;
theHierarchyLevel = (this.isSetHierarchyLevel()?this.getHierarchyLevel():null);
strategy.appendField(locator, this, "hierarchyLevel", buffer, theHierarchyLevel, this.isSetHierarchyLevel());
}
{
List<CharacterStringPropertyType> theHierarchyLevelName;
theHierarchyLevelName = (this.isSetHierarchyLevelName()?this.getHierarchyLevelName():null);
strategy.appendField(locator, this, "hierarchyLevelName", buffer, theHierarchyLevelName, this.isSetHierarchyLevelName());
}
{
List<CIResponsiblePartyPropertyType> theContact;
theContact = (this.isSetContact()?this.getContact():null);
strategy.appendField(locator, this, "contact", buffer, theContact, this.isSetContact());
}
{
DatePropertyType theDateStamp;
theDateStamp = this.getDateStamp();
strategy.appendField(locator, this, "dateStamp", buffer, theDateStamp, this.isSetDateStamp());
}
{
CharacterStringPropertyType theMetadataStandardName;
theMetadataStandardName = this.getMetadataStandardName();
strategy.appendField(locator, this, "metadataStandardName", buffer, theMetadataStandardName, this.isSetMetadataStandardName());
}
{
CharacterStringPropertyType theMetadataStandardVersion;
theMetadataStandardVersion = this.getMetadataStandardVersion();
strategy.appendField(locator, this, "metadataStandardVersion", buffer, theMetadataStandardVersion, this.isSetMetadataStandardVersion());
}
{
CharacterStringPropertyType theDataSetURI;
theDataSetURI = this.getDataSetURI();
strategy.appendField(locator, this, "dataSetURI", buffer, theDataSetURI, this.isSetDataSetURI());
}
{
List<PTLocalePropertyType> theLocale;
theLocale = (this.isSetLocale()?this.getLocale():null);
strategy.appendField(locator, this, "locale", buffer, theLocale, this.isSetLocale());
}
{
List<MDSpatialRepresentationPropertyType> theSpatialRepresentationInfo;
theSpatialRepresentationInfo = (this.isSetSpatialRepresentationInfo()?this.getSpatialRepresentationInfo():null);
strategy.appendField(locator, this, "spatialRepresentationInfo", buffer, theSpatialRepresentationInfo, this.isSetSpatialRepresentationInfo());
}
{
List<MDReferenceSystemPropertyType> theReferenceSystemInfo;
theReferenceSystemInfo = (this.isSetReferenceSystemInfo()?this.getReferenceSystemInfo():null);
strategy.appendField(locator, this, "referenceSystemInfo", buffer, theReferenceSystemInfo, this.isSetReferenceSystemInfo());
}
{
List<MDMetadataExtensionInformationPropertyType> theMetadataExtensionInfo;
theMetadataExtensionInfo = (this.isSetMetadataExtensionInfo()?this.getMetadataExtensionInfo():null);
strategy.appendField(locator, this, "metadataExtensionInfo", buffer, theMetadataExtensionInfo, this.isSetMetadataExtensionInfo());
}
{
List<MDIdentificationPropertyType> theIdentificationInfo;
theIdentificationInfo = (this.isSetIdentificationInfo()?this.getIdentificationInfo():null);
strategy.appendField(locator, this, "identificationInfo", buffer, theIdentificationInfo, this.isSetIdentificationInfo());
}
{
List<MDContentInformationPropertyType> theContentInfo;
theContentInfo = (this.isSetContentInfo()?this.getContentInfo():null);
strategy.appendField(locator, this, "contentInfo", buffer, theContentInfo, this.isSetContentInfo());
}
{
MDDistributionPropertyType theDistributionInfo;
theDistributionInfo = this.getDistributionInfo();
strategy.appendField(locator, this, "distributionInfo", buffer, theDistributionInfo, this.isSetDistributionInfo());
}
{
List<DQDataQualityPropertyType> theDataQualityInfo;
theDataQualityInfo = (this.isSetDataQualityInfo()?this.getDataQualityInfo():null);
strategy.appendField(locator, this, "dataQualityInfo", buffer, theDataQualityInfo, this.isSetDataQualityInfo());
}
{
List<MDPortrayalCatalogueReferencePropertyType> thePortrayalCatalogueInfo;
thePortrayalCatalogueInfo = (this.isSetPortrayalCatalogueInfo()?this.getPortrayalCatalogueInfo():null);
strategy.appendField(locator, this, "portrayalCatalogueInfo", buffer, thePortrayalCatalogueInfo, this.isSetPortrayalCatalogueInfo());
}
{
List<MDConstraintsPropertyType> theMetadataConstraints;
theMetadataConstraints = (this.isSetMetadataConstraints()?this.getMetadataConstraints():null);
strategy.appendField(locator, this, "metadataConstraints", buffer, theMetadataConstraints, this.isSetMetadataConstraints());
}
{
List<MDApplicationSchemaInformationPropertyType> theApplicationSchemaInfo;
theApplicationSchemaInfo = (this.isSetApplicationSchemaInfo()?this.getApplicationSchemaInfo():null);
strategy.appendField(locator, this, "applicationSchemaInfo", buffer, theApplicationSchemaInfo, this.isSetApplicationSchemaInfo());
}
{
MDMaintenanceInformationPropertyType theMetadataMaintenance;
theMetadataMaintenance = this.getMetadataMaintenance();
strategy.appendField(locator, this, "metadataMaintenance", buffer, theMetadataMaintenance, this.isSetMetadataMaintenance());
}
{
List<DSAggregatePropertyType> theSeries;
theSeries = (this.isSetSeries()?this.getSeries():null);
strategy.appendField(locator, this, "series", buffer, theSeries, this.isSetSeries());
}
{
List<DSDataSetPropertyType> theDescribes;
theDescribes = (this.isSetDescribes()?this.getDescribes():null);
strategy.appendField(locator, this, "describes", buffer, theDescribes, this.isSetDescribes());
}
{
List<ObjectReferencePropertyType> thePropertyType;
thePropertyType = (this.isSetPropertyType()?this.getPropertyType():null);
strategy.appendField(locator, this, "propertyType", buffer, thePropertyType, this.isSetPropertyType());
}
{
List<ObjectReferencePropertyType> theFeatureType;
theFeatureType = (this.isSetFeatureType()?this.getFeatureType():null);
strategy.appendField(locator, this, "featureType", buffer, theFeatureType, this.isSetFeatureType());
}
{
List<ObjectReferencePropertyType> theFeatureAttribute;
theFeatureAttribute = (this.isSetFeatureAttribute()?this.getFeatureAttribute():null);
strategy.appendField(locator, this, "featureAttribute", buffer, theFeatureAttribute, this.isSetFeatureAttribute());
}
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 MDMetadataType that = ((MDMetadataType) object);
{
CharacterStringPropertyType lhsFileIdentifier;
lhsFileIdentifier = this.getFileIdentifier();
CharacterStringPropertyType rhsFileIdentifier;
rhsFileIdentifier = that.getFileIdentifier();
if (!strategy.equals(LocatorUtils.property(thisLocator, "fileIdentifier", lhsFileIdentifier), LocatorUtils.property(thatLocator, "fileIdentifier", rhsFileIdentifier), lhsFileIdentifier, rhsFileIdentifier, this.isSetFileIdentifier(), that.isSetFileIdentifier())) {
return false;
}
}
{
CharacterStringPropertyType lhsLanguage;
lhsLanguage = this.getLanguage();
CharacterStringPropertyType rhsLanguage;
rhsLanguage = that.getLanguage();
if (!strategy.equals(LocatorUtils.property(thisLocator, "language", lhsLanguage), LocatorUtils.property(thatLocator, "language", rhsLanguage), lhsLanguage, rhsLanguage, this.isSetLanguage(), that.isSetLanguage())) {
return false;
}
}
{
MDCharacterSetCodePropertyType lhsCharacterSet;
lhsCharacterSet = this.getCharacterSet();
MDCharacterSetCodePropertyType rhsCharacterSet;
rhsCharacterSet = that.getCharacterSet();
if (!strategy.equals(LocatorUtils.property(thisLocator, "characterSet", lhsCharacterSet), LocatorUtils.property(thatLocator, "characterSet", rhsCharacterSet), lhsCharacterSet, rhsCharacterSet, this.isSetCharacterSet(), that.isSetCharacterSet())) {
return false;
}
}
{
CharacterStringPropertyType lhsParentIdentifier;
lhsParentIdentifier = this.getParentIdentifier();
CharacterStringPropertyType rhsParentIdentifier;
rhsParentIdentifier = that.getParentIdentifier();
if (!strategy.equals(LocatorUtils.property(thisLocator, "parentIdentifier", lhsParentIdentifier), LocatorUtils.property(thatLocator, "parentIdentifier", rhsParentIdentifier), lhsParentIdentifier, rhsParentIdentifier, this.isSetParentIdentifier(), that.isSetParentIdentifier())) {
return false;
}
}
{
List<MDScopeCodePropertyType> lhsHierarchyLevel;
lhsHierarchyLevel = (this.isSetHierarchyLevel()?this.getHierarchyLevel():null);
List<MDScopeCodePropertyType> rhsHierarchyLevel;
rhsHierarchyLevel = (that.isSetHierarchyLevel()?that.getHierarchyLevel():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "hierarchyLevel", lhsHierarchyLevel), LocatorUtils.property(thatLocator, "hierarchyLevel", rhsHierarchyLevel), lhsHierarchyLevel, rhsHierarchyLevel, this.isSetHierarchyLevel(), that.isSetHierarchyLevel())) {
return false;
}
}
{
List<CharacterStringPropertyType> lhsHierarchyLevelName;
lhsHierarchyLevelName = (this.isSetHierarchyLevelName()?this.getHierarchyLevelName():null);
List<CharacterStringPropertyType> rhsHierarchyLevelName;
rhsHierarchyLevelName = (that.isSetHierarchyLevelName()?that.getHierarchyLevelName():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "hierarchyLevelName", lhsHierarchyLevelName), LocatorUtils.property(thatLocator, "hierarchyLevelName", rhsHierarchyLevelName), lhsHierarchyLevelName, rhsHierarchyLevelName, this.isSetHierarchyLevelName(), that.isSetHierarchyLevelName())) {
return false;
}
}
{
List<CIResponsiblePartyPropertyType> lhsContact;
lhsContact = (this.isSetContact()?this.getContact():null);
List<CIResponsiblePartyPropertyType> rhsContact;
rhsContact = (that.isSetContact()?that.getContact():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "contact", lhsContact), LocatorUtils.property(thatLocator, "contact", rhsContact), lhsContact, rhsContact, this.isSetContact(), that.isSetContact())) {
return false;
}
}
{
DatePropertyType lhsDateStamp;
lhsDateStamp = this.getDateStamp();
DatePropertyType rhsDateStamp;
rhsDateStamp = that.getDateStamp();
if (!strategy.equals(LocatorUtils.property(thisLocator, "dateStamp", lhsDateStamp), LocatorUtils.property(thatLocator, "dateStamp", rhsDateStamp), lhsDateStamp, rhsDateStamp, this.isSetDateStamp(), that.isSetDateStamp())) {
return false;
}
}
{
CharacterStringPropertyType lhsMetadataStandardName;
lhsMetadataStandardName = this.getMetadataStandardName();
CharacterStringPropertyType rhsMetadataStandardName;
rhsMetadataStandardName = that.getMetadataStandardName();
if (!strategy.equals(LocatorUtils.property(thisLocator, "metadataStandardName", lhsMetadataStandardName), LocatorUtils.property(thatLocator, "metadataStandardName", rhsMetadataStandardName), lhsMetadataStandardName, rhsMetadataStandardName, this.isSetMetadataStandardName(), that.isSetMetadataStandardName())) {
return false;
}
}
{
CharacterStringPropertyType lhsMetadataStandardVersion;
lhsMetadataStandardVersion = this.getMetadataStandardVersion();
CharacterStringPropertyType rhsMetadataStandardVersion;
rhsMetadataStandardVersion = that.getMetadataStandardVersion();
if (!strategy.equals(LocatorUtils.property(thisLocator, "metadataStandardVersion", lhsMetadataStandardVersion), LocatorUtils.property(thatLocator, "metadataStandardVersion", rhsMetadataStandardVersion), lhsMetadataStandardVersion, rhsMetadataStandardVersion, this.isSetMetadataStandardVersion(), that.isSetMetadataStandardVersion())) {
return false;
}
}
{
CharacterStringPropertyType lhsDataSetURI;
lhsDataSetURI = this.getDataSetURI();
CharacterStringPropertyType rhsDataSetURI;
rhsDataSetURI = that.getDataSetURI();
if (!strategy.equals(LocatorUtils.property(thisLocator, "dataSetURI", lhsDataSetURI), LocatorUtils.property(thatLocator, "dataSetURI", rhsDataSetURI), lhsDataSetURI, rhsDataSetURI, this.isSetDataSetURI(), that.isSetDataSetURI())) {
return false;
}
}
{
List<PTLocalePropertyType> lhsLocale;
lhsLocale = (this.isSetLocale()?this.getLocale():null);
List<PTLocalePropertyType> rhsLocale;
rhsLocale = (that.isSetLocale()?that.getLocale():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "locale", lhsLocale), LocatorUtils.property(thatLocator, "locale", rhsLocale), lhsLocale, rhsLocale, this.isSetLocale(), that.isSetLocale())) {
return false;
}
}
{
List<MDSpatialRepresentationPropertyType> lhsSpatialRepresentationInfo;
lhsSpatialRepresentationInfo = (this.isSetSpatialRepresentationInfo()?this.getSpatialRepresentationInfo():null);
List<MDSpatialRepresentationPropertyType> rhsSpatialRepresentationInfo;
rhsSpatialRepresentationInfo = (that.isSetSpatialRepresentationInfo()?that.getSpatialRepresentationInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "spatialRepresentationInfo", lhsSpatialRepresentationInfo), LocatorUtils.property(thatLocator, "spatialRepresentationInfo", rhsSpatialRepresentationInfo), lhsSpatialRepresentationInfo, rhsSpatialRepresentationInfo, this.isSetSpatialRepresentationInfo(), that.isSetSpatialRepresentationInfo())) {
return false;
}
}
{
List<MDReferenceSystemPropertyType> lhsReferenceSystemInfo;
lhsReferenceSystemInfo = (this.isSetReferenceSystemInfo()?this.getReferenceSystemInfo():null);
List<MDReferenceSystemPropertyType> rhsReferenceSystemInfo;
rhsReferenceSystemInfo = (that.isSetReferenceSystemInfo()?that.getReferenceSystemInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "referenceSystemInfo", lhsReferenceSystemInfo), LocatorUtils.property(thatLocator, "referenceSystemInfo", rhsReferenceSystemInfo), lhsReferenceSystemInfo, rhsReferenceSystemInfo, this.isSetReferenceSystemInfo(), that.isSetReferenceSystemInfo())) {
return false;
}
}
{
List<MDMetadataExtensionInformationPropertyType> lhsMetadataExtensionInfo;
lhsMetadataExtensionInfo = (this.isSetMetadataExtensionInfo()?this.getMetadataExtensionInfo():null);
List<MDMetadataExtensionInformationPropertyType> rhsMetadataExtensionInfo;
rhsMetadataExtensionInfo = (that.isSetMetadataExtensionInfo()?that.getMetadataExtensionInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "metadataExtensionInfo", lhsMetadataExtensionInfo), LocatorUtils.property(thatLocator, "metadataExtensionInfo", rhsMetadataExtensionInfo), lhsMetadataExtensionInfo, rhsMetadataExtensionInfo, this.isSetMetadataExtensionInfo(), that.isSetMetadataExtensionInfo())) {
return false;
}
}
{
List<MDIdentificationPropertyType> lhsIdentificationInfo;
lhsIdentificationInfo = (this.isSetIdentificationInfo()?this.getIdentificationInfo():null);
List<MDIdentificationPropertyType> rhsIdentificationInfo;
rhsIdentificationInfo = (that.isSetIdentificationInfo()?that.getIdentificationInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "identificationInfo", lhsIdentificationInfo), LocatorUtils.property(thatLocator, "identificationInfo", rhsIdentificationInfo), lhsIdentificationInfo, rhsIdentificationInfo, this.isSetIdentificationInfo(), that.isSetIdentificationInfo())) {
return false;
}
}
{
List<MDContentInformationPropertyType> lhsContentInfo;
lhsContentInfo = (this.isSetContentInfo()?this.getContentInfo():null);
List<MDContentInformationPropertyType> rhsContentInfo;
rhsContentInfo = (that.isSetContentInfo()?that.getContentInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "contentInfo", lhsContentInfo), LocatorUtils.property(thatLocator, "contentInfo", rhsContentInfo), lhsContentInfo, rhsContentInfo, this.isSetContentInfo(), that.isSetContentInfo())) {
return false;
}
}
{
MDDistributionPropertyType lhsDistributionInfo;
lhsDistributionInfo = this.getDistributionInfo();
MDDistributionPropertyType rhsDistributionInfo;
rhsDistributionInfo = that.getDistributionInfo();
if (!strategy.equals(LocatorUtils.property(thisLocator, "distributionInfo", lhsDistributionInfo), LocatorUtils.property(thatLocator, "distributionInfo", rhsDistributionInfo), lhsDistributionInfo, rhsDistributionInfo, this.isSetDistributionInfo(), that.isSetDistributionInfo())) {
return false;
}
}
{
List<DQDataQualityPropertyType> lhsDataQualityInfo;
lhsDataQualityInfo = (this.isSetDataQualityInfo()?this.getDataQualityInfo():null);
List<DQDataQualityPropertyType> rhsDataQualityInfo;
rhsDataQualityInfo = (that.isSetDataQualityInfo()?that.getDataQualityInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "dataQualityInfo", lhsDataQualityInfo), LocatorUtils.property(thatLocator, "dataQualityInfo", rhsDataQualityInfo), lhsDataQualityInfo, rhsDataQualityInfo, this.isSetDataQualityInfo(), that.isSetDataQualityInfo())) {
return false;
}
}
{
List<MDPortrayalCatalogueReferencePropertyType> lhsPortrayalCatalogueInfo;
lhsPortrayalCatalogueInfo = (this.isSetPortrayalCatalogueInfo()?this.getPortrayalCatalogueInfo():null);
List<MDPortrayalCatalogueReferencePropertyType> rhsPortrayalCatalogueInfo;
rhsPortrayalCatalogueInfo = (that.isSetPortrayalCatalogueInfo()?that.getPortrayalCatalogueInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "portrayalCatalogueInfo", lhsPortrayalCatalogueInfo), LocatorUtils.property(thatLocator, "portrayalCatalogueInfo", rhsPortrayalCatalogueInfo), lhsPortrayalCatalogueInfo, rhsPortrayalCatalogueInfo, this.isSetPortrayalCatalogueInfo(), that.isSetPortrayalCatalogueInfo())) {
return false;
}
}
{
List<MDConstraintsPropertyType> lhsMetadataConstraints;
lhsMetadataConstraints = (this.isSetMetadataConstraints()?this.getMetadataConstraints():null);
List<MDConstraintsPropertyType> rhsMetadataConstraints;
rhsMetadataConstraints = (that.isSetMetadataConstraints()?that.getMetadataConstraints():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "metadataConstraints", lhsMetadataConstraints), LocatorUtils.property(thatLocator, "metadataConstraints", rhsMetadataConstraints), lhsMetadataConstraints, rhsMetadataConstraints, this.isSetMetadataConstraints(), that.isSetMetadataConstraints())) {
return false;
}
}
{
List<MDApplicationSchemaInformationPropertyType> lhsApplicationSchemaInfo;
lhsApplicationSchemaInfo = (this.isSetApplicationSchemaInfo()?this.getApplicationSchemaInfo():null);
List<MDApplicationSchemaInformationPropertyType> rhsApplicationSchemaInfo;
rhsApplicationSchemaInfo = (that.isSetApplicationSchemaInfo()?that.getApplicationSchemaInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "applicationSchemaInfo", lhsApplicationSchemaInfo), LocatorUtils.property(thatLocator, "applicationSchemaInfo", rhsApplicationSchemaInfo), lhsApplicationSchemaInfo, rhsApplicationSchemaInfo, this.isSetApplicationSchemaInfo(), that.isSetApplicationSchemaInfo())) {
return false;
}
}
{
MDMaintenanceInformationPropertyType lhsMetadataMaintenance;
lhsMetadataMaintenance = this.getMetadataMaintenance();
MDMaintenanceInformationPropertyType rhsMetadataMaintenance;
rhsMetadataMaintenance = that.getMetadataMaintenance();
if (!strategy.equals(LocatorUtils.property(thisLocator, "metadataMaintenance", lhsMetadataMaintenance), LocatorUtils.property(thatLocator, "metadataMaintenance", rhsMetadataMaintenance), lhsMetadataMaintenance, rhsMetadataMaintenance, this.isSetMetadataMaintenance(), that.isSetMetadataMaintenance())) {
return false;
}
}
{
List<DSAggregatePropertyType> lhsSeries;
lhsSeries = (this.isSetSeries()?this.getSeries():null);
List<DSAggregatePropertyType> rhsSeries;
rhsSeries = (that.isSetSeries()?that.getSeries():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "series", lhsSeries), LocatorUtils.property(thatLocator, "series", rhsSeries), lhsSeries, rhsSeries, this.isSetSeries(), that.isSetSeries())) {
return false;
}
}
{
List<DSDataSetPropertyType> lhsDescribes;
lhsDescribes = (this.isSetDescribes()?this.getDescribes():null);
List<DSDataSetPropertyType> rhsDescribes;
rhsDescribes = (that.isSetDescribes()?that.getDescribes():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "describes", lhsDescribes), LocatorUtils.property(thatLocator, "describes", rhsDescribes), lhsDescribes, rhsDescribes, this.isSetDescribes(), that.isSetDescribes())) {
return false;
}
}
{
List<ObjectReferencePropertyType> lhsPropertyType;
lhsPropertyType = (this.isSetPropertyType()?this.getPropertyType():null);
List<ObjectReferencePropertyType> rhsPropertyType;
rhsPropertyType = (that.isSetPropertyType()?that.getPropertyType():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "propertyType", lhsPropertyType), LocatorUtils.property(thatLocator, "propertyType", rhsPropertyType), lhsPropertyType, rhsPropertyType, this.isSetPropertyType(), that.isSetPropertyType())) {
return false;
}
}
{
List<ObjectReferencePropertyType> lhsFeatureType;
lhsFeatureType = (this.isSetFeatureType()?this.getFeatureType():null);
List<ObjectReferencePropertyType> rhsFeatureType;
rhsFeatureType = (that.isSetFeatureType()?that.getFeatureType():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "featureType", lhsFeatureType), LocatorUtils.property(thatLocator, "featureType", rhsFeatureType), lhsFeatureType, rhsFeatureType, this.isSetFeatureType(), that.isSetFeatureType())) {
return false;
}
}
{
List<ObjectReferencePropertyType> lhsFeatureAttribute;
lhsFeatureAttribute = (this.isSetFeatureAttribute()?this.getFeatureAttribute():null);
List<ObjectReferencePropertyType> rhsFeatureAttribute;
rhsFeatureAttribute = (that.isSetFeatureAttribute()?that.getFeatureAttribute():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "featureAttribute", lhsFeatureAttribute), LocatorUtils.property(thatLocator, "featureAttribute", rhsFeatureAttribute), lhsFeatureAttribute, rhsFeatureAttribute, this.isSetFeatureAttribute(), that.isSetFeatureAttribute())) {
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);
{
CharacterStringPropertyType theFileIdentifier;
theFileIdentifier = this.getFileIdentifier();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "fileIdentifier", theFileIdentifier), currentHashCode, theFileIdentifier, this.isSetFileIdentifier());
}
{
CharacterStringPropertyType theLanguage;
theLanguage = this.getLanguage();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "language", theLanguage), currentHashCode, theLanguage, this.isSetLanguage());
}
{
MDCharacterSetCodePropertyType theCharacterSet;
theCharacterSet = this.getCharacterSet();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "characterSet", theCharacterSet), currentHashCode, theCharacterSet, this.isSetCharacterSet());
}
{
CharacterStringPropertyType theParentIdentifier;
theParentIdentifier = this.getParentIdentifier();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "parentIdentifier", theParentIdentifier), currentHashCode, theParentIdentifier, this.isSetParentIdentifier());
}
{
List<MDScopeCodePropertyType> theHierarchyLevel;
theHierarchyLevel = (this.isSetHierarchyLevel()?this.getHierarchyLevel():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "hierarchyLevel", theHierarchyLevel), currentHashCode, theHierarchyLevel, this.isSetHierarchyLevel());
}
{
List<CharacterStringPropertyType> theHierarchyLevelName;
theHierarchyLevelName = (this.isSetHierarchyLevelName()?this.getHierarchyLevelName():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "hierarchyLevelName", theHierarchyLevelName), currentHashCode, theHierarchyLevelName, this.isSetHierarchyLevelName());
}
{
List<CIResponsiblePartyPropertyType> theContact;
theContact = (this.isSetContact()?this.getContact():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "contact", theContact), currentHashCode, theContact, this.isSetContact());
}
{
DatePropertyType theDateStamp;
theDateStamp = this.getDateStamp();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateStamp", theDateStamp), currentHashCode, theDateStamp, this.isSetDateStamp());
}
{
CharacterStringPropertyType theMetadataStandardName;
theMetadataStandardName = this.getMetadataStandardName();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "metadataStandardName", theMetadataStandardName), currentHashCode, theMetadataStandardName, this.isSetMetadataStandardName());
}
{
CharacterStringPropertyType theMetadataStandardVersion;
theMetadataStandardVersion = this.getMetadataStandardVersion();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "metadataStandardVersion", theMetadataStandardVersion), currentHashCode, theMetadataStandardVersion, this.isSetMetadataStandardVersion());
}
{
CharacterStringPropertyType theDataSetURI;
theDataSetURI = this.getDataSetURI();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dataSetURI", theDataSetURI), currentHashCode, theDataSetURI, this.isSetDataSetURI());
}
{
List<PTLocalePropertyType> theLocale;
theLocale = (this.isSetLocale()?this.getLocale():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "locale", theLocale), currentHashCode, theLocale, this.isSetLocale());
}
{
List<MDSpatialRepresentationPropertyType> theSpatialRepresentationInfo;
theSpatialRepresentationInfo = (this.isSetSpatialRepresentationInfo()?this.getSpatialRepresentationInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "spatialRepresentationInfo", theSpatialRepresentationInfo), currentHashCode, theSpatialRepresentationInfo, this.isSetSpatialRepresentationInfo());
}
{
List<MDReferenceSystemPropertyType> theReferenceSystemInfo;
theReferenceSystemInfo = (this.isSetReferenceSystemInfo()?this.getReferenceSystemInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "referenceSystemInfo", theReferenceSystemInfo), currentHashCode, theReferenceSystemInfo, this.isSetReferenceSystemInfo());
}
{
List<MDMetadataExtensionInformationPropertyType> theMetadataExtensionInfo;
theMetadataExtensionInfo = (this.isSetMetadataExtensionInfo()?this.getMetadataExtensionInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "metadataExtensionInfo", theMetadataExtensionInfo), currentHashCode, theMetadataExtensionInfo, this.isSetMetadataExtensionInfo());
}
{
List<MDIdentificationPropertyType> theIdentificationInfo;
theIdentificationInfo = (this.isSetIdentificationInfo()?this.getIdentificationInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "identificationInfo", theIdentificationInfo), currentHashCode, theIdentificationInfo, this.isSetIdentificationInfo());
}
{
List<MDContentInformationPropertyType> theContentInfo;
theContentInfo = (this.isSetContentInfo()?this.getContentInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "contentInfo", theContentInfo), currentHashCode, theContentInfo, this.isSetContentInfo());
}
{
MDDistributionPropertyType theDistributionInfo;
theDistributionInfo = this.getDistributionInfo();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "distributionInfo", theDistributionInfo), currentHashCode, theDistributionInfo, this.isSetDistributionInfo());
}
{
List<DQDataQualityPropertyType> theDataQualityInfo;
theDataQualityInfo = (this.isSetDataQualityInfo()?this.getDataQualityInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dataQualityInfo", theDataQualityInfo), currentHashCode, theDataQualityInfo, this.isSetDataQualityInfo());
}
{
List<MDPortrayalCatalogueReferencePropertyType> thePortrayalCatalogueInfo;
thePortrayalCatalogueInfo = (this.isSetPortrayalCatalogueInfo()?this.getPortrayalCatalogueInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "portrayalCatalogueInfo", thePortrayalCatalogueInfo), currentHashCode, thePortrayalCatalogueInfo, this.isSetPortrayalCatalogueInfo());
}
{
List<MDConstraintsPropertyType> theMetadataConstraints;
theMetadataConstraints = (this.isSetMetadataConstraints()?this.getMetadataConstraints():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "metadataConstraints", theMetadataConstraints), currentHashCode, theMetadataConstraints, this.isSetMetadataConstraints());
}
{
List<MDApplicationSchemaInformationPropertyType> theApplicationSchemaInfo;
theApplicationSchemaInfo = (this.isSetApplicationSchemaInfo()?this.getApplicationSchemaInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "applicationSchemaInfo", theApplicationSchemaInfo), currentHashCode, theApplicationSchemaInfo, this.isSetApplicationSchemaInfo());
}
{
MDMaintenanceInformationPropertyType theMetadataMaintenance;
theMetadataMaintenance = this.getMetadataMaintenance();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "metadataMaintenance", theMetadataMaintenance), currentHashCode, theMetadataMaintenance, this.isSetMetadataMaintenance());
}
{
List<DSAggregatePropertyType> theSeries;
theSeries = (this.isSetSeries()?this.getSeries():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "series", theSeries), currentHashCode, theSeries, this.isSetSeries());
}
{
List<DSDataSetPropertyType> theDescribes;
theDescribes = (this.isSetDescribes()?this.getDescribes():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "describes", theDescribes), currentHashCode, theDescribes, this.isSetDescribes());
}
{
List<ObjectReferencePropertyType> thePropertyType;
thePropertyType = (this.isSetPropertyType()?this.getPropertyType():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "propertyType", thePropertyType), currentHashCode, thePropertyType, this.isSetPropertyType());
}
{
List<ObjectReferencePropertyType> theFeatureType;
theFeatureType = (this.isSetFeatureType()?this.getFeatureType():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "featureType", theFeatureType), currentHashCode, theFeatureType, this.isSetFeatureType());
}
{
List<ObjectReferencePropertyType> theFeatureAttribute;
theFeatureAttribute = (this.isSetFeatureAttribute()?this.getFeatureAttribute():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "featureAttribute", theFeatureAttribute), currentHashCode, theFeatureAttribute, this.isSetFeatureAttribute());
}
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 MDMetadataType) {
final MDMetadataType copy = ((MDMetadataType) draftCopy);
{
Boolean fileIdentifierShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetFileIdentifier());
if (fileIdentifierShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceFileIdentifier;
sourceFileIdentifier = this.getFileIdentifier();
CharacterStringPropertyType copyFileIdentifier = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "fileIdentifier", sourceFileIdentifier), sourceFileIdentifier, this.isSetFileIdentifier()));
copy.setFileIdentifier(copyFileIdentifier);
} else {
if (fileIdentifierShouldBeCopiedAndSet == Boolean.FALSE) {
copy.fileIdentifier = null;
}
}
}
{
Boolean languageShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLanguage());
if (languageShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceLanguage;
sourceLanguage = this.getLanguage();
CharacterStringPropertyType copyLanguage = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "language", sourceLanguage), sourceLanguage, this.isSetLanguage()));
copy.setLanguage(copyLanguage);
} else {
if (languageShouldBeCopiedAndSet == Boolean.FALSE) {
copy.language = null;
}
}
}
{
Boolean characterSetShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetCharacterSet());
if (characterSetShouldBeCopiedAndSet == Boolean.TRUE) {
MDCharacterSetCodePropertyType sourceCharacterSet;
sourceCharacterSet = this.getCharacterSet();
MDCharacterSetCodePropertyType copyCharacterSet = ((MDCharacterSetCodePropertyType) strategy.copy(LocatorUtils.property(locator, "characterSet", sourceCharacterSet), sourceCharacterSet, this.isSetCharacterSet()));
copy.setCharacterSet(copyCharacterSet);
} else {
if (characterSetShouldBeCopiedAndSet == Boolean.FALSE) {
copy.characterSet = null;
}
}
}
{
Boolean parentIdentifierShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetParentIdentifier());
if (parentIdentifierShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceParentIdentifier;
sourceParentIdentifier = this.getParentIdentifier();
CharacterStringPropertyType copyParentIdentifier = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "parentIdentifier", sourceParentIdentifier), sourceParentIdentifier, this.isSetParentIdentifier()));
copy.setParentIdentifier(copyParentIdentifier);
} else {
if (parentIdentifierShouldBeCopiedAndSet == Boolean.FALSE) {
copy.parentIdentifier = null;
}
}
}
{
Boolean hierarchyLevelShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetHierarchyLevel());
if (hierarchyLevelShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDScopeCodePropertyType> sourceHierarchyLevel;
sourceHierarchyLevel = (this.isSetHierarchyLevel()?this.getHierarchyLevel():null);
@SuppressWarnings("unchecked")
List<MDScopeCodePropertyType> copyHierarchyLevel = ((List<MDScopeCodePropertyType> ) strategy.copy(LocatorUtils.property(locator, "hierarchyLevel", sourceHierarchyLevel), sourceHierarchyLevel, this.isSetHierarchyLevel()));
copy.unsetHierarchyLevel();
if (copyHierarchyLevel!= null) {
List<MDScopeCodePropertyType> uniqueHierarchyLevell = copy.getHierarchyLevel();
uniqueHierarchyLevell.addAll(copyHierarchyLevel);
}
} else {
if (hierarchyLevelShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetHierarchyLevel();
}
}
}
{
Boolean hierarchyLevelNameShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetHierarchyLevelName());
if (hierarchyLevelNameShouldBeCopiedAndSet == Boolean.TRUE) {
List<CharacterStringPropertyType> sourceHierarchyLevelName;
sourceHierarchyLevelName = (this.isSetHierarchyLevelName()?this.getHierarchyLevelName():null);
@SuppressWarnings("unchecked")
List<CharacterStringPropertyType> copyHierarchyLevelName = ((List<CharacterStringPropertyType> ) strategy.copy(LocatorUtils.property(locator, "hierarchyLevelName", sourceHierarchyLevelName), sourceHierarchyLevelName, this.isSetHierarchyLevelName()));
copy.unsetHierarchyLevelName();
if (copyHierarchyLevelName!= null) {
List<CharacterStringPropertyType> uniqueHierarchyLevelNamel = copy.getHierarchyLevelName();
uniqueHierarchyLevelNamel.addAll(copyHierarchyLevelName);
}
} else {
if (hierarchyLevelNameShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetHierarchyLevelName();
}
}
}
{
Boolean contactShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetContact());
if (contactShouldBeCopiedAndSet == Boolean.TRUE) {
List<CIResponsiblePartyPropertyType> sourceContact;
sourceContact = (this.isSetContact()?this.getContact():null);
@SuppressWarnings("unchecked")
List<CIResponsiblePartyPropertyType> copyContact = ((List<CIResponsiblePartyPropertyType> ) strategy.copy(LocatorUtils.property(locator, "contact", sourceContact), sourceContact, this.isSetContact()));
copy.unsetContact();
if (copyContact!= null) {
List<CIResponsiblePartyPropertyType> uniqueContactl = copy.getContact();
uniqueContactl.addAll(copyContact);
}
} else {
if (contactShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetContact();
}
}
}
{
Boolean dateStampShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDateStamp());
if (dateStampShouldBeCopiedAndSet == Boolean.TRUE) {
DatePropertyType sourceDateStamp;
sourceDateStamp = this.getDateStamp();
DatePropertyType copyDateStamp = ((DatePropertyType) strategy.copy(LocatorUtils.property(locator, "dateStamp", sourceDateStamp), sourceDateStamp, this.isSetDateStamp()));
copy.setDateStamp(copyDateStamp);
} else {
if (dateStampShouldBeCopiedAndSet == Boolean.FALSE) {
copy.dateStamp = null;
}
}
}
{
Boolean metadataStandardNameShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMetadataStandardName());
if (metadataStandardNameShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceMetadataStandardName;
sourceMetadataStandardName = this.getMetadataStandardName();
CharacterStringPropertyType copyMetadataStandardName = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "metadataStandardName", sourceMetadataStandardName), sourceMetadataStandardName, this.isSetMetadataStandardName()));
copy.setMetadataStandardName(copyMetadataStandardName);
} else {
if (metadataStandardNameShouldBeCopiedAndSet == Boolean.FALSE) {
copy.metadataStandardName = null;
}
}
}
{
Boolean metadataStandardVersionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMetadataStandardVersion());
if (metadataStandardVersionShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceMetadataStandardVersion;
sourceMetadataStandardVersion = this.getMetadataStandardVersion();
CharacterStringPropertyType copyMetadataStandardVersion = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "metadataStandardVersion", sourceMetadataStandardVersion), sourceMetadataStandardVersion, this.isSetMetadataStandardVersion()));
copy.setMetadataStandardVersion(copyMetadataStandardVersion);
} else {
if (metadataStandardVersionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.metadataStandardVersion = null;
}
}
}
{
Boolean dataSetURIShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDataSetURI());
if (dataSetURIShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceDataSetURI;
sourceDataSetURI = this.getDataSetURI();
CharacterStringPropertyType copyDataSetURI = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "dataSetURI", sourceDataSetURI), sourceDataSetURI, this.isSetDataSetURI()));
copy.setDataSetURI(copyDataSetURI);
} else {
if (dataSetURIShouldBeCopiedAndSet == Boolean.FALSE) {
copy.dataSetURI = null;
}
}
}
{
Boolean localeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetLocale());
if (localeShouldBeCopiedAndSet == Boolean.TRUE) {
List<PTLocalePropertyType> sourceLocale;
sourceLocale = (this.isSetLocale()?this.getLocale():null);
@SuppressWarnings("unchecked")
List<PTLocalePropertyType> copyLocale = ((List<PTLocalePropertyType> ) strategy.copy(LocatorUtils.property(locator, "locale", sourceLocale), sourceLocale, this.isSetLocale()));
copy.unsetLocale();
if (copyLocale!= null) {
List<PTLocalePropertyType> uniqueLocalel = copy.getLocale();
uniqueLocalel.addAll(copyLocale);
}
} else {
if (localeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetLocale();
}
}
}
{
Boolean spatialRepresentationInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetSpatialRepresentationInfo());
if (spatialRepresentationInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDSpatialRepresentationPropertyType> sourceSpatialRepresentationInfo;
sourceSpatialRepresentationInfo = (this.isSetSpatialRepresentationInfo()?this.getSpatialRepresentationInfo():null);
@SuppressWarnings("unchecked")
List<MDSpatialRepresentationPropertyType> copySpatialRepresentationInfo = ((List<MDSpatialRepresentationPropertyType> ) strategy.copy(LocatorUtils.property(locator, "spatialRepresentationInfo", sourceSpatialRepresentationInfo), sourceSpatialRepresentationInfo, this.isSetSpatialRepresentationInfo()));
copy.unsetSpatialRepresentationInfo();
if (copySpatialRepresentationInfo!= null) {
List<MDSpatialRepresentationPropertyType> uniqueSpatialRepresentationInfol = copy.getSpatialRepresentationInfo();
uniqueSpatialRepresentationInfol.addAll(copySpatialRepresentationInfo);
}
} else {
if (spatialRepresentationInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetSpatialRepresentationInfo();
}
}
}
{
Boolean referenceSystemInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetReferenceSystemInfo());
if (referenceSystemInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDReferenceSystemPropertyType> sourceReferenceSystemInfo;
sourceReferenceSystemInfo = (this.isSetReferenceSystemInfo()?this.getReferenceSystemInfo():null);
@SuppressWarnings("unchecked")
List<MDReferenceSystemPropertyType> copyReferenceSystemInfo = ((List<MDReferenceSystemPropertyType> ) strategy.copy(LocatorUtils.property(locator, "referenceSystemInfo", sourceReferenceSystemInfo), sourceReferenceSystemInfo, this.isSetReferenceSystemInfo()));
copy.unsetReferenceSystemInfo();
if (copyReferenceSystemInfo!= null) {
List<MDReferenceSystemPropertyType> uniqueReferenceSystemInfol = copy.getReferenceSystemInfo();
uniqueReferenceSystemInfol.addAll(copyReferenceSystemInfo);
}
} else {
if (referenceSystemInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetReferenceSystemInfo();
}
}
}
{
Boolean metadataExtensionInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMetadataExtensionInfo());
if (metadataExtensionInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDMetadataExtensionInformationPropertyType> sourceMetadataExtensionInfo;
sourceMetadataExtensionInfo = (this.isSetMetadataExtensionInfo()?this.getMetadataExtensionInfo():null);
@SuppressWarnings("unchecked")
List<MDMetadataExtensionInformationPropertyType> copyMetadataExtensionInfo = ((List<MDMetadataExtensionInformationPropertyType> ) strategy.copy(LocatorUtils.property(locator, "metadataExtensionInfo", sourceMetadataExtensionInfo), sourceMetadataExtensionInfo, this.isSetMetadataExtensionInfo()));
copy.unsetMetadataExtensionInfo();
if (copyMetadataExtensionInfo!= null) {
List<MDMetadataExtensionInformationPropertyType> uniqueMetadataExtensionInfol = copy.getMetadataExtensionInfo();
uniqueMetadataExtensionInfol.addAll(copyMetadataExtensionInfo);
}
} else {
if (metadataExtensionInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetMetadataExtensionInfo();
}
}
}
{
Boolean identificationInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetIdentificationInfo());
if (identificationInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDIdentificationPropertyType> sourceIdentificationInfo;
sourceIdentificationInfo = (this.isSetIdentificationInfo()?this.getIdentificationInfo():null);
@SuppressWarnings("unchecked")
List<MDIdentificationPropertyType> copyIdentificationInfo = ((List<MDIdentificationPropertyType> ) strategy.copy(LocatorUtils.property(locator, "identificationInfo", sourceIdentificationInfo), sourceIdentificationInfo, this.isSetIdentificationInfo()));
copy.unsetIdentificationInfo();
if (copyIdentificationInfo!= null) {
List<MDIdentificationPropertyType> uniqueIdentificationInfol = copy.getIdentificationInfo();
uniqueIdentificationInfol.addAll(copyIdentificationInfo);
}
} else {
if (identificationInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetIdentificationInfo();
}
}
}
{
Boolean contentInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetContentInfo());
if (contentInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDContentInformationPropertyType> sourceContentInfo;
sourceContentInfo = (this.isSetContentInfo()?this.getContentInfo():null);
@SuppressWarnings("unchecked")
List<MDContentInformationPropertyType> copyContentInfo = ((List<MDContentInformationPropertyType> ) strategy.copy(LocatorUtils.property(locator, "contentInfo", sourceContentInfo), sourceContentInfo, this.isSetContentInfo()));
copy.unsetContentInfo();
if (copyContentInfo!= null) {
List<MDContentInformationPropertyType> uniqueContentInfol = copy.getContentInfo();
uniqueContentInfol.addAll(copyContentInfo);
}
} else {
if (contentInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetContentInfo();
}
}
}
{
Boolean distributionInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDistributionInfo());
if (distributionInfoShouldBeCopiedAndSet == Boolean.TRUE) {
MDDistributionPropertyType sourceDistributionInfo;
sourceDistributionInfo = this.getDistributionInfo();
MDDistributionPropertyType copyDistributionInfo = ((MDDistributionPropertyType) strategy.copy(LocatorUtils.property(locator, "distributionInfo", sourceDistributionInfo), sourceDistributionInfo, this.isSetDistributionInfo()));
copy.setDistributionInfo(copyDistributionInfo);
} else {
if (distributionInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.distributionInfo = null;
}
}
}
{
Boolean dataQualityInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDataQualityInfo());
if (dataQualityInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<DQDataQualityPropertyType> sourceDataQualityInfo;
sourceDataQualityInfo = (this.isSetDataQualityInfo()?this.getDataQualityInfo():null);
@SuppressWarnings("unchecked")
List<DQDataQualityPropertyType> copyDataQualityInfo = ((List<DQDataQualityPropertyType> ) strategy.copy(LocatorUtils.property(locator, "dataQualityInfo", sourceDataQualityInfo), sourceDataQualityInfo, this.isSetDataQualityInfo()));
copy.unsetDataQualityInfo();
if (copyDataQualityInfo!= null) {
List<DQDataQualityPropertyType> uniqueDataQualityInfol = copy.getDataQualityInfo();
uniqueDataQualityInfol.addAll(copyDataQualityInfo);
}
} else {
if (dataQualityInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetDataQualityInfo();
}
}
}
{
Boolean portrayalCatalogueInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPortrayalCatalogueInfo());
if (portrayalCatalogueInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDPortrayalCatalogueReferencePropertyType> sourcePortrayalCatalogueInfo;
sourcePortrayalCatalogueInfo = (this.isSetPortrayalCatalogueInfo()?this.getPortrayalCatalogueInfo():null);
@SuppressWarnings("unchecked")
List<MDPortrayalCatalogueReferencePropertyType> copyPortrayalCatalogueInfo = ((List<MDPortrayalCatalogueReferencePropertyType> ) strategy.copy(LocatorUtils.property(locator, "portrayalCatalogueInfo", sourcePortrayalCatalogueInfo), sourcePortrayalCatalogueInfo, this.isSetPortrayalCatalogueInfo()));
copy.unsetPortrayalCatalogueInfo();
if (copyPortrayalCatalogueInfo!= null) {
List<MDPortrayalCatalogueReferencePropertyType> uniquePortrayalCatalogueInfol = copy.getPortrayalCatalogueInfo();
uniquePortrayalCatalogueInfol.addAll(copyPortrayalCatalogueInfo);
}
} else {
if (portrayalCatalogueInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetPortrayalCatalogueInfo();
}
}
}
{
Boolean metadataConstraintsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMetadataConstraints());
if (metadataConstraintsShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDConstraintsPropertyType> sourceMetadataConstraints;
sourceMetadataConstraints = (this.isSetMetadataConstraints()?this.getMetadataConstraints():null);
@SuppressWarnings("unchecked")
List<MDConstraintsPropertyType> copyMetadataConstraints = ((List<MDConstraintsPropertyType> ) strategy.copy(LocatorUtils.property(locator, "metadataConstraints", sourceMetadataConstraints), sourceMetadataConstraints, this.isSetMetadataConstraints()));
copy.unsetMetadataConstraints();
if (copyMetadataConstraints!= null) {
List<MDConstraintsPropertyType> uniqueMetadataConstraintsl = copy.getMetadataConstraints();
uniqueMetadataConstraintsl.addAll(copyMetadataConstraints);
}
} else {
if (metadataConstraintsShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetMetadataConstraints();
}
}
}
{
Boolean applicationSchemaInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetApplicationSchemaInfo());
if (applicationSchemaInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDApplicationSchemaInformationPropertyType> sourceApplicationSchemaInfo;
sourceApplicationSchemaInfo = (this.isSetApplicationSchemaInfo()?this.getApplicationSchemaInfo():null);
@SuppressWarnings("unchecked")
List<MDApplicationSchemaInformationPropertyType> copyApplicationSchemaInfo = ((List<MDApplicationSchemaInformationPropertyType> ) strategy.copy(LocatorUtils.property(locator, "applicationSchemaInfo", sourceApplicationSchemaInfo), sourceApplicationSchemaInfo, this.isSetApplicationSchemaInfo()));
copy.unsetApplicationSchemaInfo();
if (copyApplicationSchemaInfo!= null) {
List<MDApplicationSchemaInformationPropertyType> uniqueApplicationSchemaInfol = copy.getApplicationSchemaInfo();
uniqueApplicationSchemaInfol.addAll(copyApplicationSchemaInfo);
}
} else {
if (applicationSchemaInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetApplicationSchemaInfo();
}
}
}
{
Boolean metadataMaintenanceShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMetadataMaintenance());
if (metadataMaintenanceShouldBeCopiedAndSet == Boolean.TRUE) {
MDMaintenanceInformationPropertyType sourceMetadataMaintenance;
sourceMetadataMaintenance = this.getMetadataMaintenance();
MDMaintenanceInformationPropertyType copyMetadataMaintenance = ((MDMaintenanceInformationPropertyType) strategy.copy(LocatorUtils.property(locator, "metadataMaintenance", sourceMetadataMaintenance), sourceMetadataMaintenance, this.isSetMetadataMaintenance()));
copy.setMetadataMaintenance(copyMetadataMaintenance);
} else {
if (metadataMaintenanceShouldBeCopiedAndSet == Boolean.FALSE) {
copy.metadataMaintenance = null;
}
}
}
{
Boolean seriesShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetSeries());
if (seriesShouldBeCopiedAndSet == Boolean.TRUE) {
List<DSAggregatePropertyType> sourceSeries;
sourceSeries = (this.isSetSeries()?this.getSeries():null);
@SuppressWarnings("unchecked")
List<DSAggregatePropertyType> copySeries = ((List<DSAggregatePropertyType> ) strategy.copy(LocatorUtils.property(locator, "series", sourceSeries), sourceSeries, this.isSetSeries()));
copy.unsetSeries();
if (copySeries!= null) {
List<DSAggregatePropertyType> uniqueSeriesl = copy.getSeries();
uniqueSeriesl.addAll(copySeries);
}
} else {
if (seriesShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetSeries();
}
}
}
{
Boolean describesShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDescribes());
if (describesShouldBeCopiedAndSet == Boolean.TRUE) {
List<DSDataSetPropertyType> sourceDescribes;
sourceDescribes = (this.isSetDescribes()?this.getDescribes():null);
@SuppressWarnings("unchecked")
List<DSDataSetPropertyType> copyDescribes = ((List<DSDataSetPropertyType> ) strategy.copy(LocatorUtils.property(locator, "describes", sourceDescribes), sourceDescribes, this.isSetDescribes()));
copy.unsetDescribes();
if (copyDescribes!= null) {
List<DSDataSetPropertyType> uniqueDescribesl = copy.getDescribes();
uniqueDescribesl.addAll(copyDescribes);
}
} else {
if (describesShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetDescribes();
}
}
}
{
Boolean propertyTypeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPropertyType());
if (propertyTypeShouldBeCopiedAndSet == Boolean.TRUE) {
List<ObjectReferencePropertyType> sourcePropertyType;
sourcePropertyType = (this.isSetPropertyType()?this.getPropertyType():null);
@SuppressWarnings("unchecked")
List<ObjectReferencePropertyType> copyPropertyType = ((List<ObjectReferencePropertyType> ) strategy.copy(LocatorUtils.property(locator, "propertyType", sourcePropertyType), sourcePropertyType, this.isSetPropertyType()));
copy.unsetPropertyType();
if (copyPropertyType!= null) {
List<ObjectReferencePropertyType> uniquePropertyTypel = copy.getPropertyType();
uniquePropertyTypel.addAll(copyPropertyType);
}
} else {
if (propertyTypeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetPropertyType();
}
}
}
{
Boolean featureTypeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetFeatureType());
if (featureTypeShouldBeCopiedAndSet == Boolean.TRUE) {
List<ObjectReferencePropertyType> sourceFeatureType;
sourceFeatureType = (this.isSetFeatureType()?this.getFeatureType():null);
@SuppressWarnings("unchecked")
List<ObjectReferencePropertyType> copyFeatureType = ((List<ObjectReferencePropertyType> ) strategy.copy(LocatorUtils.property(locator, "featureType", sourceFeatureType), sourceFeatureType, this.isSetFeatureType()));
copy.unsetFeatureType();
if (copyFeatureType!= null) {
List<ObjectReferencePropertyType> uniqueFeatureTypel = copy.getFeatureType();
uniqueFeatureTypel.addAll(copyFeatureType);
}
} else {
if (featureTypeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetFeatureType();
}
}
}
{
Boolean featureAttributeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetFeatureAttribute());
if (featureAttributeShouldBeCopiedAndSet == Boolean.TRUE) {
List<ObjectReferencePropertyType> sourceFeatureAttribute;
sourceFeatureAttribute = (this.isSetFeatureAttribute()?this.getFeatureAttribute():null);
@SuppressWarnings("unchecked")
List<ObjectReferencePropertyType> copyFeatureAttribute = ((List<ObjectReferencePropertyType> ) strategy.copy(LocatorUtils.property(locator, "featureAttribute", sourceFeatureAttribute), sourceFeatureAttribute, this.isSetFeatureAttribute()));
copy.unsetFeatureAttribute();
if (copyFeatureAttribute!= null) {
List<ObjectReferencePropertyType> uniqueFeatureAttributel = copy.getFeatureAttribute();
uniqueFeatureAttributel.addAll(copyFeatureAttribute);
}
} else {
if (featureAttributeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetFeatureAttribute();
}
}
}
}
return draftCopy;
}
public Object createNewInstance() {
return new MDMetadataType();
}
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 MDMetadataType) {
final MDMetadataType target = this;
final MDMetadataType leftObject = ((MDMetadataType) left);
final MDMetadataType rightObject = ((MDMetadataType) right);
{
Boolean fileIdentifierShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetFileIdentifier(), rightObject.isSetFileIdentifier());
if (fileIdentifierShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsFileIdentifier;
lhsFileIdentifier = leftObject.getFileIdentifier();
CharacterStringPropertyType rhsFileIdentifier;
rhsFileIdentifier = rightObject.getFileIdentifier();
CharacterStringPropertyType mergedFileIdentifier = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "fileIdentifier", lhsFileIdentifier), LocatorUtils.property(rightLocator, "fileIdentifier", rhsFileIdentifier), lhsFileIdentifier, rhsFileIdentifier, leftObject.isSetFileIdentifier(), rightObject.isSetFileIdentifier()));
target.setFileIdentifier(mergedFileIdentifier);
} else {
if (fileIdentifierShouldBeMergedAndSet == Boolean.FALSE) {
target.fileIdentifier = null;
}
}
}
{
Boolean languageShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLanguage(), rightObject.isSetLanguage());
if (languageShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsLanguage;
lhsLanguage = leftObject.getLanguage();
CharacterStringPropertyType rhsLanguage;
rhsLanguage = rightObject.getLanguage();
CharacterStringPropertyType mergedLanguage = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "language", lhsLanguage), LocatorUtils.property(rightLocator, "language", rhsLanguage), lhsLanguage, rhsLanguage, leftObject.isSetLanguage(), rightObject.isSetLanguage()));
target.setLanguage(mergedLanguage);
} else {
if (languageShouldBeMergedAndSet == Boolean.FALSE) {
target.language = null;
}
}
}
{
Boolean characterSetShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetCharacterSet(), rightObject.isSetCharacterSet());
if (characterSetShouldBeMergedAndSet == Boolean.TRUE) {
MDCharacterSetCodePropertyType lhsCharacterSet;
lhsCharacterSet = leftObject.getCharacterSet();
MDCharacterSetCodePropertyType rhsCharacterSet;
rhsCharacterSet = rightObject.getCharacterSet();
MDCharacterSetCodePropertyType mergedCharacterSet = ((MDCharacterSetCodePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "characterSet", lhsCharacterSet), LocatorUtils.property(rightLocator, "characterSet", rhsCharacterSet), lhsCharacterSet, rhsCharacterSet, leftObject.isSetCharacterSet(), rightObject.isSetCharacterSet()));
target.setCharacterSet(mergedCharacterSet);
} else {
if (characterSetShouldBeMergedAndSet == Boolean.FALSE) {
target.characterSet = null;
}
}
}
{
Boolean parentIdentifierShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetParentIdentifier(), rightObject.isSetParentIdentifier());
if (parentIdentifierShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsParentIdentifier;
lhsParentIdentifier = leftObject.getParentIdentifier();
CharacterStringPropertyType rhsParentIdentifier;
rhsParentIdentifier = rightObject.getParentIdentifier();
CharacterStringPropertyType mergedParentIdentifier = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "parentIdentifier", lhsParentIdentifier), LocatorUtils.property(rightLocator, "parentIdentifier", rhsParentIdentifier), lhsParentIdentifier, rhsParentIdentifier, leftObject.isSetParentIdentifier(), rightObject.isSetParentIdentifier()));
target.setParentIdentifier(mergedParentIdentifier);
} else {
if (parentIdentifierShouldBeMergedAndSet == Boolean.FALSE) {
target.parentIdentifier = null;
}
}
}
{
Boolean hierarchyLevelShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetHierarchyLevel(), rightObject.isSetHierarchyLevel());
if (hierarchyLevelShouldBeMergedAndSet == Boolean.TRUE) {
List<MDScopeCodePropertyType> lhsHierarchyLevel;
lhsHierarchyLevel = (leftObject.isSetHierarchyLevel()?leftObject.getHierarchyLevel():null);
List<MDScopeCodePropertyType> rhsHierarchyLevel;
rhsHierarchyLevel = (rightObject.isSetHierarchyLevel()?rightObject.getHierarchyLevel():null);
List<MDScopeCodePropertyType> mergedHierarchyLevel = ((List<MDScopeCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "hierarchyLevel", lhsHierarchyLevel), LocatorUtils.property(rightLocator, "hierarchyLevel", rhsHierarchyLevel), lhsHierarchyLevel, rhsHierarchyLevel, leftObject.isSetHierarchyLevel(), rightObject.isSetHierarchyLevel()));
target.unsetHierarchyLevel();
if (mergedHierarchyLevel!= null) {
List<MDScopeCodePropertyType> uniqueHierarchyLevell = target.getHierarchyLevel();
uniqueHierarchyLevell.addAll(mergedHierarchyLevel);
}
} else {
if (hierarchyLevelShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetHierarchyLevel();
}
}
}
{
Boolean hierarchyLevelNameShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetHierarchyLevelName(), rightObject.isSetHierarchyLevelName());
if (hierarchyLevelNameShouldBeMergedAndSet == Boolean.TRUE) {
List<CharacterStringPropertyType> lhsHierarchyLevelName;
lhsHierarchyLevelName = (leftObject.isSetHierarchyLevelName()?leftObject.getHierarchyLevelName():null);
List<CharacterStringPropertyType> rhsHierarchyLevelName;
rhsHierarchyLevelName = (rightObject.isSetHierarchyLevelName()?rightObject.getHierarchyLevelName():null);
List<CharacterStringPropertyType> mergedHierarchyLevelName = ((List<CharacterStringPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "hierarchyLevelName", lhsHierarchyLevelName), LocatorUtils.property(rightLocator, "hierarchyLevelName", rhsHierarchyLevelName), lhsHierarchyLevelName, rhsHierarchyLevelName, leftObject.isSetHierarchyLevelName(), rightObject.isSetHierarchyLevelName()));
target.unsetHierarchyLevelName();
if (mergedHierarchyLevelName!= null) {
List<CharacterStringPropertyType> uniqueHierarchyLevelNamel = target.getHierarchyLevelName();
uniqueHierarchyLevelNamel.addAll(mergedHierarchyLevelName);
}
} else {
if (hierarchyLevelNameShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetHierarchyLevelName();
}
}
}
{
Boolean contactShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetContact(), rightObject.isSetContact());
if (contactShouldBeMergedAndSet == Boolean.TRUE) {
List<CIResponsiblePartyPropertyType> lhsContact;
lhsContact = (leftObject.isSetContact()?leftObject.getContact():null);
List<CIResponsiblePartyPropertyType> rhsContact;
rhsContact = (rightObject.isSetContact()?rightObject.getContact():null);
List<CIResponsiblePartyPropertyType> mergedContact = ((List<CIResponsiblePartyPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "contact", lhsContact), LocatorUtils.property(rightLocator, "contact", rhsContact), lhsContact, rhsContact, leftObject.isSetContact(), rightObject.isSetContact()));
target.unsetContact();
if (mergedContact!= null) {
List<CIResponsiblePartyPropertyType> uniqueContactl = target.getContact();
uniqueContactl.addAll(mergedContact);
}
} else {
if (contactShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetContact();
}
}
}
{
Boolean dateStampShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDateStamp(), rightObject.isSetDateStamp());
if (dateStampShouldBeMergedAndSet == Boolean.TRUE) {
DatePropertyType lhsDateStamp;
lhsDateStamp = leftObject.getDateStamp();
DatePropertyType rhsDateStamp;
rhsDateStamp = rightObject.getDateStamp();
DatePropertyType mergedDateStamp = ((DatePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "dateStamp", lhsDateStamp), LocatorUtils.property(rightLocator, "dateStamp", rhsDateStamp), lhsDateStamp, rhsDateStamp, leftObject.isSetDateStamp(), rightObject.isSetDateStamp()));
target.setDateStamp(mergedDateStamp);
} else {
if (dateStampShouldBeMergedAndSet == Boolean.FALSE) {
target.dateStamp = null;
}
}
}
{
Boolean metadataStandardNameShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMetadataStandardName(), rightObject.isSetMetadataStandardName());
if (metadataStandardNameShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsMetadataStandardName;
lhsMetadataStandardName = leftObject.getMetadataStandardName();
CharacterStringPropertyType rhsMetadataStandardName;
rhsMetadataStandardName = rightObject.getMetadataStandardName();
CharacterStringPropertyType mergedMetadataStandardName = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "metadataStandardName", lhsMetadataStandardName), LocatorUtils.property(rightLocator, "metadataStandardName", rhsMetadataStandardName), lhsMetadataStandardName, rhsMetadataStandardName, leftObject.isSetMetadataStandardName(), rightObject.isSetMetadataStandardName()));
target.setMetadataStandardName(mergedMetadataStandardName);
} else {
if (metadataStandardNameShouldBeMergedAndSet == Boolean.FALSE) {
target.metadataStandardName = null;
}
}
}
{
Boolean metadataStandardVersionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMetadataStandardVersion(), rightObject.isSetMetadataStandardVersion());
if (metadataStandardVersionShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsMetadataStandardVersion;
lhsMetadataStandardVersion = leftObject.getMetadataStandardVersion();
CharacterStringPropertyType rhsMetadataStandardVersion;
rhsMetadataStandardVersion = rightObject.getMetadataStandardVersion();
CharacterStringPropertyType mergedMetadataStandardVersion = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "metadataStandardVersion", lhsMetadataStandardVersion), LocatorUtils.property(rightLocator, "metadataStandardVersion", rhsMetadataStandardVersion), lhsMetadataStandardVersion, rhsMetadataStandardVersion, leftObject.isSetMetadataStandardVersion(), rightObject.isSetMetadataStandardVersion()));
target.setMetadataStandardVersion(mergedMetadataStandardVersion);
} else {
if (metadataStandardVersionShouldBeMergedAndSet == Boolean.FALSE) {
target.metadataStandardVersion = null;
}
}
}
{
Boolean dataSetURIShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDataSetURI(), rightObject.isSetDataSetURI());
if (dataSetURIShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsDataSetURI;
lhsDataSetURI = leftObject.getDataSetURI();
CharacterStringPropertyType rhsDataSetURI;
rhsDataSetURI = rightObject.getDataSetURI();
CharacterStringPropertyType mergedDataSetURI = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "dataSetURI", lhsDataSetURI), LocatorUtils.property(rightLocator, "dataSetURI", rhsDataSetURI), lhsDataSetURI, rhsDataSetURI, leftObject.isSetDataSetURI(), rightObject.isSetDataSetURI()));
target.setDataSetURI(mergedDataSetURI);
} else {
if (dataSetURIShouldBeMergedAndSet == Boolean.FALSE) {
target.dataSetURI = null;
}
}
}
{
Boolean localeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetLocale(), rightObject.isSetLocale());
if (localeShouldBeMergedAndSet == Boolean.TRUE) {
List<PTLocalePropertyType> lhsLocale;
lhsLocale = (leftObject.isSetLocale()?leftObject.getLocale():null);
List<PTLocalePropertyType> rhsLocale;
rhsLocale = (rightObject.isSetLocale()?rightObject.getLocale():null);
List<PTLocalePropertyType> mergedLocale = ((List<PTLocalePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "locale", lhsLocale), LocatorUtils.property(rightLocator, "locale", rhsLocale), lhsLocale, rhsLocale, leftObject.isSetLocale(), rightObject.isSetLocale()));
target.unsetLocale();
if (mergedLocale!= null) {
List<PTLocalePropertyType> uniqueLocalel = target.getLocale();
uniqueLocalel.addAll(mergedLocale);
}
} else {
if (localeShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetLocale();
}
}
}
{
Boolean spatialRepresentationInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetSpatialRepresentationInfo(), rightObject.isSetSpatialRepresentationInfo());
if (spatialRepresentationInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<MDSpatialRepresentationPropertyType> lhsSpatialRepresentationInfo;
lhsSpatialRepresentationInfo = (leftObject.isSetSpatialRepresentationInfo()?leftObject.getSpatialRepresentationInfo():null);
List<MDSpatialRepresentationPropertyType> rhsSpatialRepresentationInfo;
rhsSpatialRepresentationInfo = (rightObject.isSetSpatialRepresentationInfo()?rightObject.getSpatialRepresentationInfo():null);
List<MDSpatialRepresentationPropertyType> mergedSpatialRepresentationInfo = ((List<MDSpatialRepresentationPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "spatialRepresentationInfo", lhsSpatialRepresentationInfo), LocatorUtils.property(rightLocator, "spatialRepresentationInfo", rhsSpatialRepresentationInfo), lhsSpatialRepresentationInfo, rhsSpatialRepresentationInfo, leftObject.isSetSpatialRepresentationInfo(), rightObject.isSetSpatialRepresentationInfo()));
target.unsetSpatialRepresentationInfo();
if (mergedSpatialRepresentationInfo!= null) {
List<MDSpatialRepresentationPropertyType> uniqueSpatialRepresentationInfol = target.getSpatialRepresentationInfo();
uniqueSpatialRepresentationInfol.addAll(mergedSpatialRepresentationInfo);
}
} else {
if (spatialRepresentationInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetSpatialRepresentationInfo();
}
}
}
{
Boolean referenceSystemInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetReferenceSystemInfo(), rightObject.isSetReferenceSystemInfo());
if (referenceSystemInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<MDReferenceSystemPropertyType> lhsReferenceSystemInfo;
lhsReferenceSystemInfo = (leftObject.isSetReferenceSystemInfo()?leftObject.getReferenceSystemInfo():null);
List<MDReferenceSystemPropertyType> rhsReferenceSystemInfo;
rhsReferenceSystemInfo = (rightObject.isSetReferenceSystemInfo()?rightObject.getReferenceSystemInfo():null);
List<MDReferenceSystemPropertyType> mergedReferenceSystemInfo = ((List<MDReferenceSystemPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "referenceSystemInfo", lhsReferenceSystemInfo), LocatorUtils.property(rightLocator, "referenceSystemInfo", rhsReferenceSystemInfo), lhsReferenceSystemInfo, rhsReferenceSystemInfo, leftObject.isSetReferenceSystemInfo(), rightObject.isSetReferenceSystemInfo()));
target.unsetReferenceSystemInfo();
if (mergedReferenceSystemInfo!= null) {
List<MDReferenceSystemPropertyType> uniqueReferenceSystemInfol = target.getReferenceSystemInfo();
uniqueReferenceSystemInfol.addAll(mergedReferenceSystemInfo);
}
} else {
if (referenceSystemInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetReferenceSystemInfo();
}
}
}
{
Boolean metadataExtensionInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMetadataExtensionInfo(), rightObject.isSetMetadataExtensionInfo());
if (metadataExtensionInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<MDMetadataExtensionInformationPropertyType> lhsMetadataExtensionInfo;
lhsMetadataExtensionInfo = (leftObject.isSetMetadataExtensionInfo()?leftObject.getMetadataExtensionInfo():null);
List<MDMetadataExtensionInformationPropertyType> rhsMetadataExtensionInfo;
rhsMetadataExtensionInfo = (rightObject.isSetMetadataExtensionInfo()?rightObject.getMetadataExtensionInfo():null);
List<MDMetadataExtensionInformationPropertyType> mergedMetadataExtensionInfo = ((List<MDMetadataExtensionInformationPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "metadataExtensionInfo", lhsMetadataExtensionInfo), LocatorUtils.property(rightLocator, "metadataExtensionInfo", rhsMetadataExtensionInfo), lhsMetadataExtensionInfo, rhsMetadataExtensionInfo, leftObject.isSetMetadataExtensionInfo(), rightObject.isSetMetadataExtensionInfo()));
target.unsetMetadataExtensionInfo();
if (mergedMetadataExtensionInfo!= null) {
List<MDMetadataExtensionInformationPropertyType> uniqueMetadataExtensionInfol = target.getMetadataExtensionInfo();
uniqueMetadataExtensionInfol.addAll(mergedMetadataExtensionInfo);
}
} else {
if (metadataExtensionInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetMetadataExtensionInfo();
}
}
}
{
Boolean identificationInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetIdentificationInfo(), rightObject.isSetIdentificationInfo());
if (identificationInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<MDIdentificationPropertyType> lhsIdentificationInfo;
lhsIdentificationInfo = (leftObject.isSetIdentificationInfo()?leftObject.getIdentificationInfo():null);
List<MDIdentificationPropertyType> rhsIdentificationInfo;
rhsIdentificationInfo = (rightObject.isSetIdentificationInfo()?rightObject.getIdentificationInfo():null);
List<MDIdentificationPropertyType> mergedIdentificationInfo = ((List<MDIdentificationPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "identificationInfo", lhsIdentificationInfo), LocatorUtils.property(rightLocator, "identificationInfo", rhsIdentificationInfo), lhsIdentificationInfo, rhsIdentificationInfo, leftObject.isSetIdentificationInfo(), rightObject.isSetIdentificationInfo()));
target.unsetIdentificationInfo();
if (mergedIdentificationInfo!= null) {
List<MDIdentificationPropertyType> uniqueIdentificationInfol = target.getIdentificationInfo();
uniqueIdentificationInfol.addAll(mergedIdentificationInfo);
}
} else {
if (identificationInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetIdentificationInfo();
}
}
}
{
Boolean contentInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetContentInfo(), rightObject.isSetContentInfo());
if (contentInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<MDContentInformationPropertyType> lhsContentInfo;
lhsContentInfo = (leftObject.isSetContentInfo()?leftObject.getContentInfo():null);
List<MDContentInformationPropertyType> rhsContentInfo;
rhsContentInfo = (rightObject.isSetContentInfo()?rightObject.getContentInfo():null);
List<MDContentInformationPropertyType> mergedContentInfo = ((List<MDContentInformationPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "contentInfo", lhsContentInfo), LocatorUtils.property(rightLocator, "contentInfo", rhsContentInfo), lhsContentInfo, rhsContentInfo, leftObject.isSetContentInfo(), rightObject.isSetContentInfo()));
target.unsetContentInfo();
if (mergedContentInfo!= null) {
List<MDContentInformationPropertyType> uniqueContentInfol = target.getContentInfo();
uniqueContentInfol.addAll(mergedContentInfo);
}
} else {
if (contentInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetContentInfo();
}
}
}
{
Boolean distributionInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDistributionInfo(), rightObject.isSetDistributionInfo());
if (distributionInfoShouldBeMergedAndSet == Boolean.TRUE) {
MDDistributionPropertyType lhsDistributionInfo;
lhsDistributionInfo = leftObject.getDistributionInfo();
MDDistributionPropertyType rhsDistributionInfo;
rhsDistributionInfo = rightObject.getDistributionInfo();
MDDistributionPropertyType mergedDistributionInfo = ((MDDistributionPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "distributionInfo", lhsDistributionInfo), LocatorUtils.property(rightLocator, "distributionInfo", rhsDistributionInfo), lhsDistributionInfo, rhsDistributionInfo, leftObject.isSetDistributionInfo(), rightObject.isSetDistributionInfo()));
target.setDistributionInfo(mergedDistributionInfo);
} else {
if (distributionInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.distributionInfo = null;
}
}
}
{
Boolean dataQualityInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDataQualityInfo(), rightObject.isSetDataQualityInfo());
if (dataQualityInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<DQDataQualityPropertyType> lhsDataQualityInfo;
lhsDataQualityInfo = (leftObject.isSetDataQualityInfo()?leftObject.getDataQualityInfo():null);
List<DQDataQualityPropertyType> rhsDataQualityInfo;
rhsDataQualityInfo = (rightObject.isSetDataQualityInfo()?rightObject.getDataQualityInfo():null);
List<DQDataQualityPropertyType> mergedDataQualityInfo = ((List<DQDataQualityPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "dataQualityInfo", lhsDataQualityInfo), LocatorUtils.property(rightLocator, "dataQualityInfo", rhsDataQualityInfo), lhsDataQualityInfo, rhsDataQualityInfo, leftObject.isSetDataQualityInfo(), rightObject.isSetDataQualityInfo()));
target.unsetDataQualityInfo();
if (mergedDataQualityInfo!= null) {
List<DQDataQualityPropertyType> uniqueDataQualityInfol = target.getDataQualityInfo();
uniqueDataQualityInfol.addAll(mergedDataQualityInfo);
}
} else {
if (dataQualityInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetDataQualityInfo();
}
}
}
{
Boolean portrayalCatalogueInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPortrayalCatalogueInfo(), rightObject.isSetPortrayalCatalogueInfo());
if (portrayalCatalogueInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<MDPortrayalCatalogueReferencePropertyType> lhsPortrayalCatalogueInfo;
lhsPortrayalCatalogueInfo = (leftObject.isSetPortrayalCatalogueInfo()?leftObject.getPortrayalCatalogueInfo():null);
List<MDPortrayalCatalogueReferencePropertyType> rhsPortrayalCatalogueInfo;
rhsPortrayalCatalogueInfo = (rightObject.isSetPortrayalCatalogueInfo()?rightObject.getPortrayalCatalogueInfo():null);
List<MDPortrayalCatalogueReferencePropertyType> mergedPortrayalCatalogueInfo = ((List<MDPortrayalCatalogueReferencePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "portrayalCatalogueInfo", lhsPortrayalCatalogueInfo), LocatorUtils.property(rightLocator, "portrayalCatalogueInfo", rhsPortrayalCatalogueInfo), lhsPortrayalCatalogueInfo, rhsPortrayalCatalogueInfo, leftObject.isSetPortrayalCatalogueInfo(), rightObject.isSetPortrayalCatalogueInfo()));
target.unsetPortrayalCatalogueInfo();
if (mergedPortrayalCatalogueInfo!= null) {
List<MDPortrayalCatalogueReferencePropertyType> uniquePortrayalCatalogueInfol = target.getPortrayalCatalogueInfo();
uniquePortrayalCatalogueInfol.addAll(mergedPortrayalCatalogueInfo);
}
} else {
if (portrayalCatalogueInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetPortrayalCatalogueInfo();
}
}
}
{
Boolean metadataConstraintsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMetadataConstraints(), rightObject.isSetMetadataConstraints());
if (metadataConstraintsShouldBeMergedAndSet == Boolean.TRUE) {
List<MDConstraintsPropertyType> lhsMetadataConstraints;
lhsMetadataConstraints = (leftObject.isSetMetadataConstraints()?leftObject.getMetadataConstraints():null);
List<MDConstraintsPropertyType> rhsMetadataConstraints;
rhsMetadataConstraints = (rightObject.isSetMetadataConstraints()?rightObject.getMetadataConstraints():null);
List<MDConstraintsPropertyType> mergedMetadataConstraints = ((List<MDConstraintsPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "metadataConstraints", lhsMetadataConstraints), LocatorUtils.property(rightLocator, "metadataConstraints", rhsMetadataConstraints), lhsMetadataConstraints, rhsMetadataConstraints, leftObject.isSetMetadataConstraints(), rightObject.isSetMetadataConstraints()));
target.unsetMetadataConstraints();
if (mergedMetadataConstraints!= null) {
List<MDConstraintsPropertyType> uniqueMetadataConstraintsl = target.getMetadataConstraints();
uniqueMetadataConstraintsl.addAll(mergedMetadataConstraints);
}
} else {
if (metadataConstraintsShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetMetadataConstraints();
}
}
}
{
Boolean applicationSchemaInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetApplicationSchemaInfo(), rightObject.isSetApplicationSchemaInfo());
if (applicationSchemaInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<MDApplicationSchemaInformationPropertyType> lhsApplicationSchemaInfo;
lhsApplicationSchemaInfo = (leftObject.isSetApplicationSchemaInfo()?leftObject.getApplicationSchemaInfo():null);
List<MDApplicationSchemaInformationPropertyType> rhsApplicationSchemaInfo;
rhsApplicationSchemaInfo = (rightObject.isSetApplicationSchemaInfo()?rightObject.getApplicationSchemaInfo():null);
List<MDApplicationSchemaInformationPropertyType> mergedApplicationSchemaInfo = ((List<MDApplicationSchemaInformationPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "applicationSchemaInfo", lhsApplicationSchemaInfo), LocatorUtils.property(rightLocator, "applicationSchemaInfo", rhsApplicationSchemaInfo), lhsApplicationSchemaInfo, rhsApplicationSchemaInfo, leftObject.isSetApplicationSchemaInfo(), rightObject.isSetApplicationSchemaInfo()));
target.unsetApplicationSchemaInfo();
if (mergedApplicationSchemaInfo!= null) {
List<MDApplicationSchemaInformationPropertyType> uniqueApplicationSchemaInfol = target.getApplicationSchemaInfo();
uniqueApplicationSchemaInfol.addAll(mergedApplicationSchemaInfo);
}
} else {
if (applicationSchemaInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetApplicationSchemaInfo();
}
}
}
{
Boolean metadataMaintenanceShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMetadataMaintenance(), rightObject.isSetMetadataMaintenance());
if (metadataMaintenanceShouldBeMergedAndSet == Boolean.TRUE) {
MDMaintenanceInformationPropertyType lhsMetadataMaintenance;
lhsMetadataMaintenance = leftObject.getMetadataMaintenance();
MDMaintenanceInformationPropertyType rhsMetadataMaintenance;
rhsMetadataMaintenance = rightObject.getMetadataMaintenance();
MDMaintenanceInformationPropertyType mergedMetadataMaintenance = ((MDMaintenanceInformationPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "metadataMaintenance", lhsMetadataMaintenance), LocatorUtils.property(rightLocator, "metadataMaintenance", rhsMetadataMaintenance), lhsMetadataMaintenance, rhsMetadataMaintenance, leftObject.isSetMetadataMaintenance(), rightObject.isSetMetadataMaintenance()));
target.setMetadataMaintenance(mergedMetadataMaintenance);
} else {
if (metadataMaintenanceShouldBeMergedAndSet == Boolean.FALSE) {
target.metadataMaintenance = null;
}
}
}
{
Boolean seriesShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetSeries(), rightObject.isSetSeries());
if (seriesShouldBeMergedAndSet == Boolean.TRUE) {
List<DSAggregatePropertyType> lhsSeries;
lhsSeries = (leftObject.isSetSeries()?leftObject.getSeries():null);
List<DSAggregatePropertyType> rhsSeries;
rhsSeries = (rightObject.isSetSeries()?rightObject.getSeries():null);
List<DSAggregatePropertyType> mergedSeries = ((List<DSAggregatePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "series", lhsSeries), LocatorUtils.property(rightLocator, "series", rhsSeries), lhsSeries, rhsSeries, leftObject.isSetSeries(), rightObject.isSetSeries()));
target.unsetSeries();
if (mergedSeries!= null) {
List<DSAggregatePropertyType> uniqueSeriesl = target.getSeries();
uniqueSeriesl.addAll(mergedSeries);
}
} else {
if (seriesShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetSeries();
}
}
}
{
Boolean describesShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDescribes(), rightObject.isSetDescribes());
if (describesShouldBeMergedAndSet == Boolean.TRUE) {
List<DSDataSetPropertyType> lhsDescribes;
lhsDescribes = (leftObject.isSetDescribes()?leftObject.getDescribes():null);
List<DSDataSetPropertyType> rhsDescribes;
rhsDescribes = (rightObject.isSetDescribes()?rightObject.getDescribes():null);
List<DSDataSetPropertyType> mergedDescribes = ((List<DSDataSetPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "describes", lhsDescribes), LocatorUtils.property(rightLocator, "describes", rhsDescribes), lhsDescribes, rhsDescribes, leftObject.isSetDescribes(), rightObject.isSetDescribes()));
target.unsetDescribes();
if (mergedDescribes!= null) {
List<DSDataSetPropertyType> uniqueDescribesl = target.getDescribes();
uniqueDescribesl.addAll(mergedDescribes);
}
} else {
if (describesShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetDescribes();
}
}
}
{
Boolean propertyTypeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPropertyType(), rightObject.isSetPropertyType());
if (propertyTypeShouldBeMergedAndSet == Boolean.TRUE) {
List<ObjectReferencePropertyType> lhsPropertyType;
lhsPropertyType = (leftObject.isSetPropertyType()?leftObject.getPropertyType():null);
List<ObjectReferencePropertyType> rhsPropertyType;
rhsPropertyType = (rightObject.isSetPropertyType()?rightObject.getPropertyType():null);
List<ObjectReferencePropertyType> mergedPropertyType = ((List<ObjectReferencePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "propertyType", lhsPropertyType), LocatorUtils.property(rightLocator, "propertyType", rhsPropertyType), lhsPropertyType, rhsPropertyType, leftObject.isSetPropertyType(), rightObject.isSetPropertyType()));
target.unsetPropertyType();
if (mergedPropertyType!= null) {
List<ObjectReferencePropertyType> uniquePropertyTypel = target.getPropertyType();
uniquePropertyTypel.addAll(mergedPropertyType);
}
} else {
if (propertyTypeShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetPropertyType();
}
}
}
{
Boolean featureTypeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetFeatureType(), rightObject.isSetFeatureType());
if (featureTypeShouldBeMergedAndSet == Boolean.TRUE) {
List<ObjectReferencePropertyType> lhsFeatureType;
lhsFeatureType = (leftObject.isSetFeatureType()?leftObject.getFeatureType():null);
List<ObjectReferencePropertyType> rhsFeatureType;
rhsFeatureType = (rightObject.isSetFeatureType()?rightObject.getFeatureType():null);
List<ObjectReferencePropertyType> mergedFeatureType = ((List<ObjectReferencePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "featureType", lhsFeatureType), LocatorUtils.property(rightLocator, "featureType", rhsFeatureType), lhsFeatureType, rhsFeatureType, leftObject.isSetFeatureType(), rightObject.isSetFeatureType()));
target.unsetFeatureType();
if (mergedFeatureType!= null) {
List<ObjectReferencePropertyType> uniqueFeatureTypel = target.getFeatureType();
uniqueFeatureTypel.addAll(mergedFeatureType);
}
} else {
if (featureTypeShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetFeatureType();
}
}
}
{
Boolean featureAttributeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetFeatureAttribute(), rightObject.isSetFeatureAttribute());
if (featureAttributeShouldBeMergedAndSet == Boolean.TRUE) {
List<ObjectReferencePropertyType> lhsFeatureAttribute;
lhsFeatureAttribute = (leftObject.isSetFeatureAttribute()?leftObject.getFeatureAttribute():null);
List<ObjectReferencePropertyType> rhsFeatureAttribute;
rhsFeatureAttribute = (rightObject.isSetFeatureAttribute()?rightObject.getFeatureAttribute():null);
List<ObjectReferencePropertyType> mergedFeatureAttribute = ((List<ObjectReferencePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "featureAttribute", lhsFeatureAttribute), LocatorUtils.property(rightLocator, "featureAttribute", rhsFeatureAttribute), lhsFeatureAttribute, rhsFeatureAttribute, leftObject.isSetFeatureAttribute(), rightObject.isSetFeatureAttribute()));
target.unsetFeatureAttribute();
if (mergedFeatureAttribute!= null) {
List<ObjectReferencePropertyType> uniqueFeatureAttributel = target.getFeatureAttribute();
uniqueFeatureAttributel.addAll(mergedFeatureAttribute);
}
} else {
if (featureAttributeShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetFeatureAttribute();
}
}
}
}
}
public void setHierarchyLevel(List<MDScopeCodePropertyType> value) {
this.hierarchyLevel = null;
if (value!= null) {
List<MDScopeCodePropertyType> draftl = this.getHierarchyLevel();
draftl.addAll(value);
}
}
public void setHierarchyLevelName(List<CharacterStringPropertyType> value) {
this.hierarchyLevelName = null;
if (value!= null) {
List<CharacterStringPropertyType> draftl = this.getHierarchyLevelName();
draftl.addAll(value);
}
}
public void setContact(List<CIResponsiblePartyPropertyType> value) {
this.contact = null;
if (value!= null) {
List<CIResponsiblePartyPropertyType> draftl = this.getContact();
draftl.addAll(value);
}
}
public void setLocale(List<PTLocalePropertyType> value) {
this.locale = null;
if (value!= null) {
List<PTLocalePropertyType> draftl = this.getLocale();
draftl.addAll(value);
}
}
public void setSpatialRepresentationInfo(List<MDSpatialRepresentationPropertyType> value) {
this.spatialRepresentationInfo = null;
if (value!= null) {
List<MDSpatialRepresentationPropertyType> draftl = this.getSpatialRepresentationInfo();
draftl.addAll(value);
}
}
public void setReferenceSystemInfo(List<MDReferenceSystemPropertyType> value) {
this.referenceSystemInfo = null;
if (value!= null) {
List<MDReferenceSystemPropertyType> draftl = this.getReferenceSystemInfo();
draftl.addAll(value);
}
}
public void setMetadataExtensionInfo(List<MDMetadataExtensionInformationPropertyType> value) {
this.metadataExtensionInfo = null;
if (value!= null) {
List<MDMetadataExtensionInformationPropertyType> draftl = this.getMetadataExtensionInfo();
draftl.addAll(value);
}
}
public void setIdentificationInfo(List<MDIdentificationPropertyType> value) {
this.identificationInfo = null;
if (value!= null) {
List<MDIdentificationPropertyType> draftl = this.getIdentificationInfo();
draftl.addAll(value);
}
}
public void setContentInfo(List<MDContentInformationPropertyType> value) {
this.contentInfo = null;
if (value!= null) {
List<MDContentInformationPropertyType> draftl = this.getContentInfo();
draftl.addAll(value);
}
}
public void setDataQualityInfo(List<DQDataQualityPropertyType> value) {
this.dataQualityInfo = null;
if (value!= null) {
List<DQDataQualityPropertyType> draftl = this.getDataQualityInfo();
draftl.addAll(value);
}
}
public void setPortrayalCatalogueInfo(List<MDPortrayalCatalogueReferencePropertyType> value) {
this.portrayalCatalogueInfo = null;
if (value!= null) {
List<MDPortrayalCatalogueReferencePropertyType> draftl = this.getPortrayalCatalogueInfo();
draftl.addAll(value);
}
}
public void setMetadataConstraints(List<MDConstraintsPropertyType> value) {
this.metadataConstraints = null;
if (value!= null) {
List<MDConstraintsPropertyType> draftl = this.getMetadataConstraints();
draftl.addAll(value);
}
}
public void setApplicationSchemaInfo(List<MDApplicationSchemaInformationPropertyType> value) {
this.applicationSchemaInfo = null;
if (value!= null) {
List<MDApplicationSchemaInformationPropertyType> draftl = this.getApplicationSchemaInfo();
draftl.addAll(value);
}
}
public void setSeries(List<DSAggregatePropertyType> value) {
this.series = null;
if (value!= null) {
List<DSAggregatePropertyType> draftl = this.getSeries();
draftl.addAll(value);
}
}
public void setDescribes(List<DSDataSetPropertyType> value) {
this.describes = null;
if (value!= null) {
List<DSDataSetPropertyType> draftl = this.getDescribes();
draftl.addAll(value);
}
}
public void setPropertyType(List<ObjectReferencePropertyType> value) {
this.propertyType = null;
if (value!= null) {
List<ObjectReferencePropertyType> draftl = this.getPropertyType();
draftl.addAll(value);
}
}
public void setFeatureType(List<ObjectReferencePropertyType> value) {
this.featureType = null;
if (value!= null) {
List<ObjectReferencePropertyType> draftl = this.getFeatureType();
draftl.addAll(value);
}
}
public void setFeatureAttribute(List<ObjectReferencePropertyType> value) {
this.featureAttribute = null;
if (value!= null) {
List<ObjectReferencePropertyType> draftl = this.getFeatureAttribute();
draftl.addAll(value);
}
}
}