// // 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); } } }