//
// 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.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import org.isotc211._2005.gco.AbstractObjectType;
import org.isotc211._2005.gco.CharacterStringPropertyType;
import org.jvnet.jaxb2_commons.lang.CopyStrategy2;
import org.jvnet.jaxb2_commons.lang.CopyTo2;
import org.jvnet.jaxb2_commons.lang.Equals2;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy2;
import org.jvnet.jaxb2_commons.lang.HashCode2;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy2;
import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBMergeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.MergeFrom2;
import org.jvnet.jaxb2_commons.lang.MergeStrategy2;
import org.jvnet.jaxb2_commons.lang.ToString2;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy2;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
/**
* Basic information about data
*
* <p>Java class for AbstractMD_Identification_Type complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="AbstractMD_Identification_Type">
* <complexContent>
* <extension base="{http://www.isotc211.org/2005/gco}AbstractObject_Type">
* <sequence>
* <element name="citation" type="{http://www.isotc211.org/2005/gmd}CI_Citation_PropertyType"/>
* <element name="abstract" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType"/>
* <element name="purpose" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="credit" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="status" type="{http://www.isotc211.org/2005/gmd}MD_ProgressCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="pointOfContact" type="{http://www.isotc211.org/2005/gmd}CI_ResponsibleParty_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="resourceMaintenance" type="{http://www.isotc211.org/2005/gmd}MD_MaintenanceInformation_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="graphicOverview" type="{http://www.isotc211.org/2005/gmd}MD_BrowseGraphic_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="resourceFormat" type="{http://www.isotc211.org/2005/gmd}MD_Format_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="descriptiveKeywords" type="{http://www.isotc211.org/2005/gmd}MD_Keywords_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="resourceSpecificUsage" type="{http://www.isotc211.org/2005/gmd}MD_Usage_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="resourceConstraints" type="{http://www.isotc211.org/2005/gmd}MD_Constraints_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="aggregationInfo" type="{http://www.isotc211.org/2005/gmd}MD_AggregateInformation_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractMD_Identification_Type", propOrder = {
"citation",
"_abstract",
"purpose",
"credit",
"status",
"pointOfContact",
"resourceMaintenance",
"graphicOverview",
"resourceFormat",
"descriptiveKeywords",
"resourceSpecificUsage",
"resourceConstraints",
"aggregationInfo"
})
@XmlSeeAlso({
MDDataIdentificationType.class,
MDServiceIdentificationType.class
})
public abstract class AbstractMDIdentificationType
extends AbstractObjectType
implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@XmlElement(required = true)
@NotNull(message = "AbstractMDIdentificationType.citation {javax.validation.constraints.NotNull.message}")
@Valid
protected CICitationPropertyType citation;
@XmlElement(name = "abstract", required = true)
@NotNull(message = "AbstractMDIdentificationType._abstract {javax.validation.constraints.NotNull.message}")
@Valid
protected CharacterStringPropertyType _abstract;
@Valid
protected CharacterStringPropertyType purpose;
@Valid
protected List<CharacterStringPropertyType> credit;
@Valid
protected List<MDProgressCodePropertyType> status;
@Valid
protected List<CIResponsiblePartyPropertyType> pointOfContact;
@Valid
protected List<MDMaintenanceInformationPropertyType> resourceMaintenance;
@Valid
protected List<MDBrowseGraphicPropertyType> graphicOverview;
@Valid
protected List<MDFormatPropertyType> resourceFormat;
@Valid
protected List<MDKeywordsPropertyType> descriptiveKeywords;
@Valid
protected List<MDUsagePropertyType> resourceSpecificUsage;
@Valid
protected List<MDConstraintsPropertyType> resourceConstraints;
@Valid
protected List<MDAggregateInformationPropertyType> aggregationInfo;
/**
* Gets the value of the citation property.
*
* @return
* possible object is
* {@link CICitationPropertyType }
*
*/
public CICitationPropertyType getCitation() {
return citation;
}
/**
* Sets the value of the citation property.
*
* @param value
* allowed object is
* {@link CICitationPropertyType }
*
*/
public void setCitation(CICitationPropertyType value) {
this.citation = value;
}
public boolean isSetCitation() {
return (this.citation!= null);
}
/**
* Gets the value of the abstract property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getAbstract() {
return _abstract;
}
/**
* Sets the value of the abstract property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setAbstract(CharacterStringPropertyType value) {
this._abstract = value;
}
public boolean isSetAbstract() {
return (this._abstract!= null);
}
/**
* Gets the value of the purpose property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getPurpose() {
return purpose;
}
/**
* Sets the value of the purpose property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setPurpose(CharacterStringPropertyType value) {
this.purpose = value;
}
public boolean isSetPurpose() {
return (this.purpose!= null);
}
/**
* Gets the value of the credit 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 credit property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getCredit().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CharacterStringPropertyType }
*
*
*/
public List<CharacterStringPropertyType> getCredit() {
if (credit == null) {
credit = new ArrayList<CharacterStringPropertyType>();
}
return this.credit;
}
public boolean isSetCredit() {
return ((this.credit!= null)&&(!this.credit.isEmpty()));
}
public void unsetCredit() {
this.credit = null;
}
/**
* Gets the value of the status 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 status property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getStatus().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDProgressCodePropertyType }
*
*
*/
public List<MDProgressCodePropertyType> getStatus() {
if (status == null) {
status = new ArrayList<MDProgressCodePropertyType>();
}
return this.status;
}
public boolean isSetStatus() {
return ((this.status!= null)&&(!this.status.isEmpty()));
}
public void unsetStatus() {
this.status = null;
}
/**
* Gets the value of the pointOfContact 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 pointOfContact property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getPointOfContact().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CIResponsiblePartyPropertyType }
*
*
*/
public List<CIResponsiblePartyPropertyType> getPointOfContact() {
if (pointOfContact == null) {
pointOfContact = new ArrayList<CIResponsiblePartyPropertyType>();
}
return this.pointOfContact;
}
public boolean isSetPointOfContact() {
return ((this.pointOfContact!= null)&&(!this.pointOfContact.isEmpty()));
}
public void unsetPointOfContact() {
this.pointOfContact = null;
}
/**
* Gets the value of the resourceMaintenance 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 resourceMaintenance property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getResourceMaintenance().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDMaintenanceInformationPropertyType }
*
*
*/
public List<MDMaintenanceInformationPropertyType> getResourceMaintenance() {
if (resourceMaintenance == null) {
resourceMaintenance = new ArrayList<MDMaintenanceInformationPropertyType>();
}
return this.resourceMaintenance;
}
public boolean isSetResourceMaintenance() {
return ((this.resourceMaintenance!= null)&&(!this.resourceMaintenance.isEmpty()));
}
public void unsetResourceMaintenance() {
this.resourceMaintenance = null;
}
/**
* Gets the value of the graphicOverview 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 graphicOverview property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getGraphicOverview().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDBrowseGraphicPropertyType }
*
*
*/
public List<MDBrowseGraphicPropertyType> getGraphicOverview() {
if (graphicOverview == null) {
graphicOverview = new ArrayList<MDBrowseGraphicPropertyType>();
}
return this.graphicOverview;
}
public boolean isSetGraphicOverview() {
return ((this.graphicOverview!= null)&&(!this.graphicOverview.isEmpty()));
}
public void unsetGraphicOverview() {
this.graphicOverview = null;
}
/**
* Gets the value of the resourceFormat 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 resourceFormat property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getResourceFormat().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDFormatPropertyType }
*
*
*/
public List<MDFormatPropertyType> getResourceFormat() {
if (resourceFormat == null) {
resourceFormat = new ArrayList<MDFormatPropertyType>();
}
return this.resourceFormat;
}
public boolean isSetResourceFormat() {
return ((this.resourceFormat!= null)&&(!this.resourceFormat.isEmpty()));
}
public void unsetResourceFormat() {
this.resourceFormat = null;
}
/**
* Gets the value of the descriptiveKeywords 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 descriptiveKeywords property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getDescriptiveKeywords().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDKeywordsPropertyType }
*
*
*/
public List<MDKeywordsPropertyType> getDescriptiveKeywords() {
if (descriptiveKeywords == null) {
descriptiveKeywords = new ArrayList<MDKeywordsPropertyType>();
}
return this.descriptiveKeywords;
}
public boolean isSetDescriptiveKeywords() {
return ((this.descriptiveKeywords!= null)&&(!this.descriptiveKeywords.isEmpty()));
}
public void unsetDescriptiveKeywords() {
this.descriptiveKeywords = null;
}
/**
* Gets the value of the resourceSpecificUsage 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 resourceSpecificUsage property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getResourceSpecificUsage().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDUsagePropertyType }
*
*
*/
public List<MDUsagePropertyType> getResourceSpecificUsage() {
if (resourceSpecificUsage == null) {
resourceSpecificUsage = new ArrayList<MDUsagePropertyType>();
}
return this.resourceSpecificUsage;
}
public boolean isSetResourceSpecificUsage() {
return ((this.resourceSpecificUsage!= null)&&(!this.resourceSpecificUsage.isEmpty()));
}
public void unsetResourceSpecificUsage() {
this.resourceSpecificUsage = null;
}
/**
* Gets the value of the resourceConstraints 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 resourceConstraints property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getResourceConstraints().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDConstraintsPropertyType }
*
*
*/
public List<MDConstraintsPropertyType> getResourceConstraints() {
if (resourceConstraints == null) {
resourceConstraints = new ArrayList<MDConstraintsPropertyType>();
}
return this.resourceConstraints;
}
public boolean isSetResourceConstraints() {
return ((this.resourceConstraints!= null)&&(!this.resourceConstraints.isEmpty()));
}
public void unsetResourceConstraints() {
this.resourceConstraints = null;
}
/**
* Gets the value of the aggregationInfo 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 aggregationInfo property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getAggregationInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDAggregateInformationPropertyType }
*
*
*/
public List<MDAggregateInformationPropertyType> getAggregationInfo() {
if (aggregationInfo == null) {
aggregationInfo = new ArrayList<MDAggregateInformationPropertyType>();
}
return this.aggregationInfo;
}
public boolean isSetAggregationInfo() {
return ((this.aggregationInfo!= null)&&(!this.aggregationInfo.isEmpty()));
}
public void unsetAggregationInfo() {
this.aggregationInfo = 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);
{
CICitationPropertyType theCitation;
theCitation = this.getCitation();
strategy.appendField(locator, this, "citation", buffer, theCitation, this.isSetCitation());
}
{
CharacterStringPropertyType theAbstract;
theAbstract = this.getAbstract();
strategy.appendField(locator, this, "_abstract", buffer, theAbstract, this.isSetAbstract());
}
{
CharacterStringPropertyType thePurpose;
thePurpose = this.getPurpose();
strategy.appendField(locator, this, "purpose", buffer, thePurpose, this.isSetPurpose());
}
{
List<CharacterStringPropertyType> theCredit;
theCredit = (this.isSetCredit()?this.getCredit():null);
strategy.appendField(locator, this, "credit", buffer, theCredit, this.isSetCredit());
}
{
List<MDProgressCodePropertyType> theStatus;
theStatus = (this.isSetStatus()?this.getStatus():null);
strategy.appendField(locator, this, "status", buffer, theStatus, this.isSetStatus());
}
{
List<CIResponsiblePartyPropertyType> thePointOfContact;
thePointOfContact = (this.isSetPointOfContact()?this.getPointOfContact():null);
strategy.appendField(locator, this, "pointOfContact", buffer, thePointOfContact, this.isSetPointOfContact());
}
{
List<MDMaintenanceInformationPropertyType> theResourceMaintenance;
theResourceMaintenance = (this.isSetResourceMaintenance()?this.getResourceMaintenance():null);
strategy.appendField(locator, this, "resourceMaintenance", buffer, theResourceMaintenance, this.isSetResourceMaintenance());
}
{
List<MDBrowseGraphicPropertyType> theGraphicOverview;
theGraphicOverview = (this.isSetGraphicOverview()?this.getGraphicOverview():null);
strategy.appendField(locator, this, "graphicOverview", buffer, theGraphicOverview, this.isSetGraphicOverview());
}
{
List<MDFormatPropertyType> theResourceFormat;
theResourceFormat = (this.isSetResourceFormat()?this.getResourceFormat():null);
strategy.appendField(locator, this, "resourceFormat", buffer, theResourceFormat, this.isSetResourceFormat());
}
{
List<MDKeywordsPropertyType> theDescriptiveKeywords;
theDescriptiveKeywords = (this.isSetDescriptiveKeywords()?this.getDescriptiveKeywords():null);
strategy.appendField(locator, this, "descriptiveKeywords", buffer, theDescriptiveKeywords, this.isSetDescriptiveKeywords());
}
{
List<MDUsagePropertyType> theResourceSpecificUsage;
theResourceSpecificUsage = (this.isSetResourceSpecificUsage()?this.getResourceSpecificUsage():null);
strategy.appendField(locator, this, "resourceSpecificUsage", buffer, theResourceSpecificUsage, this.isSetResourceSpecificUsage());
}
{
List<MDConstraintsPropertyType> theResourceConstraints;
theResourceConstraints = (this.isSetResourceConstraints()?this.getResourceConstraints():null);
strategy.appendField(locator, this, "resourceConstraints", buffer, theResourceConstraints, this.isSetResourceConstraints());
}
{
List<MDAggregateInformationPropertyType> theAggregationInfo;
theAggregationInfo = (this.isSetAggregationInfo()?this.getAggregationInfo():null);
strategy.appendField(locator, this, "aggregationInfo", buffer, theAggregationInfo, this.isSetAggregationInfo());
}
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 AbstractMDIdentificationType that = ((AbstractMDIdentificationType) object);
{
CICitationPropertyType lhsCitation;
lhsCitation = this.getCitation();
CICitationPropertyType rhsCitation;
rhsCitation = that.getCitation();
if (!strategy.equals(LocatorUtils.property(thisLocator, "citation", lhsCitation), LocatorUtils.property(thatLocator, "citation", rhsCitation), lhsCitation, rhsCitation, this.isSetCitation(), that.isSetCitation())) {
return false;
}
}
{
CharacterStringPropertyType lhsAbstract;
lhsAbstract = this.getAbstract();
CharacterStringPropertyType rhsAbstract;
rhsAbstract = that.getAbstract();
if (!strategy.equals(LocatorUtils.property(thisLocator, "_abstract", lhsAbstract), LocatorUtils.property(thatLocator, "_abstract", rhsAbstract), lhsAbstract, rhsAbstract, this.isSetAbstract(), that.isSetAbstract())) {
return false;
}
}
{
CharacterStringPropertyType lhsPurpose;
lhsPurpose = this.getPurpose();
CharacterStringPropertyType rhsPurpose;
rhsPurpose = that.getPurpose();
if (!strategy.equals(LocatorUtils.property(thisLocator, "purpose", lhsPurpose), LocatorUtils.property(thatLocator, "purpose", rhsPurpose), lhsPurpose, rhsPurpose, this.isSetPurpose(), that.isSetPurpose())) {
return false;
}
}
{
List<CharacterStringPropertyType> lhsCredit;
lhsCredit = (this.isSetCredit()?this.getCredit():null);
List<CharacterStringPropertyType> rhsCredit;
rhsCredit = (that.isSetCredit()?that.getCredit():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "credit", lhsCredit), LocatorUtils.property(thatLocator, "credit", rhsCredit), lhsCredit, rhsCredit, this.isSetCredit(), that.isSetCredit())) {
return false;
}
}
{
List<MDProgressCodePropertyType> lhsStatus;
lhsStatus = (this.isSetStatus()?this.getStatus():null);
List<MDProgressCodePropertyType> rhsStatus;
rhsStatus = (that.isSetStatus()?that.getStatus():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "status", lhsStatus), LocatorUtils.property(thatLocator, "status", rhsStatus), lhsStatus, rhsStatus, this.isSetStatus(), that.isSetStatus())) {
return false;
}
}
{
List<CIResponsiblePartyPropertyType> lhsPointOfContact;
lhsPointOfContact = (this.isSetPointOfContact()?this.getPointOfContact():null);
List<CIResponsiblePartyPropertyType> rhsPointOfContact;
rhsPointOfContact = (that.isSetPointOfContact()?that.getPointOfContact():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "pointOfContact", lhsPointOfContact), LocatorUtils.property(thatLocator, "pointOfContact", rhsPointOfContact), lhsPointOfContact, rhsPointOfContact, this.isSetPointOfContact(), that.isSetPointOfContact())) {
return false;
}
}
{
List<MDMaintenanceInformationPropertyType> lhsResourceMaintenance;
lhsResourceMaintenance = (this.isSetResourceMaintenance()?this.getResourceMaintenance():null);
List<MDMaintenanceInformationPropertyType> rhsResourceMaintenance;
rhsResourceMaintenance = (that.isSetResourceMaintenance()?that.getResourceMaintenance():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "resourceMaintenance", lhsResourceMaintenance), LocatorUtils.property(thatLocator, "resourceMaintenance", rhsResourceMaintenance), lhsResourceMaintenance, rhsResourceMaintenance, this.isSetResourceMaintenance(), that.isSetResourceMaintenance())) {
return false;
}
}
{
List<MDBrowseGraphicPropertyType> lhsGraphicOverview;
lhsGraphicOverview = (this.isSetGraphicOverview()?this.getGraphicOverview():null);
List<MDBrowseGraphicPropertyType> rhsGraphicOverview;
rhsGraphicOverview = (that.isSetGraphicOverview()?that.getGraphicOverview():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "graphicOverview", lhsGraphicOverview), LocatorUtils.property(thatLocator, "graphicOverview", rhsGraphicOverview), lhsGraphicOverview, rhsGraphicOverview, this.isSetGraphicOverview(), that.isSetGraphicOverview())) {
return false;
}
}
{
List<MDFormatPropertyType> lhsResourceFormat;
lhsResourceFormat = (this.isSetResourceFormat()?this.getResourceFormat():null);
List<MDFormatPropertyType> rhsResourceFormat;
rhsResourceFormat = (that.isSetResourceFormat()?that.getResourceFormat():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "resourceFormat", lhsResourceFormat), LocatorUtils.property(thatLocator, "resourceFormat", rhsResourceFormat), lhsResourceFormat, rhsResourceFormat, this.isSetResourceFormat(), that.isSetResourceFormat())) {
return false;
}
}
{
List<MDKeywordsPropertyType> lhsDescriptiveKeywords;
lhsDescriptiveKeywords = (this.isSetDescriptiveKeywords()?this.getDescriptiveKeywords():null);
List<MDKeywordsPropertyType> rhsDescriptiveKeywords;
rhsDescriptiveKeywords = (that.isSetDescriptiveKeywords()?that.getDescriptiveKeywords():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "descriptiveKeywords", lhsDescriptiveKeywords), LocatorUtils.property(thatLocator, "descriptiveKeywords", rhsDescriptiveKeywords), lhsDescriptiveKeywords, rhsDescriptiveKeywords, this.isSetDescriptiveKeywords(), that.isSetDescriptiveKeywords())) {
return false;
}
}
{
List<MDUsagePropertyType> lhsResourceSpecificUsage;
lhsResourceSpecificUsage = (this.isSetResourceSpecificUsage()?this.getResourceSpecificUsage():null);
List<MDUsagePropertyType> rhsResourceSpecificUsage;
rhsResourceSpecificUsage = (that.isSetResourceSpecificUsage()?that.getResourceSpecificUsage():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "resourceSpecificUsage", lhsResourceSpecificUsage), LocatorUtils.property(thatLocator, "resourceSpecificUsage", rhsResourceSpecificUsage), lhsResourceSpecificUsage, rhsResourceSpecificUsage, this.isSetResourceSpecificUsage(), that.isSetResourceSpecificUsage())) {
return false;
}
}
{
List<MDConstraintsPropertyType> lhsResourceConstraints;
lhsResourceConstraints = (this.isSetResourceConstraints()?this.getResourceConstraints():null);
List<MDConstraintsPropertyType> rhsResourceConstraints;
rhsResourceConstraints = (that.isSetResourceConstraints()?that.getResourceConstraints():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "resourceConstraints", lhsResourceConstraints), LocatorUtils.property(thatLocator, "resourceConstraints", rhsResourceConstraints), lhsResourceConstraints, rhsResourceConstraints, this.isSetResourceConstraints(), that.isSetResourceConstraints())) {
return false;
}
}
{
List<MDAggregateInformationPropertyType> lhsAggregationInfo;
lhsAggregationInfo = (this.isSetAggregationInfo()?this.getAggregationInfo():null);
List<MDAggregateInformationPropertyType> rhsAggregationInfo;
rhsAggregationInfo = (that.isSetAggregationInfo()?that.getAggregationInfo():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "aggregationInfo", lhsAggregationInfo), LocatorUtils.property(thatLocator, "aggregationInfo", rhsAggregationInfo), lhsAggregationInfo, rhsAggregationInfo, this.isSetAggregationInfo(), that.isSetAggregationInfo())) {
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);
{
CICitationPropertyType theCitation;
theCitation = this.getCitation();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "citation", theCitation), currentHashCode, theCitation, this.isSetCitation());
}
{
CharacterStringPropertyType theAbstract;
theAbstract = this.getAbstract();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "_abstract", theAbstract), currentHashCode, theAbstract, this.isSetAbstract());
}
{
CharacterStringPropertyType thePurpose;
thePurpose = this.getPurpose();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "purpose", thePurpose), currentHashCode, thePurpose, this.isSetPurpose());
}
{
List<CharacterStringPropertyType> theCredit;
theCredit = (this.isSetCredit()?this.getCredit():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "credit", theCredit), currentHashCode, theCredit, this.isSetCredit());
}
{
List<MDProgressCodePropertyType> theStatus;
theStatus = (this.isSetStatus()?this.getStatus():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "status", theStatus), currentHashCode, theStatus, this.isSetStatus());
}
{
List<CIResponsiblePartyPropertyType> thePointOfContact;
thePointOfContact = (this.isSetPointOfContact()?this.getPointOfContact():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "pointOfContact", thePointOfContact), currentHashCode, thePointOfContact, this.isSetPointOfContact());
}
{
List<MDMaintenanceInformationPropertyType> theResourceMaintenance;
theResourceMaintenance = (this.isSetResourceMaintenance()?this.getResourceMaintenance():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "resourceMaintenance", theResourceMaintenance), currentHashCode, theResourceMaintenance, this.isSetResourceMaintenance());
}
{
List<MDBrowseGraphicPropertyType> theGraphicOverview;
theGraphicOverview = (this.isSetGraphicOverview()?this.getGraphicOverview():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "graphicOverview", theGraphicOverview), currentHashCode, theGraphicOverview, this.isSetGraphicOverview());
}
{
List<MDFormatPropertyType> theResourceFormat;
theResourceFormat = (this.isSetResourceFormat()?this.getResourceFormat():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "resourceFormat", theResourceFormat), currentHashCode, theResourceFormat, this.isSetResourceFormat());
}
{
List<MDKeywordsPropertyType> theDescriptiveKeywords;
theDescriptiveKeywords = (this.isSetDescriptiveKeywords()?this.getDescriptiveKeywords():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "descriptiveKeywords", theDescriptiveKeywords), currentHashCode, theDescriptiveKeywords, this.isSetDescriptiveKeywords());
}
{
List<MDUsagePropertyType> theResourceSpecificUsage;
theResourceSpecificUsage = (this.isSetResourceSpecificUsage()?this.getResourceSpecificUsage():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "resourceSpecificUsage", theResourceSpecificUsage), currentHashCode, theResourceSpecificUsage, this.isSetResourceSpecificUsage());
}
{
List<MDConstraintsPropertyType> theResourceConstraints;
theResourceConstraints = (this.isSetResourceConstraints()?this.getResourceConstraints():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "resourceConstraints", theResourceConstraints), currentHashCode, theResourceConstraints, this.isSetResourceConstraints());
}
{
List<MDAggregateInformationPropertyType> theAggregationInfo;
theAggregationInfo = (this.isSetAggregationInfo()?this.getAggregationInfo():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "aggregationInfo", theAggregationInfo), currentHashCode, theAggregationInfo, this.isSetAggregationInfo());
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public Object clone() {
return copyTo(createNewInstance());
}
public Object copyTo(Object target) {
final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
return copyTo(null, target, strategy);
}
public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
if (null == target) {
throw new IllegalArgumentException("Target argument must not be null for abstract copyable classes.");
}
super.copyTo(locator, target, strategy);
if (target instanceof AbstractMDIdentificationType) {
final AbstractMDIdentificationType copy = ((AbstractMDIdentificationType) target);
{
Boolean citationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetCitation());
if (citationShouldBeCopiedAndSet == Boolean.TRUE) {
CICitationPropertyType sourceCitation;
sourceCitation = this.getCitation();
CICitationPropertyType copyCitation = ((CICitationPropertyType) strategy.copy(LocatorUtils.property(locator, "citation", sourceCitation), sourceCitation, this.isSetCitation()));
copy.setCitation(copyCitation);
} else {
if (citationShouldBeCopiedAndSet == Boolean.FALSE) {
copy.citation = null;
}
}
}
{
Boolean _abstractShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetAbstract());
if (_abstractShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceAbstract;
sourceAbstract = this.getAbstract();
CharacterStringPropertyType copyAbstract = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "_abstract", sourceAbstract), sourceAbstract, this.isSetAbstract()));
copy.setAbstract(copyAbstract);
} else {
if (_abstractShouldBeCopiedAndSet == Boolean.FALSE) {
copy._abstract = null;
}
}
}
{
Boolean purposeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPurpose());
if (purposeShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourcePurpose;
sourcePurpose = this.getPurpose();
CharacterStringPropertyType copyPurpose = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "purpose", sourcePurpose), sourcePurpose, this.isSetPurpose()));
copy.setPurpose(copyPurpose);
} else {
if (purposeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.purpose = null;
}
}
}
{
Boolean creditShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetCredit());
if (creditShouldBeCopiedAndSet == Boolean.TRUE) {
List<CharacterStringPropertyType> sourceCredit;
sourceCredit = (this.isSetCredit()?this.getCredit():null);
@SuppressWarnings("unchecked")
List<CharacterStringPropertyType> copyCredit = ((List<CharacterStringPropertyType> ) strategy.copy(LocatorUtils.property(locator, "credit", sourceCredit), sourceCredit, this.isSetCredit()));
copy.unsetCredit();
if (copyCredit!= null) {
List<CharacterStringPropertyType> uniqueCreditl = copy.getCredit();
uniqueCreditl.addAll(copyCredit);
}
} else {
if (creditShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetCredit();
}
}
}
{
Boolean statusShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetStatus());
if (statusShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDProgressCodePropertyType> sourceStatus;
sourceStatus = (this.isSetStatus()?this.getStatus():null);
@SuppressWarnings("unchecked")
List<MDProgressCodePropertyType> copyStatus = ((List<MDProgressCodePropertyType> ) strategy.copy(LocatorUtils.property(locator, "status", sourceStatus), sourceStatus, this.isSetStatus()));
copy.unsetStatus();
if (copyStatus!= null) {
List<MDProgressCodePropertyType> uniqueStatusl = copy.getStatus();
uniqueStatusl.addAll(copyStatus);
}
} else {
if (statusShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetStatus();
}
}
}
{
Boolean pointOfContactShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPointOfContact());
if (pointOfContactShouldBeCopiedAndSet == Boolean.TRUE) {
List<CIResponsiblePartyPropertyType> sourcePointOfContact;
sourcePointOfContact = (this.isSetPointOfContact()?this.getPointOfContact():null);
@SuppressWarnings("unchecked")
List<CIResponsiblePartyPropertyType> copyPointOfContact = ((List<CIResponsiblePartyPropertyType> ) strategy.copy(LocatorUtils.property(locator, "pointOfContact", sourcePointOfContact), sourcePointOfContact, this.isSetPointOfContact()));
copy.unsetPointOfContact();
if (copyPointOfContact!= null) {
List<CIResponsiblePartyPropertyType> uniquePointOfContactl = copy.getPointOfContact();
uniquePointOfContactl.addAll(copyPointOfContact);
}
} else {
if (pointOfContactShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetPointOfContact();
}
}
}
{
Boolean resourceMaintenanceShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetResourceMaintenance());
if (resourceMaintenanceShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDMaintenanceInformationPropertyType> sourceResourceMaintenance;
sourceResourceMaintenance = (this.isSetResourceMaintenance()?this.getResourceMaintenance():null);
@SuppressWarnings("unchecked")
List<MDMaintenanceInformationPropertyType> copyResourceMaintenance = ((List<MDMaintenanceInformationPropertyType> ) strategy.copy(LocatorUtils.property(locator, "resourceMaintenance", sourceResourceMaintenance), sourceResourceMaintenance, this.isSetResourceMaintenance()));
copy.unsetResourceMaintenance();
if (copyResourceMaintenance!= null) {
List<MDMaintenanceInformationPropertyType> uniqueResourceMaintenancel = copy.getResourceMaintenance();
uniqueResourceMaintenancel.addAll(copyResourceMaintenance);
}
} else {
if (resourceMaintenanceShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetResourceMaintenance();
}
}
}
{
Boolean graphicOverviewShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetGraphicOverview());
if (graphicOverviewShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDBrowseGraphicPropertyType> sourceGraphicOverview;
sourceGraphicOverview = (this.isSetGraphicOverview()?this.getGraphicOverview():null);
@SuppressWarnings("unchecked")
List<MDBrowseGraphicPropertyType> copyGraphicOverview = ((List<MDBrowseGraphicPropertyType> ) strategy.copy(LocatorUtils.property(locator, "graphicOverview", sourceGraphicOverview), sourceGraphicOverview, this.isSetGraphicOverview()));
copy.unsetGraphicOverview();
if (copyGraphicOverview!= null) {
List<MDBrowseGraphicPropertyType> uniqueGraphicOverviewl = copy.getGraphicOverview();
uniqueGraphicOverviewl.addAll(copyGraphicOverview);
}
} else {
if (graphicOverviewShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetGraphicOverview();
}
}
}
{
Boolean resourceFormatShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetResourceFormat());
if (resourceFormatShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDFormatPropertyType> sourceResourceFormat;
sourceResourceFormat = (this.isSetResourceFormat()?this.getResourceFormat():null);
@SuppressWarnings("unchecked")
List<MDFormatPropertyType> copyResourceFormat = ((List<MDFormatPropertyType> ) strategy.copy(LocatorUtils.property(locator, "resourceFormat", sourceResourceFormat), sourceResourceFormat, this.isSetResourceFormat()));
copy.unsetResourceFormat();
if (copyResourceFormat!= null) {
List<MDFormatPropertyType> uniqueResourceFormatl = copy.getResourceFormat();
uniqueResourceFormatl.addAll(copyResourceFormat);
}
} else {
if (resourceFormatShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetResourceFormat();
}
}
}
{
Boolean descriptiveKeywordsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDescriptiveKeywords());
if (descriptiveKeywordsShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDKeywordsPropertyType> sourceDescriptiveKeywords;
sourceDescriptiveKeywords = (this.isSetDescriptiveKeywords()?this.getDescriptiveKeywords():null);
@SuppressWarnings("unchecked")
List<MDKeywordsPropertyType> copyDescriptiveKeywords = ((List<MDKeywordsPropertyType> ) strategy.copy(LocatorUtils.property(locator, "descriptiveKeywords", sourceDescriptiveKeywords), sourceDescriptiveKeywords, this.isSetDescriptiveKeywords()));
copy.unsetDescriptiveKeywords();
if (copyDescriptiveKeywords!= null) {
List<MDKeywordsPropertyType> uniqueDescriptiveKeywordsl = copy.getDescriptiveKeywords();
uniqueDescriptiveKeywordsl.addAll(copyDescriptiveKeywords);
}
} else {
if (descriptiveKeywordsShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetDescriptiveKeywords();
}
}
}
{
Boolean resourceSpecificUsageShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetResourceSpecificUsage());
if (resourceSpecificUsageShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDUsagePropertyType> sourceResourceSpecificUsage;
sourceResourceSpecificUsage = (this.isSetResourceSpecificUsage()?this.getResourceSpecificUsage():null);
@SuppressWarnings("unchecked")
List<MDUsagePropertyType> copyResourceSpecificUsage = ((List<MDUsagePropertyType> ) strategy.copy(LocatorUtils.property(locator, "resourceSpecificUsage", sourceResourceSpecificUsage), sourceResourceSpecificUsage, this.isSetResourceSpecificUsage()));
copy.unsetResourceSpecificUsage();
if (copyResourceSpecificUsage!= null) {
List<MDUsagePropertyType> uniqueResourceSpecificUsagel = copy.getResourceSpecificUsage();
uniqueResourceSpecificUsagel.addAll(copyResourceSpecificUsage);
}
} else {
if (resourceSpecificUsageShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetResourceSpecificUsage();
}
}
}
{
Boolean resourceConstraintsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetResourceConstraints());
if (resourceConstraintsShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDConstraintsPropertyType> sourceResourceConstraints;
sourceResourceConstraints = (this.isSetResourceConstraints()?this.getResourceConstraints():null);
@SuppressWarnings("unchecked")
List<MDConstraintsPropertyType> copyResourceConstraints = ((List<MDConstraintsPropertyType> ) strategy.copy(LocatorUtils.property(locator, "resourceConstraints", sourceResourceConstraints), sourceResourceConstraints, this.isSetResourceConstraints()));
copy.unsetResourceConstraints();
if (copyResourceConstraints!= null) {
List<MDConstraintsPropertyType> uniqueResourceConstraintsl = copy.getResourceConstraints();
uniqueResourceConstraintsl.addAll(copyResourceConstraints);
}
} else {
if (resourceConstraintsShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetResourceConstraints();
}
}
}
{
Boolean aggregationInfoShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetAggregationInfo());
if (aggregationInfoShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDAggregateInformationPropertyType> sourceAggregationInfo;
sourceAggregationInfo = (this.isSetAggregationInfo()?this.getAggregationInfo():null);
@SuppressWarnings("unchecked")
List<MDAggregateInformationPropertyType> copyAggregationInfo = ((List<MDAggregateInformationPropertyType> ) strategy.copy(LocatorUtils.property(locator, "aggregationInfo", sourceAggregationInfo), sourceAggregationInfo, this.isSetAggregationInfo()));
copy.unsetAggregationInfo();
if (copyAggregationInfo!= null) {
List<MDAggregateInformationPropertyType> uniqueAggregationInfol = copy.getAggregationInfo();
uniqueAggregationInfol.addAll(copyAggregationInfo);
}
} else {
if (aggregationInfoShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetAggregationInfo();
}
}
}
}
return target;
}
public void mergeFrom(Object left, Object right) {
final MergeStrategy2 strategy = JAXBMergeStrategy.INSTANCE;
mergeFrom(null, null, left, right, strategy);
}
public void mergeFrom(ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy2 strategy) {
super.mergeFrom(leftLocator, rightLocator, left, right, strategy);
if (right instanceof AbstractMDIdentificationType) {
final AbstractMDIdentificationType target = this;
final AbstractMDIdentificationType leftObject = ((AbstractMDIdentificationType) left);
final AbstractMDIdentificationType rightObject = ((AbstractMDIdentificationType) right);
{
Boolean citationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetCitation(), rightObject.isSetCitation());
if (citationShouldBeMergedAndSet == Boolean.TRUE) {
CICitationPropertyType lhsCitation;
lhsCitation = leftObject.getCitation();
CICitationPropertyType rhsCitation;
rhsCitation = rightObject.getCitation();
CICitationPropertyType mergedCitation = ((CICitationPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "citation", lhsCitation), LocatorUtils.property(rightLocator, "citation", rhsCitation), lhsCitation, rhsCitation, leftObject.isSetCitation(), rightObject.isSetCitation()));
target.setCitation(mergedCitation);
} else {
if (citationShouldBeMergedAndSet == Boolean.FALSE) {
target.citation = null;
}
}
}
{
Boolean _abstractShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetAbstract(), rightObject.isSetAbstract());
if (_abstractShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsAbstract;
lhsAbstract = leftObject.getAbstract();
CharacterStringPropertyType rhsAbstract;
rhsAbstract = rightObject.getAbstract();
CharacterStringPropertyType mergedAbstract = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "_abstract", lhsAbstract), LocatorUtils.property(rightLocator, "_abstract", rhsAbstract), lhsAbstract, rhsAbstract, leftObject.isSetAbstract(), rightObject.isSetAbstract()));
target.setAbstract(mergedAbstract);
} else {
if (_abstractShouldBeMergedAndSet == Boolean.FALSE) {
target._abstract = null;
}
}
}
{
Boolean purposeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPurpose(), rightObject.isSetPurpose());
if (purposeShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsPurpose;
lhsPurpose = leftObject.getPurpose();
CharacterStringPropertyType rhsPurpose;
rhsPurpose = rightObject.getPurpose();
CharacterStringPropertyType mergedPurpose = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "purpose", lhsPurpose), LocatorUtils.property(rightLocator, "purpose", rhsPurpose), lhsPurpose, rhsPurpose, leftObject.isSetPurpose(), rightObject.isSetPurpose()));
target.setPurpose(mergedPurpose);
} else {
if (purposeShouldBeMergedAndSet == Boolean.FALSE) {
target.purpose = null;
}
}
}
{
Boolean creditShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetCredit(), rightObject.isSetCredit());
if (creditShouldBeMergedAndSet == Boolean.TRUE) {
List<CharacterStringPropertyType> lhsCredit;
lhsCredit = (leftObject.isSetCredit()?leftObject.getCredit():null);
List<CharacterStringPropertyType> rhsCredit;
rhsCredit = (rightObject.isSetCredit()?rightObject.getCredit():null);
List<CharacterStringPropertyType> mergedCredit = ((List<CharacterStringPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "credit", lhsCredit), LocatorUtils.property(rightLocator, "credit", rhsCredit), lhsCredit, rhsCredit, leftObject.isSetCredit(), rightObject.isSetCredit()));
target.unsetCredit();
if (mergedCredit!= null) {
List<CharacterStringPropertyType> uniqueCreditl = target.getCredit();
uniqueCreditl.addAll(mergedCredit);
}
} else {
if (creditShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetCredit();
}
}
}
{
Boolean statusShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetStatus(), rightObject.isSetStatus());
if (statusShouldBeMergedAndSet == Boolean.TRUE) {
List<MDProgressCodePropertyType> lhsStatus;
lhsStatus = (leftObject.isSetStatus()?leftObject.getStatus():null);
List<MDProgressCodePropertyType> rhsStatus;
rhsStatus = (rightObject.isSetStatus()?rightObject.getStatus():null);
List<MDProgressCodePropertyType> mergedStatus = ((List<MDProgressCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "status", lhsStatus), LocatorUtils.property(rightLocator, "status", rhsStatus), lhsStatus, rhsStatus, leftObject.isSetStatus(), rightObject.isSetStatus()));
target.unsetStatus();
if (mergedStatus!= null) {
List<MDProgressCodePropertyType> uniqueStatusl = target.getStatus();
uniqueStatusl.addAll(mergedStatus);
}
} else {
if (statusShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetStatus();
}
}
}
{
Boolean pointOfContactShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPointOfContact(), rightObject.isSetPointOfContact());
if (pointOfContactShouldBeMergedAndSet == Boolean.TRUE) {
List<CIResponsiblePartyPropertyType> lhsPointOfContact;
lhsPointOfContact = (leftObject.isSetPointOfContact()?leftObject.getPointOfContact():null);
List<CIResponsiblePartyPropertyType> rhsPointOfContact;
rhsPointOfContact = (rightObject.isSetPointOfContact()?rightObject.getPointOfContact():null);
List<CIResponsiblePartyPropertyType> mergedPointOfContact = ((List<CIResponsiblePartyPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "pointOfContact", lhsPointOfContact), LocatorUtils.property(rightLocator, "pointOfContact", rhsPointOfContact), lhsPointOfContact, rhsPointOfContact, leftObject.isSetPointOfContact(), rightObject.isSetPointOfContact()));
target.unsetPointOfContact();
if (mergedPointOfContact!= null) {
List<CIResponsiblePartyPropertyType> uniquePointOfContactl = target.getPointOfContact();
uniquePointOfContactl.addAll(mergedPointOfContact);
}
} else {
if (pointOfContactShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetPointOfContact();
}
}
}
{
Boolean resourceMaintenanceShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetResourceMaintenance(), rightObject.isSetResourceMaintenance());
if (resourceMaintenanceShouldBeMergedAndSet == Boolean.TRUE) {
List<MDMaintenanceInformationPropertyType> lhsResourceMaintenance;
lhsResourceMaintenance = (leftObject.isSetResourceMaintenance()?leftObject.getResourceMaintenance():null);
List<MDMaintenanceInformationPropertyType> rhsResourceMaintenance;
rhsResourceMaintenance = (rightObject.isSetResourceMaintenance()?rightObject.getResourceMaintenance():null);
List<MDMaintenanceInformationPropertyType> mergedResourceMaintenance = ((List<MDMaintenanceInformationPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "resourceMaintenance", lhsResourceMaintenance), LocatorUtils.property(rightLocator, "resourceMaintenance", rhsResourceMaintenance), lhsResourceMaintenance, rhsResourceMaintenance, leftObject.isSetResourceMaintenance(), rightObject.isSetResourceMaintenance()));
target.unsetResourceMaintenance();
if (mergedResourceMaintenance!= null) {
List<MDMaintenanceInformationPropertyType> uniqueResourceMaintenancel = target.getResourceMaintenance();
uniqueResourceMaintenancel.addAll(mergedResourceMaintenance);
}
} else {
if (resourceMaintenanceShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetResourceMaintenance();
}
}
}
{
Boolean graphicOverviewShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetGraphicOverview(), rightObject.isSetGraphicOverview());
if (graphicOverviewShouldBeMergedAndSet == Boolean.TRUE) {
List<MDBrowseGraphicPropertyType> lhsGraphicOverview;
lhsGraphicOverview = (leftObject.isSetGraphicOverview()?leftObject.getGraphicOverview():null);
List<MDBrowseGraphicPropertyType> rhsGraphicOverview;
rhsGraphicOverview = (rightObject.isSetGraphicOverview()?rightObject.getGraphicOverview():null);
List<MDBrowseGraphicPropertyType> mergedGraphicOverview = ((List<MDBrowseGraphicPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "graphicOverview", lhsGraphicOverview), LocatorUtils.property(rightLocator, "graphicOverview", rhsGraphicOverview), lhsGraphicOverview, rhsGraphicOverview, leftObject.isSetGraphicOverview(), rightObject.isSetGraphicOverview()));
target.unsetGraphicOverview();
if (mergedGraphicOverview!= null) {
List<MDBrowseGraphicPropertyType> uniqueGraphicOverviewl = target.getGraphicOverview();
uniqueGraphicOverviewl.addAll(mergedGraphicOverview);
}
} else {
if (graphicOverviewShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetGraphicOverview();
}
}
}
{
Boolean resourceFormatShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetResourceFormat(), rightObject.isSetResourceFormat());
if (resourceFormatShouldBeMergedAndSet == Boolean.TRUE) {
List<MDFormatPropertyType> lhsResourceFormat;
lhsResourceFormat = (leftObject.isSetResourceFormat()?leftObject.getResourceFormat():null);
List<MDFormatPropertyType> rhsResourceFormat;
rhsResourceFormat = (rightObject.isSetResourceFormat()?rightObject.getResourceFormat():null);
List<MDFormatPropertyType> mergedResourceFormat = ((List<MDFormatPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "resourceFormat", lhsResourceFormat), LocatorUtils.property(rightLocator, "resourceFormat", rhsResourceFormat), lhsResourceFormat, rhsResourceFormat, leftObject.isSetResourceFormat(), rightObject.isSetResourceFormat()));
target.unsetResourceFormat();
if (mergedResourceFormat!= null) {
List<MDFormatPropertyType> uniqueResourceFormatl = target.getResourceFormat();
uniqueResourceFormatl.addAll(mergedResourceFormat);
}
} else {
if (resourceFormatShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetResourceFormat();
}
}
}
{
Boolean descriptiveKeywordsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDescriptiveKeywords(), rightObject.isSetDescriptiveKeywords());
if (descriptiveKeywordsShouldBeMergedAndSet == Boolean.TRUE) {
List<MDKeywordsPropertyType> lhsDescriptiveKeywords;
lhsDescriptiveKeywords = (leftObject.isSetDescriptiveKeywords()?leftObject.getDescriptiveKeywords():null);
List<MDKeywordsPropertyType> rhsDescriptiveKeywords;
rhsDescriptiveKeywords = (rightObject.isSetDescriptiveKeywords()?rightObject.getDescriptiveKeywords():null);
List<MDKeywordsPropertyType> mergedDescriptiveKeywords = ((List<MDKeywordsPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "descriptiveKeywords", lhsDescriptiveKeywords), LocatorUtils.property(rightLocator, "descriptiveKeywords", rhsDescriptiveKeywords), lhsDescriptiveKeywords, rhsDescriptiveKeywords, leftObject.isSetDescriptiveKeywords(), rightObject.isSetDescriptiveKeywords()));
target.unsetDescriptiveKeywords();
if (mergedDescriptiveKeywords!= null) {
List<MDKeywordsPropertyType> uniqueDescriptiveKeywordsl = target.getDescriptiveKeywords();
uniqueDescriptiveKeywordsl.addAll(mergedDescriptiveKeywords);
}
} else {
if (descriptiveKeywordsShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetDescriptiveKeywords();
}
}
}
{
Boolean resourceSpecificUsageShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetResourceSpecificUsage(), rightObject.isSetResourceSpecificUsage());
if (resourceSpecificUsageShouldBeMergedAndSet == Boolean.TRUE) {
List<MDUsagePropertyType> lhsResourceSpecificUsage;
lhsResourceSpecificUsage = (leftObject.isSetResourceSpecificUsage()?leftObject.getResourceSpecificUsage():null);
List<MDUsagePropertyType> rhsResourceSpecificUsage;
rhsResourceSpecificUsage = (rightObject.isSetResourceSpecificUsage()?rightObject.getResourceSpecificUsage():null);
List<MDUsagePropertyType> mergedResourceSpecificUsage = ((List<MDUsagePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "resourceSpecificUsage", lhsResourceSpecificUsage), LocatorUtils.property(rightLocator, "resourceSpecificUsage", rhsResourceSpecificUsage), lhsResourceSpecificUsage, rhsResourceSpecificUsage, leftObject.isSetResourceSpecificUsage(), rightObject.isSetResourceSpecificUsage()));
target.unsetResourceSpecificUsage();
if (mergedResourceSpecificUsage!= null) {
List<MDUsagePropertyType> uniqueResourceSpecificUsagel = target.getResourceSpecificUsage();
uniqueResourceSpecificUsagel.addAll(mergedResourceSpecificUsage);
}
} else {
if (resourceSpecificUsageShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetResourceSpecificUsage();
}
}
}
{
Boolean resourceConstraintsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetResourceConstraints(), rightObject.isSetResourceConstraints());
if (resourceConstraintsShouldBeMergedAndSet == Boolean.TRUE) {
List<MDConstraintsPropertyType> lhsResourceConstraints;
lhsResourceConstraints = (leftObject.isSetResourceConstraints()?leftObject.getResourceConstraints():null);
List<MDConstraintsPropertyType> rhsResourceConstraints;
rhsResourceConstraints = (rightObject.isSetResourceConstraints()?rightObject.getResourceConstraints():null);
List<MDConstraintsPropertyType> mergedResourceConstraints = ((List<MDConstraintsPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "resourceConstraints", lhsResourceConstraints), LocatorUtils.property(rightLocator, "resourceConstraints", rhsResourceConstraints), lhsResourceConstraints, rhsResourceConstraints, leftObject.isSetResourceConstraints(), rightObject.isSetResourceConstraints()));
target.unsetResourceConstraints();
if (mergedResourceConstraints!= null) {
List<MDConstraintsPropertyType> uniqueResourceConstraintsl = target.getResourceConstraints();
uniqueResourceConstraintsl.addAll(mergedResourceConstraints);
}
} else {
if (resourceConstraintsShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetResourceConstraints();
}
}
}
{
Boolean aggregationInfoShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetAggregationInfo(), rightObject.isSetAggregationInfo());
if (aggregationInfoShouldBeMergedAndSet == Boolean.TRUE) {
List<MDAggregateInformationPropertyType> lhsAggregationInfo;
lhsAggregationInfo = (leftObject.isSetAggregationInfo()?leftObject.getAggregationInfo():null);
List<MDAggregateInformationPropertyType> rhsAggregationInfo;
rhsAggregationInfo = (rightObject.isSetAggregationInfo()?rightObject.getAggregationInfo():null);
List<MDAggregateInformationPropertyType> mergedAggregationInfo = ((List<MDAggregateInformationPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "aggregationInfo", lhsAggregationInfo), LocatorUtils.property(rightLocator, "aggregationInfo", rhsAggregationInfo), lhsAggregationInfo, rhsAggregationInfo, leftObject.isSetAggregationInfo(), rightObject.isSetAggregationInfo()));
target.unsetAggregationInfo();
if (mergedAggregationInfo!= null) {
List<MDAggregateInformationPropertyType> uniqueAggregationInfol = target.getAggregationInfo();
uniqueAggregationInfol.addAll(mergedAggregationInfo);
}
} else {
if (aggregationInfoShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetAggregationInfo();
}
}
}
}
}
public void setCredit(List<CharacterStringPropertyType> value) {
this.credit = null;
if (value!= null) {
List<CharacterStringPropertyType> draftl = this.getCredit();
draftl.addAll(value);
}
}
public void setStatus(List<MDProgressCodePropertyType> value) {
this.status = null;
if (value!= null) {
List<MDProgressCodePropertyType> draftl = this.getStatus();
draftl.addAll(value);
}
}
public void setPointOfContact(List<CIResponsiblePartyPropertyType> value) {
this.pointOfContact = null;
if (value!= null) {
List<CIResponsiblePartyPropertyType> draftl = this.getPointOfContact();
draftl.addAll(value);
}
}
public void setResourceMaintenance(List<MDMaintenanceInformationPropertyType> value) {
this.resourceMaintenance = null;
if (value!= null) {
List<MDMaintenanceInformationPropertyType> draftl = this.getResourceMaintenance();
draftl.addAll(value);
}
}
public void setGraphicOverview(List<MDBrowseGraphicPropertyType> value) {
this.graphicOverview = null;
if (value!= null) {
List<MDBrowseGraphicPropertyType> draftl = this.getGraphicOverview();
draftl.addAll(value);
}
}
public void setResourceFormat(List<MDFormatPropertyType> value) {
this.resourceFormat = null;
if (value!= null) {
List<MDFormatPropertyType> draftl = this.getResourceFormat();
draftl.addAll(value);
}
}
public void setDescriptiveKeywords(List<MDKeywordsPropertyType> value) {
this.descriptiveKeywords = null;
if (value!= null) {
List<MDKeywordsPropertyType> draftl = this.getDescriptiveKeywords();
draftl.addAll(value);
}
}
public void setResourceSpecificUsage(List<MDUsagePropertyType> value) {
this.resourceSpecificUsage = null;
if (value!= null) {
List<MDUsagePropertyType> draftl = this.getResourceSpecificUsage();
draftl.addAll(value);
}
}
public void setResourceConstraints(List<MDConstraintsPropertyType> value) {
this.resourceConstraints = null;
if (value!= null) {
List<MDConstraintsPropertyType> draftl = this.getResourceConstraints();
draftl.addAll(value);
}
}
public void setAggregationInfo(List<MDAggregateInformationPropertyType> value) {
this.aggregationInfo = null;
if (value!= null) {
List<MDAggregateInformationPropertyType> draftl = this.getAggregationInfo();
draftl.addAll(value);
}
}
}