// // 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.XmlType; import org.isotc211._2005.gco.BooleanPropertyType; import org.isotc211._2005.gco.CharacterStringPropertyType; import org.isotc211._2005.gco.RecordPropertyType; import org.jvnet.jaxb2_commons.lang.CopyStrategy2; import org.jvnet.jaxb2_commons.lang.CopyTo2; import org.jvnet.jaxb2_commons.lang.Equals2; import org.jvnet.jaxb2_commons.lang.EqualsStrategy2; import org.jvnet.jaxb2_commons.lang.HashCode2; import org.jvnet.jaxb2_commons.lang.HashCodeStrategy2; import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy; import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy; import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy; import org.jvnet.jaxb2_commons.lang.JAXBMergeStrategy; import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy; import org.jvnet.jaxb2_commons.lang.MergeFrom2; import org.jvnet.jaxb2_commons.lang.MergeStrategy2; import org.jvnet.jaxb2_commons.lang.ToString2; import org.jvnet.jaxb2_commons.lang.ToStringStrategy2; import org.jvnet.jaxb2_commons.locator.ObjectLocator; import org.jvnet.jaxb2_commons.locator.util.LocatorUtils; /** * <p>Java class for MD_Georeferenceable_Type complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="MD_Georeferenceable_Type"> * <complexContent> * <extension base="{http://www.isotc211.org/2005/gmd}MD_GridSpatialRepresentation_Type"> * <sequence> * <element name="controlPointAvailability" type="{http://www.isotc211.org/2005/gco}Boolean_PropertyType"/> * <element name="orientationParameterAvailability" type="{http://www.isotc211.org/2005/gco}Boolean_PropertyType"/> * <element name="orientationParameterDescription" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/> * <element name="georeferencedParameters" type="{http://www.isotc211.org/2005/gco}Record_PropertyType"/> * <element name="parameterCitation" type="{http://www.isotc211.org/2005/gmd}CI_Citation_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "MD_Georeferenceable_Type", propOrder = { "controlPointAvailability", "orientationParameterAvailability", "orientationParameterDescription", "georeferencedParameters", "parameterCitation" }) public class MDGeoreferenceableType extends MDGridSpatialRepresentationType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2 { private final static long serialVersionUID = 1L; @XmlElement(required = true) @NotNull(message = "MDGeoreferenceableType.controlPointAvailability {javax.validation.constraints.NotNull.message}") @Valid protected BooleanPropertyType controlPointAvailability; @XmlElement(required = true) @NotNull(message = "MDGeoreferenceableType.orientationParameterAvailability {javax.validation.constraints.NotNull.message}") @Valid protected BooleanPropertyType orientationParameterAvailability; @Valid protected CharacterStringPropertyType orientationParameterDescription; @XmlElement(required = true) @NotNull(message = "MDGeoreferenceableType.georeferencedParameters {javax.validation.constraints.NotNull.message}") @Valid protected RecordPropertyType georeferencedParameters; @Valid protected List<CICitationPropertyType> parameterCitation; /** * Gets the value of the controlPointAvailability property. * * @return * possible object is * {@link BooleanPropertyType } * */ public BooleanPropertyType getControlPointAvailability() { return controlPointAvailability; } /** * Sets the value of the controlPointAvailability property. * * @param value * allowed object is * {@link BooleanPropertyType } * */ public void setControlPointAvailability(BooleanPropertyType value) { this.controlPointAvailability = value; } public boolean isSetControlPointAvailability() { return (this.controlPointAvailability!= null); } /** * Gets the value of the orientationParameterAvailability property. * * @return * possible object is * {@link BooleanPropertyType } * */ public BooleanPropertyType getOrientationParameterAvailability() { return orientationParameterAvailability; } /** * Sets the value of the orientationParameterAvailability property. * * @param value * allowed object is * {@link BooleanPropertyType } * */ public void setOrientationParameterAvailability(BooleanPropertyType value) { this.orientationParameterAvailability = value; } public boolean isSetOrientationParameterAvailability() { return (this.orientationParameterAvailability!= null); } /** * Gets the value of the orientationParameterDescription property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getOrientationParameterDescription() { return orientationParameterDescription; } /** * Sets the value of the orientationParameterDescription property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setOrientationParameterDescription(CharacterStringPropertyType value) { this.orientationParameterDescription = value; } public boolean isSetOrientationParameterDescription() { return (this.orientationParameterDescription!= null); } /** * Gets the value of the georeferencedParameters property. * * @return * possible object is * {@link RecordPropertyType } * */ public RecordPropertyType getGeoreferencedParameters() { return georeferencedParameters; } /** * Sets the value of the georeferencedParameters property. * * @param value * allowed object is * {@link RecordPropertyType } * */ public void setGeoreferencedParameters(RecordPropertyType value) { this.georeferencedParameters = value; } public boolean isSetGeoreferencedParameters() { return (this.georeferencedParameters!= null); } /** * Gets the value of the parameterCitation 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 parameterCitation property. * * <p> * For example, to add a new item, do as follows: * <pre> * getParameterCitation().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link CICitationPropertyType } * * */ public List<CICitationPropertyType> getParameterCitation() { if (parameterCitation == null) { parameterCitation = new ArrayList<CICitationPropertyType>(); } return this.parameterCitation; } public boolean isSetParameterCitation() { return ((this.parameterCitation!= null)&&(!this.parameterCitation.isEmpty())); } public void unsetParameterCitation() { this.parameterCitation = 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); { BooleanPropertyType theControlPointAvailability; theControlPointAvailability = this.getControlPointAvailability(); strategy.appendField(locator, this, "controlPointAvailability", buffer, theControlPointAvailability, this.isSetControlPointAvailability()); } { BooleanPropertyType theOrientationParameterAvailability; theOrientationParameterAvailability = this.getOrientationParameterAvailability(); strategy.appendField(locator, this, "orientationParameterAvailability", buffer, theOrientationParameterAvailability, this.isSetOrientationParameterAvailability()); } { CharacterStringPropertyType theOrientationParameterDescription; theOrientationParameterDescription = this.getOrientationParameterDescription(); strategy.appendField(locator, this, "orientationParameterDescription", buffer, theOrientationParameterDescription, this.isSetOrientationParameterDescription()); } { RecordPropertyType theGeoreferencedParameters; theGeoreferencedParameters = this.getGeoreferencedParameters(); strategy.appendField(locator, this, "georeferencedParameters", buffer, theGeoreferencedParameters, this.isSetGeoreferencedParameters()); } { List<CICitationPropertyType> theParameterCitation; theParameterCitation = (this.isSetParameterCitation()?this.getParameterCitation():null); strategy.appendField(locator, this, "parameterCitation", buffer, theParameterCitation, this.isSetParameterCitation()); } 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 MDGeoreferenceableType that = ((MDGeoreferenceableType) object); { BooleanPropertyType lhsControlPointAvailability; lhsControlPointAvailability = this.getControlPointAvailability(); BooleanPropertyType rhsControlPointAvailability; rhsControlPointAvailability = that.getControlPointAvailability(); if (!strategy.equals(LocatorUtils.property(thisLocator, "controlPointAvailability", lhsControlPointAvailability), LocatorUtils.property(thatLocator, "controlPointAvailability", rhsControlPointAvailability), lhsControlPointAvailability, rhsControlPointAvailability, this.isSetControlPointAvailability(), that.isSetControlPointAvailability())) { return false; } } { BooleanPropertyType lhsOrientationParameterAvailability; lhsOrientationParameterAvailability = this.getOrientationParameterAvailability(); BooleanPropertyType rhsOrientationParameterAvailability; rhsOrientationParameterAvailability = that.getOrientationParameterAvailability(); if (!strategy.equals(LocatorUtils.property(thisLocator, "orientationParameterAvailability", lhsOrientationParameterAvailability), LocatorUtils.property(thatLocator, "orientationParameterAvailability", rhsOrientationParameterAvailability), lhsOrientationParameterAvailability, rhsOrientationParameterAvailability, this.isSetOrientationParameterAvailability(), that.isSetOrientationParameterAvailability())) { return false; } } { CharacterStringPropertyType lhsOrientationParameterDescription; lhsOrientationParameterDescription = this.getOrientationParameterDescription(); CharacterStringPropertyType rhsOrientationParameterDescription; rhsOrientationParameterDescription = that.getOrientationParameterDescription(); if (!strategy.equals(LocatorUtils.property(thisLocator, "orientationParameterDescription", lhsOrientationParameterDescription), LocatorUtils.property(thatLocator, "orientationParameterDescription", rhsOrientationParameterDescription), lhsOrientationParameterDescription, rhsOrientationParameterDescription, this.isSetOrientationParameterDescription(), that.isSetOrientationParameterDescription())) { return false; } } { RecordPropertyType lhsGeoreferencedParameters; lhsGeoreferencedParameters = this.getGeoreferencedParameters(); RecordPropertyType rhsGeoreferencedParameters; rhsGeoreferencedParameters = that.getGeoreferencedParameters(); if (!strategy.equals(LocatorUtils.property(thisLocator, "georeferencedParameters", lhsGeoreferencedParameters), LocatorUtils.property(thatLocator, "georeferencedParameters", rhsGeoreferencedParameters), lhsGeoreferencedParameters, rhsGeoreferencedParameters, this.isSetGeoreferencedParameters(), that.isSetGeoreferencedParameters())) { return false; } } { List<CICitationPropertyType> lhsParameterCitation; lhsParameterCitation = (this.isSetParameterCitation()?this.getParameterCitation():null); List<CICitationPropertyType> rhsParameterCitation; rhsParameterCitation = (that.isSetParameterCitation()?that.getParameterCitation():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "parameterCitation", lhsParameterCitation), LocatorUtils.property(thatLocator, "parameterCitation", rhsParameterCitation), lhsParameterCitation, rhsParameterCitation, this.isSetParameterCitation(), that.isSetParameterCitation())) { 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); { BooleanPropertyType theControlPointAvailability; theControlPointAvailability = this.getControlPointAvailability(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "controlPointAvailability", theControlPointAvailability), currentHashCode, theControlPointAvailability, this.isSetControlPointAvailability()); } { BooleanPropertyType theOrientationParameterAvailability; theOrientationParameterAvailability = this.getOrientationParameterAvailability(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "orientationParameterAvailability", theOrientationParameterAvailability), currentHashCode, theOrientationParameterAvailability, this.isSetOrientationParameterAvailability()); } { CharacterStringPropertyType theOrientationParameterDescription; theOrientationParameterDescription = this.getOrientationParameterDescription(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "orientationParameterDescription", theOrientationParameterDescription), currentHashCode, theOrientationParameterDescription, this.isSetOrientationParameterDescription()); } { RecordPropertyType theGeoreferencedParameters; theGeoreferencedParameters = this.getGeoreferencedParameters(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "georeferencedParameters", theGeoreferencedParameters), currentHashCode, theGeoreferencedParameters, this.isSetGeoreferencedParameters()); } { List<CICitationPropertyType> theParameterCitation; theParameterCitation = (this.isSetParameterCitation()?this.getParameterCitation():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "parameterCitation", theParameterCitation), currentHashCode, theParameterCitation, this.isSetParameterCitation()); } 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 MDGeoreferenceableType) { final MDGeoreferenceableType copy = ((MDGeoreferenceableType) draftCopy); { Boolean controlPointAvailabilityShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetControlPointAvailability()); if (controlPointAvailabilityShouldBeCopiedAndSet == Boolean.TRUE) { BooleanPropertyType sourceControlPointAvailability; sourceControlPointAvailability = this.getControlPointAvailability(); BooleanPropertyType copyControlPointAvailability = ((BooleanPropertyType) strategy.copy(LocatorUtils.property(locator, "controlPointAvailability", sourceControlPointAvailability), sourceControlPointAvailability, this.isSetControlPointAvailability())); copy.setControlPointAvailability(copyControlPointAvailability); } else { if (controlPointAvailabilityShouldBeCopiedAndSet == Boolean.FALSE) { copy.controlPointAvailability = null; } } } { Boolean orientationParameterAvailabilityShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetOrientationParameterAvailability()); if (orientationParameterAvailabilityShouldBeCopiedAndSet == Boolean.TRUE) { BooleanPropertyType sourceOrientationParameterAvailability; sourceOrientationParameterAvailability = this.getOrientationParameterAvailability(); BooleanPropertyType copyOrientationParameterAvailability = ((BooleanPropertyType) strategy.copy(LocatorUtils.property(locator, "orientationParameterAvailability", sourceOrientationParameterAvailability), sourceOrientationParameterAvailability, this.isSetOrientationParameterAvailability())); copy.setOrientationParameterAvailability(copyOrientationParameterAvailability); } else { if (orientationParameterAvailabilityShouldBeCopiedAndSet == Boolean.FALSE) { copy.orientationParameterAvailability = null; } } } { Boolean orientationParameterDescriptionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetOrientationParameterDescription()); if (orientationParameterDescriptionShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceOrientationParameterDescription; sourceOrientationParameterDescription = this.getOrientationParameterDescription(); CharacterStringPropertyType copyOrientationParameterDescription = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "orientationParameterDescription", sourceOrientationParameterDescription), sourceOrientationParameterDescription, this.isSetOrientationParameterDescription())); copy.setOrientationParameterDescription(copyOrientationParameterDescription); } else { if (orientationParameterDescriptionShouldBeCopiedAndSet == Boolean.FALSE) { copy.orientationParameterDescription = null; } } } { Boolean georeferencedParametersShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetGeoreferencedParameters()); if (georeferencedParametersShouldBeCopiedAndSet == Boolean.TRUE) { RecordPropertyType sourceGeoreferencedParameters; sourceGeoreferencedParameters = this.getGeoreferencedParameters(); RecordPropertyType copyGeoreferencedParameters = ((RecordPropertyType) strategy.copy(LocatorUtils.property(locator, "georeferencedParameters", sourceGeoreferencedParameters), sourceGeoreferencedParameters, this.isSetGeoreferencedParameters())); copy.setGeoreferencedParameters(copyGeoreferencedParameters); } else { if (georeferencedParametersShouldBeCopiedAndSet == Boolean.FALSE) { copy.georeferencedParameters = null; } } } { Boolean parameterCitationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetParameterCitation()); if (parameterCitationShouldBeCopiedAndSet == Boolean.TRUE) { List<CICitationPropertyType> sourceParameterCitation; sourceParameterCitation = (this.isSetParameterCitation()?this.getParameterCitation():null); @SuppressWarnings("unchecked") List<CICitationPropertyType> copyParameterCitation = ((List<CICitationPropertyType> ) strategy.copy(LocatorUtils.property(locator, "parameterCitation", sourceParameterCitation), sourceParameterCitation, this.isSetParameterCitation())); copy.unsetParameterCitation(); if (copyParameterCitation!= null) { List<CICitationPropertyType> uniqueParameterCitationl = copy.getParameterCitation(); uniqueParameterCitationl.addAll(copyParameterCitation); } } else { if (parameterCitationShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetParameterCitation(); } } } } return draftCopy; } public Object createNewInstance() { return new MDGeoreferenceableType(); } 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 MDGeoreferenceableType) { final MDGeoreferenceableType target = this; final MDGeoreferenceableType leftObject = ((MDGeoreferenceableType) left); final MDGeoreferenceableType rightObject = ((MDGeoreferenceableType) right); { Boolean controlPointAvailabilityShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetControlPointAvailability(), rightObject.isSetControlPointAvailability()); if (controlPointAvailabilityShouldBeMergedAndSet == Boolean.TRUE) { BooleanPropertyType lhsControlPointAvailability; lhsControlPointAvailability = leftObject.getControlPointAvailability(); BooleanPropertyType rhsControlPointAvailability; rhsControlPointAvailability = rightObject.getControlPointAvailability(); BooleanPropertyType mergedControlPointAvailability = ((BooleanPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "controlPointAvailability", lhsControlPointAvailability), LocatorUtils.property(rightLocator, "controlPointAvailability", rhsControlPointAvailability), lhsControlPointAvailability, rhsControlPointAvailability, leftObject.isSetControlPointAvailability(), rightObject.isSetControlPointAvailability())); target.setControlPointAvailability(mergedControlPointAvailability); } else { if (controlPointAvailabilityShouldBeMergedAndSet == Boolean.FALSE) { target.controlPointAvailability = null; } } } { Boolean orientationParameterAvailabilityShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetOrientationParameterAvailability(), rightObject.isSetOrientationParameterAvailability()); if (orientationParameterAvailabilityShouldBeMergedAndSet == Boolean.TRUE) { BooleanPropertyType lhsOrientationParameterAvailability; lhsOrientationParameterAvailability = leftObject.getOrientationParameterAvailability(); BooleanPropertyType rhsOrientationParameterAvailability; rhsOrientationParameterAvailability = rightObject.getOrientationParameterAvailability(); BooleanPropertyType mergedOrientationParameterAvailability = ((BooleanPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "orientationParameterAvailability", lhsOrientationParameterAvailability), LocatorUtils.property(rightLocator, "orientationParameterAvailability", rhsOrientationParameterAvailability), lhsOrientationParameterAvailability, rhsOrientationParameterAvailability, leftObject.isSetOrientationParameterAvailability(), rightObject.isSetOrientationParameterAvailability())); target.setOrientationParameterAvailability(mergedOrientationParameterAvailability); } else { if (orientationParameterAvailabilityShouldBeMergedAndSet == Boolean.FALSE) { target.orientationParameterAvailability = null; } } } { Boolean orientationParameterDescriptionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetOrientationParameterDescription(), rightObject.isSetOrientationParameterDescription()); if (orientationParameterDescriptionShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsOrientationParameterDescription; lhsOrientationParameterDescription = leftObject.getOrientationParameterDescription(); CharacterStringPropertyType rhsOrientationParameterDescription; rhsOrientationParameterDescription = rightObject.getOrientationParameterDescription(); CharacterStringPropertyType mergedOrientationParameterDescription = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "orientationParameterDescription", lhsOrientationParameterDescription), LocatorUtils.property(rightLocator, "orientationParameterDescription", rhsOrientationParameterDescription), lhsOrientationParameterDescription, rhsOrientationParameterDescription, leftObject.isSetOrientationParameterDescription(), rightObject.isSetOrientationParameterDescription())); target.setOrientationParameterDescription(mergedOrientationParameterDescription); } else { if (orientationParameterDescriptionShouldBeMergedAndSet == Boolean.FALSE) { target.orientationParameterDescription = null; } } } { Boolean georeferencedParametersShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetGeoreferencedParameters(), rightObject.isSetGeoreferencedParameters()); if (georeferencedParametersShouldBeMergedAndSet == Boolean.TRUE) { RecordPropertyType lhsGeoreferencedParameters; lhsGeoreferencedParameters = leftObject.getGeoreferencedParameters(); RecordPropertyType rhsGeoreferencedParameters; rhsGeoreferencedParameters = rightObject.getGeoreferencedParameters(); RecordPropertyType mergedGeoreferencedParameters = ((RecordPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "georeferencedParameters", lhsGeoreferencedParameters), LocatorUtils.property(rightLocator, "georeferencedParameters", rhsGeoreferencedParameters), lhsGeoreferencedParameters, rhsGeoreferencedParameters, leftObject.isSetGeoreferencedParameters(), rightObject.isSetGeoreferencedParameters())); target.setGeoreferencedParameters(mergedGeoreferencedParameters); } else { if (georeferencedParametersShouldBeMergedAndSet == Boolean.FALSE) { target.georeferencedParameters = null; } } } { Boolean parameterCitationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetParameterCitation(), rightObject.isSetParameterCitation()); if (parameterCitationShouldBeMergedAndSet == Boolean.TRUE) { List<CICitationPropertyType> lhsParameterCitation; lhsParameterCitation = (leftObject.isSetParameterCitation()?leftObject.getParameterCitation():null); List<CICitationPropertyType> rhsParameterCitation; rhsParameterCitation = (rightObject.isSetParameterCitation()?rightObject.getParameterCitation():null); List<CICitationPropertyType> mergedParameterCitation = ((List<CICitationPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "parameterCitation", lhsParameterCitation), LocatorUtils.property(rightLocator, "parameterCitation", rhsParameterCitation), lhsParameterCitation, rhsParameterCitation, leftObject.isSetParameterCitation(), rightObject.isSetParameterCitation())); target.unsetParameterCitation(); if (mergedParameterCitation!= null) { List<CICitationPropertyType> uniqueParameterCitationl = target.getParameterCitation(); uniqueParameterCitationl.addAll(mergedParameterCitation); } } else { if (parameterCitationShouldBeMergedAndSet == Boolean.FALSE) { target.unsetParameterCitation(); } } } } } public void setParameterCitation(List<CICitationPropertyType> value) { this.parameterCitation = null; if (value!= null) { List<CICitationPropertyType> draftl = this.getParameterCitation(); draftl.addAll(value); } } }