//
// 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.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import org.isotc211._2005.gco.AbstractObjectType;
import org.isotc211._2005.gco.CharacterStringPropertyType;
import org.isotc211._2005.gco.DateTimePropertyType;
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 AbstractDQ_Element_Type complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="AbstractDQ_Element_Type">
* <complexContent>
* <extension base="{http://www.isotc211.org/2005/gco}AbstractObject_Type">
* <sequence>
* <element name="nameOfMeasure" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="measureIdentification" type="{http://www.isotc211.org/2005/gmd}MD_Identifier_PropertyType" minOccurs="0"/>
* <element name="measureDescription" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="evaluationMethodType" type="{http://www.isotc211.org/2005/gmd}DQ_EvaluationMethodTypeCode_PropertyType" minOccurs="0"/>
* <element name="evaluationMethodDescription" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="evaluationProcedure" type="{http://www.isotc211.org/2005/gmd}CI_Citation_PropertyType" minOccurs="0"/>
* <element name="dateTime" type="{http://www.isotc211.org/2005/gco}DateTime_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="result" type="{http://www.isotc211.org/2005/gmd}DQ_Result_PropertyType" maxOccurs="2"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractDQ_Element_Type", propOrder = {
"nameOfMeasure",
"measureIdentification",
"measureDescription",
"evaluationMethodType",
"evaluationMethodDescription",
"evaluationProcedure",
"dateTime",
"result"
})
@XmlSeeAlso({
AbstractDQTemporalAccuracyType.class,
AbstractDQThematicAccuracyType.class,
AbstractDQPositionalAccuracyType.class,
AbstractDQLogicalConsistencyType.class,
AbstractDQCompletenessType.class
})
public abstract class AbstractDQElementType
extends AbstractObjectType
implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@Valid
protected List<CharacterStringPropertyType> nameOfMeasure;
@Valid
protected MDIdentifierPropertyType measureIdentification;
@Valid
protected CharacterStringPropertyType measureDescription;
@Valid
protected DQEvaluationMethodTypeCodePropertyType evaluationMethodType;
@Valid
protected CharacterStringPropertyType evaluationMethodDescription;
@Valid
protected CICitationPropertyType evaluationProcedure;
@Valid
protected List<DateTimePropertyType> dateTime;
@XmlElement(required = true)
@NotNull(message = "AbstractDQElementType.result {javax.validation.constraints.NotNull.message}")
@Size(min = 1, max = 2)
@Valid
protected List<DQResultPropertyType> result;
/**
* Gets the value of the nameOfMeasure 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 nameOfMeasure property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getNameOfMeasure().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CharacterStringPropertyType }
*
*
*/
public List<CharacterStringPropertyType> getNameOfMeasure() {
if (nameOfMeasure == null) {
nameOfMeasure = new ArrayList<CharacterStringPropertyType>();
}
return this.nameOfMeasure;
}
public boolean isSetNameOfMeasure() {
return ((this.nameOfMeasure!= null)&&(!this.nameOfMeasure.isEmpty()));
}
public void unsetNameOfMeasure() {
this.nameOfMeasure = null;
}
/**
* Gets the value of the measureIdentification property.
*
* @return
* possible object is
* {@link MDIdentifierPropertyType }
*
*/
public MDIdentifierPropertyType getMeasureIdentification() {
return measureIdentification;
}
/**
* Sets the value of the measureIdentification property.
*
* @param value
* allowed object is
* {@link MDIdentifierPropertyType }
*
*/
public void setMeasureIdentification(MDIdentifierPropertyType value) {
this.measureIdentification = value;
}
public boolean isSetMeasureIdentification() {
return (this.measureIdentification!= null);
}
/**
* Gets the value of the measureDescription property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getMeasureDescription() {
return measureDescription;
}
/**
* Sets the value of the measureDescription property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setMeasureDescription(CharacterStringPropertyType value) {
this.measureDescription = value;
}
public boolean isSetMeasureDescription() {
return (this.measureDescription!= null);
}
/**
* Gets the value of the evaluationMethodType property.
*
* @return
* possible object is
* {@link DQEvaluationMethodTypeCodePropertyType }
*
*/
public DQEvaluationMethodTypeCodePropertyType getEvaluationMethodType() {
return evaluationMethodType;
}
/**
* Sets the value of the evaluationMethodType property.
*
* @param value
* allowed object is
* {@link DQEvaluationMethodTypeCodePropertyType }
*
*/
public void setEvaluationMethodType(DQEvaluationMethodTypeCodePropertyType value) {
this.evaluationMethodType = value;
}
public boolean isSetEvaluationMethodType() {
return (this.evaluationMethodType!= null);
}
/**
* Gets the value of the evaluationMethodDescription property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getEvaluationMethodDescription() {
return evaluationMethodDescription;
}
/**
* Sets the value of the evaluationMethodDescription property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setEvaluationMethodDescription(CharacterStringPropertyType value) {
this.evaluationMethodDescription = value;
}
public boolean isSetEvaluationMethodDescription() {
return (this.evaluationMethodDescription!= null);
}
/**
* Gets the value of the evaluationProcedure property.
*
* @return
* possible object is
* {@link CICitationPropertyType }
*
*/
public CICitationPropertyType getEvaluationProcedure() {
return evaluationProcedure;
}
/**
* Sets the value of the evaluationProcedure property.
*
* @param value
* allowed object is
* {@link CICitationPropertyType }
*
*/
public void setEvaluationProcedure(CICitationPropertyType value) {
this.evaluationProcedure = value;
}
public boolean isSetEvaluationProcedure() {
return (this.evaluationProcedure!= null);
}
/**
* Gets the value of the dateTime 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 dateTime property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getDateTime().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link DateTimePropertyType }
*
*
*/
public List<DateTimePropertyType> getDateTime() {
if (dateTime == null) {
dateTime = new ArrayList<DateTimePropertyType>();
}
return this.dateTime;
}
public boolean isSetDateTime() {
return ((this.dateTime!= null)&&(!this.dateTime.isEmpty()));
}
public void unsetDateTime() {
this.dateTime = null;
}
/**
* Gets the value of the result 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 result property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getResult().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link DQResultPropertyType }
*
*
*/
public List<DQResultPropertyType> getResult() {
if (result == null) {
result = new ArrayList<DQResultPropertyType>();
}
return this.result;
}
public boolean isSetResult() {
return ((this.result!= null)&&(!this.result.isEmpty()));
}
public void unsetResult() {
this.result = null;
}
public String toString() {
final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
strategy.appendStart(locator, this, buffer);
appendFields(locator, buffer, strategy);
strategy.appendEnd(locator, this, buffer);
return buffer;
}
public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
super.appendFields(locator, buffer, strategy);
{
List<CharacterStringPropertyType> theNameOfMeasure;
theNameOfMeasure = (this.isSetNameOfMeasure()?this.getNameOfMeasure():null);
strategy.appendField(locator, this, "nameOfMeasure", buffer, theNameOfMeasure, this.isSetNameOfMeasure());
}
{
MDIdentifierPropertyType theMeasureIdentification;
theMeasureIdentification = this.getMeasureIdentification();
strategy.appendField(locator, this, "measureIdentification", buffer, theMeasureIdentification, this.isSetMeasureIdentification());
}
{
CharacterStringPropertyType theMeasureDescription;
theMeasureDescription = this.getMeasureDescription();
strategy.appendField(locator, this, "measureDescription", buffer, theMeasureDescription, this.isSetMeasureDescription());
}
{
DQEvaluationMethodTypeCodePropertyType theEvaluationMethodType;
theEvaluationMethodType = this.getEvaluationMethodType();
strategy.appendField(locator, this, "evaluationMethodType", buffer, theEvaluationMethodType, this.isSetEvaluationMethodType());
}
{
CharacterStringPropertyType theEvaluationMethodDescription;
theEvaluationMethodDescription = this.getEvaluationMethodDescription();
strategy.appendField(locator, this, "evaluationMethodDescription", buffer, theEvaluationMethodDescription, this.isSetEvaluationMethodDescription());
}
{
CICitationPropertyType theEvaluationProcedure;
theEvaluationProcedure = this.getEvaluationProcedure();
strategy.appendField(locator, this, "evaluationProcedure", buffer, theEvaluationProcedure, this.isSetEvaluationProcedure());
}
{
List<DateTimePropertyType> theDateTime;
theDateTime = (this.isSetDateTime()?this.getDateTime():null);
strategy.appendField(locator, this, "dateTime", buffer, theDateTime, this.isSetDateTime());
}
{
List<DQResultPropertyType> theResult;
theResult = (this.isSetResult()?this.getResult():null);
strategy.appendField(locator, this, "result", buffer, theResult, this.isSetResult());
}
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 AbstractDQElementType that = ((AbstractDQElementType) object);
{
List<CharacterStringPropertyType> lhsNameOfMeasure;
lhsNameOfMeasure = (this.isSetNameOfMeasure()?this.getNameOfMeasure():null);
List<CharacterStringPropertyType> rhsNameOfMeasure;
rhsNameOfMeasure = (that.isSetNameOfMeasure()?that.getNameOfMeasure():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "nameOfMeasure", lhsNameOfMeasure), LocatorUtils.property(thatLocator, "nameOfMeasure", rhsNameOfMeasure), lhsNameOfMeasure, rhsNameOfMeasure, this.isSetNameOfMeasure(), that.isSetNameOfMeasure())) {
return false;
}
}
{
MDIdentifierPropertyType lhsMeasureIdentification;
lhsMeasureIdentification = this.getMeasureIdentification();
MDIdentifierPropertyType rhsMeasureIdentification;
rhsMeasureIdentification = that.getMeasureIdentification();
if (!strategy.equals(LocatorUtils.property(thisLocator, "measureIdentification", lhsMeasureIdentification), LocatorUtils.property(thatLocator, "measureIdentification", rhsMeasureIdentification), lhsMeasureIdentification, rhsMeasureIdentification, this.isSetMeasureIdentification(), that.isSetMeasureIdentification())) {
return false;
}
}
{
CharacterStringPropertyType lhsMeasureDescription;
lhsMeasureDescription = this.getMeasureDescription();
CharacterStringPropertyType rhsMeasureDescription;
rhsMeasureDescription = that.getMeasureDescription();
if (!strategy.equals(LocatorUtils.property(thisLocator, "measureDescription", lhsMeasureDescription), LocatorUtils.property(thatLocator, "measureDescription", rhsMeasureDescription), lhsMeasureDescription, rhsMeasureDescription, this.isSetMeasureDescription(), that.isSetMeasureDescription())) {
return false;
}
}
{
DQEvaluationMethodTypeCodePropertyType lhsEvaluationMethodType;
lhsEvaluationMethodType = this.getEvaluationMethodType();
DQEvaluationMethodTypeCodePropertyType rhsEvaluationMethodType;
rhsEvaluationMethodType = that.getEvaluationMethodType();
if (!strategy.equals(LocatorUtils.property(thisLocator, "evaluationMethodType", lhsEvaluationMethodType), LocatorUtils.property(thatLocator, "evaluationMethodType", rhsEvaluationMethodType), lhsEvaluationMethodType, rhsEvaluationMethodType, this.isSetEvaluationMethodType(), that.isSetEvaluationMethodType())) {
return false;
}
}
{
CharacterStringPropertyType lhsEvaluationMethodDescription;
lhsEvaluationMethodDescription = this.getEvaluationMethodDescription();
CharacterStringPropertyType rhsEvaluationMethodDescription;
rhsEvaluationMethodDescription = that.getEvaluationMethodDescription();
if (!strategy.equals(LocatorUtils.property(thisLocator, "evaluationMethodDescription", lhsEvaluationMethodDescription), LocatorUtils.property(thatLocator, "evaluationMethodDescription", rhsEvaluationMethodDescription), lhsEvaluationMethodDescription, rhsEvaluationMethodDescription, this.isSetEvaluationMethodDescription(), that.isSetEvaluationMethodDescription())) {
return false;
}
}
{
CICitationPropertyType lhsEvaluationProcedure;
lhsEvaluationProcedure = this.getEvaluationProcedure();
CICitationPropertyType rhsEvaluationProcedure;
rhsEvaluationProcedure = that.getEvaluationProcedure();
if (!strategy.equals(LocatorUtils.property(thisLocator, "evaluationProcedure", lhsEvaluationProcedure), LocatorUtils.property(thatLocator, "evaluationProcedure", rhsEvaluationProcedure), lhsEvaluationProcedure, rhsEvaluationProcedure, this.isSetEvaluationProcedure(), that.isSetEvaluationProcedure())) {
return false;
}
}
{
List<DateTimePropertyType> lhsDateTime;
lhsDateTime = (this.isSetDateTime()?this.getDateTime():null);
List<DateTimePropertyType> rhsDateTime;
rhsDateTime = (that.isSetDateTime()?that.getDateTime():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "dateTime", lhsDateTime), LocatorUtils.property(thatLocator, "dateTime", rhsDateTime), lhsDateTime, rhsDateTime, this.isSetDateTime(), that.isSetDateTime())) {
return false;
}
}
{
List<DQResultPropertyType> lhsResult;
lhsResult = (this.isSetResult()?this.getResult():null);
List<DQResultPropertyType> rhsResult;
rhsResult = (that.isSetResult()?that.getResult():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "result", lhsResult), LocatorUtils.property(thatLocator, "result", rhsResult), lhsResult, rhsResult, this.isSetResult(), that.isSetResult())) {
return false;
}
}
return true;
}
public boolean equals(Object object) {
final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) {
int currentHashCode = super.hashCode(locator, strategy);
{
List<CharacterStringPropertyType> theNameOfMeasure;
theNameOfMeasure = (this.isSetNameOfMeasure()?this.getNameOfMeasure():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "nameOfMeasure", theNameOfMeasure), currentHashCode, theNameOfMeasure, this.isSetNameOfMeasure());
}
{
MDIdentifierPropertyType theMeasureIdentification;
theMeasureIdentification = this.getMeasureIdentification();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "measureIdentification", theMeasureIdentification), currentHashCode, theMeasureIdentification, this.isSetMeasureIdentification());
}
{
CharacterStringPropertyType theMeasureDescription;
theMeasureDescription = this.getMeasureDescription();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "measureDescription", theMeasureDescription), currentHashCode, theMeasureDescription, this.isSetMeasureDescription());
}
{
DQEvaluationMethodTypeCodePropertyType theEvaluationMethodType;
theEvaluationMethodType = this.getEvaluationMethodType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "evaluationMethodType", theEvaluationMethodType), currentHashCode, theEvaluationMethodType, this.isSetEvaluationMethodType());
}
{
CharacterStringPropertyType theEvaluationMethodDescription;
theEvaluationMethodDescription = this.getEvaluationMethodDescription();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "evaluationMethodDescription", theEvaluationMethodDescription), currentHashCode, theEvaluationMethodDescription, this.isSetEvaluationMethodDescription());
}
{
CICitationPropertyType theEvaluationProcedure;
theEvaluationProcedure = this.getEvaluationProcedure();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "evaluationProcedure", theEvaluationProcedure), currentHashCode, theEvaluationProcedure, this.isSetEvaluationProcedure());
}
{
List<DateTimePropertyType> theDateTime;
theDateTime = (this.isSetDateTime()?this.getDateTime():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateTime", theDateTime), currentHashCode, theDateTime, this.isSetDateTime());
}
{
List<DQResultPropertyType> theResult;
theResult = (this.isSetResult()?this.getResult():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "result", theResult), currentHashCode, theResult, this.isSetResult());
}
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 AbstractDQElementType) {
final AbstractDQElementType copy = ((AbstractDQElementType) target);
{
Boolean nameOfMeasureShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetNameOfMeasure());
if (nameOfMeasureShouldBeCopiedAndSet == Boolean.TRUE) {
List<CharacterStringPropertyType> sourceNameOfMeasure;
sourceNameOfMeasure = (this.isSetNameOfMeasure()?this.getNameOfMeasure():null);
@SuppressWarnings("unchecked")
List<CharacterStringPropertyType> copyNameOfMeasure = ((List<CharacterStringPropertyType> ) strategy.copy(LocatorUtils.property(locator, "nameOfMeasure", sourceNameOfMeasure), sourceNameOfMeasure, this.isSetNameOfMeasure()));
copy.unsetNameOfMeasure();
if (copyNameOfMeasure!= null) {
List<CharacterStringPropertyType> uniqueNameOfMeasurel = copy.getNameOfMeasure();
uniqueNameOfMeasurel.addAll(copyNameOfMeasure);
}
} else {
if (nameOfMeasureShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetNameOfMeasure();
}
}
}
{
Boolean measureIdentificationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMeasureIdentification());
if (measureIdentificationShouldBeCopiedAndSet == Boolean.TRUE) {
MDIdentifierPropertyType sourceMeasureIdentification;
sourceMeasureIdentification = this.getMeasureIdentification();
MDIdentifierPropertyType copyMeasureIdentification = ((MDIdentifierPropertyType) strategy.copy(LocatorUtils.property(locator, "measureIdentification", sourceMeasureIdentification), sourceMeasureIdentification, this.isSetMeasureIdentification()));
copy.setMeasureIdentification(copyMeasureIdentification);
} else {
if (measureIdentificationShouldBeCopiedAndSet == Boolean.FALSE) {
copy.measureIdentification = null;
}
}
}
{
Boolean measureDescriptionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMeasureDescription());
if (measureDescriptionShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceMeasureDescription;
sourceMeasureDescription = this.getMeasureDescription();
CharacterStringPropertyType copyMeasureDescription = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "measureDescription", sourceMeasureDescription), sourceMeasureDescription, this.isSetMeasureDescription()));
copy.setMeasureDescription(copyMeasureDescription);
} else {
if (measureDescriptionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.measureDescription = null;
}
}
}
{
Boolean evaluationMethodTypeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetEvaluationMethodType());
if (evaluationMethodTypeShouldBeCopiedAndSet == Boolean.TRUE) {
DQEvaluationMethodTypeCodePropertyType sourceEvaluationMethodType;
sourceEvaluationMethodType = this.getEvaluationMethodType();
DQEvaluationMethodTypeCodePropertyType copyEvaluationMethodType = ((DQEvaluationMethodTypeCodePropertyType) strategy.copy(LocatorUtils.property(locator, "evaluationMethodType", sourceEvaluationMethodType), sourceEvaluationMethodType, this.isSetEvaluationMethodType()));
copy.setEvaluationMethodType(copyEvaluationMethodType);
} else {
if (evaluationMethodTypeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.evaluationMethodType = null;
}
}
}
{
Boolean evaluationMethodDescriptionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetEvaluationMethodDescription());
if (evaluationMethodDescriptionShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceEvaluationMethodDescription;
sourceEvaluationMethodDescription = this.getEvaluationMethodDescription();
CharacterStringPropertyType copyEvaluationMethodDescription = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "evaluationMethodDescription", sourceEvaluationMethodDescription), sourceEvaluationMethodDescription, this.isSetEvaluationMethodDescription()));
copy.setEvaluationMethodDescription(copyEvaluationMethodDescription);
} else {
if (evaluationMethodDescriptionShouldBeCopiedAndSet == Boolean.FALSE) {
copy.evaluationMethodDescription = null;
}
}
}
{
Boolean evaluationProcedureShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetEvaluationProcedure());
if (evaluationProcedureShouldBeCopiedAndSet == Boolean.TRUE) {
CICitationPropertyType sourceEvaluationProcedure;
sourceEvaluationProcedure = this.getEvaluationProcedure();
CICitationPropertyType copyEvaluationProcedure = ((CICitationPropertyType) strategy.copy(LocatorUtils.property(locator, "evaluationProcedure", sourceEvaluationProcedure), sourceEvaluationProcedure, this.isSetEvaluationProcedure()));
copy.setEvaluationProcedure(copyEvaluationProcedure);
} else {
if (evaluationProcedureShouldBeCopiedAndSet == Boolean.FALSE) {
copy.evaluationProcedure = null;
}
}
}
{
Boolean dateTimeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDateTime());
if (dateTimeShouldBeCopiedAndSet == Boolean.TRUE) {
List<DateTimePropertyType> sourceDateTime;
sourceDateTime = (this.isSetDateTime()?this.getDateTime():null);
@SuppressWarnings("unchecked")
List<DateTimePropertyType> copyDateTime = ((List<DateTimePropertyType> ) strategy.copy(LocatorUtils.property(locator, "dateTime", sourceDateTime), sourceDateTime, this.isSetDateTime()));
copy.unsetDateTime();
if (copyDateTime!= null) {
List<DateTimePropertyType> uniqueDateTimel = copy.getDateTime();
uniqueDateTimel.addAll(copyDateTime);
}
} else {
if (dateTimeShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetDateTime();
}
}
}
{
Boolean resultShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetResult());
if (resultShouldBeCopiedAndSet == Boolean.TRUE) {
List<DQResultPropertyType> sourceResult;
sourceResult = (this.isSetResult()?this.getResult():null);
@SuppressWarnings("unchecked")
List<DQResultPropertyType> copyResult = ((List<DQResultPropertyType> ) strategy.copy(LocatorUtils.property(locator, "result", sourceResult), sourceResult, this.isSetResult()));
copy.unsetResult();
if (copyResult!= null) {
List<DQResultPropertyType> uniqueResultl = copy.getResult();
uniqueResultl.addAll(copyResult);
}
} else {
if (resultShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetResult();
}
}
}
}
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 AbstractDQElementType) {
final AbstractDQElementType target = this;
final AbstractDQElementType leftObject = ((AbstractDQElementType) left);
final AbstractDQElementType rightObject = ((AbstractDQElementType) right);
{
Boolean nameOfMeasureShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetNameOfMeasure(), rightObject.isSetNameOfMeasure());
if (nameOfMeasureShouldBeMergedAndSet == Boolean.TRUE) {
List<CharacterStringPropertyType> lhsNameOfMeasure;
lhsNameOfMeasure = (leftObject.isSetNameOfMeasure()?leftObject.getNameOfMeasure():null);
List<CharacterStringPropertyType> rhsNameOfMeasure;
rhsNameOfMeasure = (rightObject.isSetNameOfMeasure()?rightObject.getNameOfMeasure():null);
List<CharacterStringPropertyType> mergedNameOfMeasure = ((List<CharacterStringPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "nameOfMeasure", lhsNameOfMeasure), LocatorUtils.property(rightLocator, "nameOfMeasure", rhsNameOfMeasure), lhsNameOfMeasure, rhsNameOfMeasure, leftObject.isSetNameOfMeasure(), rightObject.isSetNameOfMeasure()));
target.unsetNameOfMeasure();
if (mergedNameOfMeasure!= null) {
List<CharacterStringPropertyType> uniqueNameOfMeasurel = target.getNameOfMeasure();
uniqueNameOfMeasurel.addAll(mergedNameOfMeasure);
}
} else {
if (nameOfMeasureShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetNameOfMeasure();
}
}
}
{
Boolean measureIdentificationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMeasureIdentification(), rightObject.isSetMeasureIdentification());
if (measureIdentificationShouldBeMergedAndSet == Boolean.TRUE) {
MDIdentifierPropertyType lhsMeasureIdentification;
lhsMeasureIdentification = leftObject.getMeasureIdentification();
MDIdentifierPropertyType rhsMeasureIdentification;
rhsMeasureIdentification = rightObject.getMeasureIdentification();
MDIdentifierPropertyType mergedMeasureIdentification = ((MDIdentifierPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "measureIdentification", lhsMeasureIdentification), LocatorUtils.property(rightLocator, "measureIdentification", rhsMeasureIdentification), lhsMeasureIdentification, rhsMeasureIdentification, leftObject.isSetMeasureIdentification(), rightObject.isSetMeasureIdentification()));
target.setMeasureIdentification(mergedMeasureIdentification);
} else {
if (measureIdentificationShouldBeMergedAndSet == Boolean.FALSE) {
target.measureIdentification = null;
}
}
}
{
Boolean measureDescriptionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMeasureDescription(), rightObject.isSetMeasureDescription());
if (measureDescriptionShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsMeasureDescription;
lhsMeasureDescription = leftObject.getMeasureDescription();
CharacterStringPropertyType rhsMeasureDescription;
rhsMeasureDescription = rightObject.getMeasureDescription();
CharacterStringPropertyType mergedMeasureDescription = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "measureDescription", lhsMeasureDescription), LocatorUtils.property(rightLocator, "measureDescription", rhsMeasureDescription), lhsMeasureDescription, rhsMeasureDescription, leftObject.isSetMeasureDescription(), rightObject.isSetMeasureDescription()));
target.setMeasureDescription(mergedMeasureDescription);
} else {
if (measureDescriptionShouldBeMergedAndSet == Boolean.FALSE) {
target.measureDescription = null;
}
}
}
{
Boolean evaluationMethodTypeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetEvaluationMethodType(), rightObject.isSetEvaluationMethodType());
if (evaluationMethodTypeShouldBeMergedAndSet == Boolean.TRUE) {
DQEvaluationMethodTypeCodePropertyType lhsEvaluationMethodType;
lhsEvaluationMethodType = leftObject.getEvaluationMethodType();
DQEvaluationMethodTypeCodePropertyType rhsEvaluationMethodType;
rhsEvaluationMethodType = rightObject.getEvaluationMethodType();
DQEvaluationMethodTypeCodePropertyType mergedEvaluationMethodType = ((DQEvaluationMethodTypeCodePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "evaluationMethodType", lhsEvaluationMethodType), LocatorUtils.property(rightLocator, "evaluationMethodType", rhsEvaluationMethodType), lhsEvaluationMethodType, rhsEvaluationMethodType, leftObject.isSetEvaluationMethodType(), rightObject.isSetEvaluationMethodType()));
target.setEvaluationMethodType(mergedEvaluationMethodType);
} else {
if (evaluationMethodTypeShouldBeMergedAndSet == Boolean.FALSE) {
target.evaluationMethodType = null;
}
}
}
{
Boolean evaluationMethodDescriptionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetEvaluationMethodDescription(), rightObject.isSetEvaluationMethodDescription());
if (evaluationMethodDescriptionShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsEvaluationMethodDescription;
lhsEvaluationMethodDescription = leftObject.getEvaluationMethodDescription();
CharacterStringPropertyType rhsEvaluationMethodDescription;
rhsEvaluationMethodDescription = rightObject.getEvaluationMethodDescription();
CharacterStringPropertyType mergedEvaluationMethodDescription = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "evaluationMethodDescription", lhsEvaluationMethodDescription), LocatorUtils.property(rightLocator, "evaluationMethodDescription", rhsEvaluationMethodDescription), lhsEvaluationMethodDescription, rhsEvaluationMethodDescription, leftObject.isSetEvaluationMethodDescription(), rightObject.isSetEvaluationMethodDescription()));
target.setEvaluationMethodDescription(mergedEvaluationMethodDescription);
} else {
if (evaluationMethodDescriptionShouldBeMergedAndSet == Boolean.FALSE) {
target.evaluationMethodDescription = null;
}
}
}
{
Boolean evaluationProcedureShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetEvaluationProcedure(), rightObject.isSetEvaluationProcedure());
if (evaluationProcedureShouldBeMergedAndSet == Boolean.TRUE) {
CICitationPropertyType lhsEvaluationProcedure;
lhsEvaluationProcedure = leftObject.getEvaluationProcedure();
CICitationPropertyType rhsEvaluationProcedure;
rhsEvaluationProcedure = rightObject.getEvaluationProcedure();
CICitationPropertyType mergedEvaluationProcedure = ((CICitationPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "evaluationProcedure", lhsEvaluationProcedure), LocatorUtils.property(rightLocator, "evaluationProcedure", rhsEvaluationProcedure), lhsEvaluationProcedure, rhsEvaluationProcedure, leftObject.isSetEvaluationProcedure(), rightObject.isSetEvaluationProcedure()));
target.setEvaluationProcedure(mergedEvaluationProcedure);
} else {
if (evaluationProcedureShouldBeMergedAndSet == Boolean.FALSE) {
target.evaluationProcedure = null;
}
}
}
{
Boolean dateTimeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDateTime(), rightObject.isSetDateTime());
if (dateTimeShouldBeMergedAndSet == Boolean.TRUE) {
List<DateTimePropertyType> lhsDateTime;
lhsDateTime = (leftObject.isSetDateTime()?leftObject.getDateTime():null);
List<DateTimePropertyType> rhsDateTime;
rhsDateTime = (rightObject.isSetDateTime()?rightObject.getDateTime():null);
List<DateTimePropertyType> mergedDateTime = ((List<DateTimePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "dateTime", lhsDateTime), LocatorUtils.property(rightLocator, "dateTime", rhsDateTime), lhsDateTime, rhsDateTime, leftObject.isSetDateTime(), rightObject.isSetDateTime()));
target.unsetDateTime();
if (mergedDateTime!= null) {
List<DateTimePropertyType> uniqueDateTimel = target.getDateTime();
uniqueDateTimel.addAll(mergedDateTime);
}
} else {
if (dateTimeShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetDateTime();
}
}
}
{
Boolean resultShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetResult(), rightObject.isSetResult());
if (resultShouldBeMergedAndSet == Boolean.TRUE) {
List<DQResultPropertyType> lhsResult;
lhsResult = (leftObject.isSetResult()?leftObject.getResult():null);
List<DQResultPropertyType> rhsResult;
rhsResult = (rightObject.isSetResult()?rightObject.getResult():null);
List<DQResultPropertyType> mergedResult = ((List<DQResultPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "result", lhsResult), LocatorUtils.property(rightLocator, "result", rhsResult), lhsResult, rhsResult, leftObject.isSetResult(), rightObject.isSetResult()));
target.unsetResult();
if (mergedResult!= null) {
List<DQResultPropertyType> uniqueResultl = target.getResult();
uniqueResultl.addAll(mergedResult);
}
} else {
if (resultShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetResult();
}
}
}
}
}
public void setNameOfMeasure(List<CharacterStringPropertyType> value) {
this.nameOfMeasure = null;
if (value!= null) {
List<CharacterStringPropertyType> draftl = this.getNameOfMeasure();
draftl.addAll(value);
}
}
public void setDateTime(List<DateTimePropertyType> value) {
this.dateTime = null;
if (value!= null) {
List<DateTimePropertyType> draftl = this.getDateTime();
draftl.addAll(value);
}
}
public void setResult(List<DQResultPropertyType> value) {
this.result = null;
if (value!= null) {
List<DQResultPropertyType> draftl = this.getResult();
draftl.addAll(value);
}
}
}