//
// 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 javax.validation.Valid;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
import org.isotc211._2005.gco.IntegerPropertyType;
import org.isotc211._2005.gco.RealPropertyType;
import org.isotc211._2005.gco.UomLengthPropertyType;
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_Band_Type complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="MD_Band_Type">
* <complexContent>
* <extension base="{http://www.isotc211.org/2005/gmd}MD_RangeDimension_Type">
* <sequence>
* <element name="maxValue" type="{http://www.isotc211.org/2005/gco}Real_PropertyType" minOccurs="0"/>
* <element name="minValue" type="{http://www.isotc211.org/2005/gco}Real_PropertyType" minOccurs="0"/>
* <element name="units" type="{http://www.isotc211.org/2005/gco}UomLength_PropertyType" minOccurs="0"/>
* <element name="peakResponse" type="{http://www.isotc211.org/2005/gco}Real_PropertyType" minOccurs="0"/>
* <element name="bitsPerValue" type="{http://www.isotc211.org/2005/gco}Integer_PropertyType" minOccurs="0"/>
* <element name="toneGradation" type="{http://www.isotc211.org/2005/gco}Integer_PropertyType" minOccurs="0"/>
* <element name="scaleFactor" type="{http://www.isotc211.org/2005/gco}Real_PropertyType" minOccurs="0"/>
* <element name="offset" type="{http://www.isotc211.org/2005/gco}Real_PropertyType" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MD_Band_Type", propOrder = {
"maxValue",
"minValue",
"units",
"peakResponse",
"bitsPerValue",
"toneGradation",
"scaleFactor",
"offset"
})
public class MDBandType
extends MDRangeDimensionType
implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@Valid
protected RealPropertyType maxValue;
@Valid
protected RealPropertyType minValue;
@Valid
protected UomLengthPropertyType units;
@Valid
protected RealPropertyType peakResponse;
@Valid
protected IntegerPropertyType bitsPerValue;
@Valid
protected IntegerPropertyType toneGradation;
@Valid
protected RealPropertyType scaleFactor;
@Valid
protected RealPropertyType offset;
/**
* Gets the value of the maxValue property.
*
* @return
* possible object is
* {@link RealPropertyType }
*
*/
public RealPropertyType getMaxValue() {
return maxValue;
}
/**
* Sets the value of the maxValue property.
*
* @param value
* allowed object is
* {@link RealPropertyType }
*
*/
public void setMaxValue(RealPropertyType value) {
this.maxValue = value;
}
public boolean isSetMaxValue() {
return (this.maxValue!= null);
}
/**
* Gets the value of the minValue property.
*
* @return
* possible object is
* {@link RealPropertyType }
*
*/
public RealPropertyType getMinValue() {
return minValue;
}
/**
* Sets the value of the minValue property.
*
* @param value
* allowed object is
* {@link RealPropertyType }
*
*/
public void setMinValue(RealPropertyType value) {
this.minValue = value;
}
public boolean isSetMinValue() {
return (this.minValue!= null);
}
/**
* Gets the value of the units property.
*
* @return
* possible object is
* {@link UomLengthPropertyType }
*
*/
public UomLengthPropertyType getUnits() {
return units;
}
/**
* Sets the value of the units property.
*
* @param value
* allowed object is
* {@link UomLengthPropertyType }
*
*/
public void setUnits(UomLengthPropertyType value) {
this.units = value;
}
public boolean isSetUnits() {
return (this.units!= null);
}
/**
* Gets the value of the peakResponse property.
*
* @return
* possible object is
* {@link RealPropertyType }
*
*/
public RealPropertyType getPeakResponse() {
return peakResponse;
}
/**
* Sets the value of the peakResponse property.
*
* @param value
* allowed object is
* {@link RealPropertyType }
*
*/
public void setPeakResponse(RealPropertyType value) {
this.peakResponse = value;
}
public boolean isSetPeakResponse() {
return (this.peakResponse!= null);
}
/**
* Gets the value of the bitsPerValue property.
*
* @return
* possible object is
* {@link IntegerPropertyType }
*
*/
public IntegerPropertyType getBitsPerValue() {
return bitsPerValue;
}
/**
* Sets the value of the bitsPerValue property.
*
* @param value
* allowed object is
* {@link IntegerPropertyType }
*
*/
public void setBitsPerValue(IntegerPropertyType value) {
this.bitsPerValue = value;
}
public boolean isSetBitsPerValue() {
return (this.bitsPerValue!= null);
}
/**
* Gets the value of the toneGradation property.
*
* @return
* possible object is
* {@link IntegerPropertyType }
*
*/
public IntegerPropertyType getToneGradation() {
return toneGradation;
}
/**
* Sets the value of the toneGradation property.
*
* @param value
* allowed object is
* {@link IntegerPropertyType }
*
*/
public void setToneGradation(IntegerPropertyType value) {
this.toneGradation = value;
}
public boolean isSetToneGradation() {
return (this.toneGradation!= null);
}
/**
* Gets the value of the scaleFactor property.
*
* @return
* possible object is
* {@link RealPropertyType }
*
*/
public RealPropertyType getScaleFactor() {
return scaleFactor;
}
/**
* Sets the value of the scaleFactor property.
*
* @param value
* allowed object is
* {@link RealPropertyType }
*
*/
public void setScaleFactor(RealPropertyType value) {
this.scaleFactor = value;
}
public boolean isSetScaleFactor() {
return (this.scaleFactor!= null);
}
/**
* Gets the value of the offset property.
*
* @return
* possible object is
* {@link RealPropertyType }
*
*/
public RealPropertyType getOffset() {
return offset;
}
/**
* Sets the value of the offset property.
*
* @param value
* allowed object is
* {@link RealPropertyType }
*
*/
public void setOffset(RealPropertyType value) {
this.offset = value;
}
public boolean isSetOffset() {
return (this.offset!= 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);
{
RealPropertyType theMaxValue;
theMaxValue = this.getMaxValue();
strategy.appendField(locator, this, "maxValue", buffer, theMaxValue, this.isSetMaxValue());
}
{
RealPropertyType theMinValue;
theMinValue = this.getMinValue();
strategy.appendField(locator, this, "minValue", buffer, theMinValue, this.isSetMinValue());
}
{
UomLengthPropertyType theUnits;
theUnits = this.getUnits();
strategy.appendField(locator, this, "units", buffer, theUnits, this.isSetUnits());
}
{
RealPropertyType thePeakResponse;
thePeakResponse = this.getPeakResponse();
strategy.appendField(locator, this, "peakResponse", buffer, thePeakResponse, this.isSetPeakResponse());
}
{
IntegerPropertyType theBitsPerValue;
theBitsPerValue = this.getBitsPerValue();
strategy.appendField(locator, this, "bitsPerValue", buffer, theBitsPerValue, this.isSetBitsPerValue());
}
{
IntegerPropertyType theToneGradation;
theToneGradation = this.getToneGradation();
strategy.appendField(locator, this, "toneGradation", buffer, theToneGradation, this.isSetToneGradation());
}
{
RealPropertyType theScaleFactor;
theScaleFactor = this.getScaleFactor();
strategy.appendField(locator, this, "scaleFactor", buffer, theScaleFactor, this.isSetScaleFactor());
}
{
RealPropertyType theOffset;
theOffset = this.getOffset();
strategy.appendField(locator, this, "offset", buffer, theOffset, this.isSetOffset());
}
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 MDBandType that = ((MDBandType) object);
{
RealPropertyType lhsMaxValue;
lhsMaxValue = this.getMaxValue();
RealPropertyType rhsMaxValue;
rhsMaxValue = that.getMaxValue();
if (!strategy.equals(LocatorUtils.property(thisLocator, "maxValue", lhsMaxValue), LocatorUtils.property(thatLocator, "maxValue", rhsMaxValue), lhsMaxValue, rhsMaxValue, this.isSetMaxValue(), that.isSetMaxValue())) {
return false;
}
}
{
RealPropertyType lhsMinValue;
lhsMinValue = this.getMinValue();
RealPropertyType rhsMinValue;
rhsMinValue = that.getMinValue();
if (!strategy.equals(LocatorUtils.property(thisLocator, "minValue", lhsMinValue), LocatorUtils.property(thatLocator, "minValue", rhsMinValue), lhsMinValue, rhsMinValue, this.isSetMinValue(), that.isSetMinValue())) {
return false;
}
}
{
UomLengthPropertyType lhsUnits;
lhsUnits = this.getUnits();
UomLengthPropertyType rhsUnits;
rhsUnits = that.getUnits();
if (!strategy.equals(LocatorUtils.property(thisLocator, "units", lhsUnits), LocatorUtils.property(thatLocator, "units", rhsUnits), lhsUnits, rhsUnits, this.isSetUnits(), that.isSetUnits())) {
return false;
}
}
{
RealPropertyType lhsPeakResponse;
lhsPeakResponse = this.getPeakResponse();
RealPropertyType rhsPeakResponse;
rhsPeakResponse = that.getPeakResponse();
if (!strategy.equals(LocatorUtils.property(thisLocator, "peakResponse", lhsPeakResponse), LocatorUtils.property(thatLocator, "peakResponse", rhsPeakResponse), lhsPeakResponse, rhsPeakResponse, this.isSetPeakResponse(), that.isSetPeakResponse())) {
return false;
}
}
{
IntegerPropertyType lhsBitsPerValue;
lhsBitsPerValue = this.getBitsPerValue();
IntegerPropertyType rhsBitsPerValue;
rhsBitsPerValue = that.getBitsPerValue();
if (!strategy.equals(LocatorUtils.property(thisLocator, "bitsPerValue", lhsBitsPerValue), LocatorUtils.property(thatLocator, "bitsPerValue", rhsBitsPerValue), lhsBitsPerValue, rhsBitsPerValue, this.isSetBitsPerValue(), that.isSetBitsPerValue())) {
return false;
}
}
{
IntegerPropertyType lhsToneGradation;
lhsToneGradation = this.getToneGradation();
IntegerPropertyType rhsToneGradation;
rhsToneGradation = that.getToneGradation();
if (!strategy.equals(LocatorUtils.property(thisLocator, "toneGradation", lhsToneGradation), LocatorUtils.property(thatLocator, "toneGradation", rhsToneGradation), lhsToneGradation, rhsToneGradation, this.isSetToneGradation(), that.isSetToneGradation())) {
return false;
}
}
{
RealPropertyType lhsScaleFactor;
lhsScaleFactor = this.getScaleFactor();
RealPropertyType rhsScaleFactor;
rhsScaleFactor = that.getScaleFactor();
if (!strategy.equals(LocatorUtils.property(thisLocator, "scaleFactor", lhsScaleFactor), LocatorUtils.property(thatLocator, "scaleFactor", rhsScaleFactor), lhsScaleFactor, rhsScaleFactor, this.isSetScaleFactor(), that.isSetScaleFactor())) {
return false;
}
}
{
RealPropertyType lhsOffset;
lhsOffset = this.getOffset();
RealPropertyType rhsOffset;
rhsOffset = that.getOffset();
if (!strategy.equals(LocatorUtils.property(thisLocator, "offset", lhsOffset), LocatorUtils.property(thatLocator, "offset", rhsOffset), lhsOffset, rhsOffset, this.isSetOffset(), that.isSetOffset())) {
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);
{
RealPropertyType theMaxValue;
theMaxValue = this.getMaxValue();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "maxValue", theMaxValue), currentHashCode, theMaxValue, this.isSetMaxValue());
}
{
RealPropertyType theMinValue;
theMinValue = this.getMinValue();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "minValue", theMinValue), currentHashCode, theMinValue, this.isSetMinValue());
}
{
UomLengthPropertyType theUnits;
theUnits = this.getUnits();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "units", theUnits), currentHashCode, theUnits, this.isSetUnits());
}
{
RealPropertyType thePeakResponse;
thePeakResponse = this.getPeakResponse();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "peakResponse", thePeakResponse), currentHashCode, thePeakResponse, this.isSetPeakResponse());
}
{
IntegerPropertyType theBitsPerValue;
theBitsPerValue = this.getBitsPerValue();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "bitsPerValue", theBitsPerValue), currentHashCode, theBitsPerValue, this.isSetBitsPerValue());
}
{
IntegerPropertyType theToneGradation;
theToneGradation = this.getToneGradation();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "toneGradation", theToneGradation), currentHashCode, theToneGradation, this.isSetToneGradation());
}
{
RealPropertyType theScaleFactor;
theScaleFactor = this.getScaleFactor();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "scaleFactor", theScaleFactor), currentHashCode, theScaleFactor, this.isSetScaleFactor());
}
{
RealPropertyType theOffset;
theOffset = this.getOffset();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "offset", theOffset), currentHashCode, theOffset, this.isSetOffset());
}
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 MDBandType) {
final MDBandType copy = ((MDBandType) draftCopy);
{
Boolean maxValueShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMaxValue());
if (maxValueShouldBeCopiedAndSet == Boolean.TRUE) {
RealPropertyType sourceMaxValue;
sourceMaxValue = this.getMaxValue();
RealPropertyType copyMaxValue = ((RealPropertyType) strategy.copy(LocatorUtils.property(locator, "maxValue", sourceMaxValue), sourceMaxValue, this.isSetMaxValue()));
copy.setMaxValue(copyMaxValue);
} else {
if (maxValueShouldBeCopiedAndSet == Boolean.FALSE) {
copy.maxValue = null;
}
}
}
{
Boolean minValueShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMinValue());
if (minValueShouldBeCopiedAndSet == Boolean.TRUE) {
RealPropertyType sourceMinValue;
sourceMinValue = this.getMinValue();
RealPropertyType copyMinValue = ((RealPropertyType) strategy.copy(LocatorUtils.property(locator, "minValue", sourceMinValue), sourceMinValue, this.isSetMinValue()));
copy.setMinValue(copyMinValue);
} else {
if (minValueShouldBeCopiedAndSet == Boolean.FALSE) {
copy.minValue = null;
}
}
}
{
Boolean unitsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetUnits());
if (unitsShouldBeCopiedAndSet == Boolean.TRUE) {
UomLengthPropertyType sourceUnits;
sourceUnits = this.getUnits();
UomLengthPropertyType copyUnits = ((UomLengthPropertyType) strategy.copy(LocatorUtils.property(locator, "units", sourceUnits), sourceUnits, this.isSetUnits()));
copy.setUnits(copyUnits);
} else {
if (unitsShouldBeCopiedAndSet == Boolean.FALSE) {
copy.units = null;
}
}
}
{
Boolean peakResponseShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPeakResponse());
if (peakResponseShouldBeCopiedAndSet == Boolean.TRUE) {
RealPropertyType sourcePeakResponse;
sourcePeakResponse = this.getPeakResponse();
RealPropertyType copyPeakResponse = ((RealPropertyType) strategy.copy(LocatorUtils.property(locator, "peakResponse", sourcePeakResponse), sourcePeakResponse, this.isSetPeakResponse()));
copy.setPeakResponse(copyPeakResponse);
} else {
if (peakResponseShouldBeCopiedAndSet == Boolean.FALSE) {
copy.peakResponse = null;
}
}
}
{
Boolean bitsPerValueShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetBitsPerValue());
if (bitsPerValueShouldBeCopiedAndSet == Boolean.TRUE) {
IntegerPropertyType sourceBitsPerValue;
sourceBitsPerValue = this.getBitsPerValue();
IntegerPropertyType copyBitsPerValue = ((IntegerPropertyType) strategy.copy(LocatorUtils.property(locator, "bitsPerValue", sourceBitsPerValue), sourceBitsPerValue, this.isSetBitsPerValue()));
copy.setBitsPerValue(copyBitsPerValue);
} else {
if (bitsPerValueShouldBeCopiedAndSet == Boolean.FALSE) {
copy.bitsPerValue = null;
}
}
}
{
Boolean toneGradationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetToneGradation());
if (toneGradationShouldBeCopiedAndSet == Boolean.TRUE) {
IntegerPropertyType sourceToneGradation;
sourceToneGradation = this.getToneGradation();
IntegerPropertyType copyToneGradation = ((IntegerPropertyType) strategy.copy(LocatorUtils.property(locator, "toneGradation", sourceToneGradation), sourceToneGradation, this.isSetToneGradation()));
copy.setToneGradation(copyToneGradation);
} else {
if (toneGradationShouldBeCopiedAndSet == Boolean.FALSE) {
copy.toneGradation = null;
}
}
}
{
Boolean scaleFactorShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetScaleFactor());
if (scaleFactorShouldBeCopiedAndSet == Boolean.TRUE) {
RealPropertyType sourceScaleFactor;
sourceScaleFactor = this.getScaleFactor();
RealPropertyType copyScaleFactor = ((RealPropertyType) strategy.copy(LocatorUtils.property(locator, "scaleFactor", sourceScaleFactor), sourceScaleFactor, this.isSetScaleFactor()));
copy.setScaleFactor(copyScaleFactor);
} else {
if (scaleFactorShouldBeCopiedAndSet == Boolean.FALSE) {
copy.scaleFactor = null;
}
}
}
{
Boolean offsetShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetOffset());
if (offsetShouldBeCopiedAndSet == Boolean.TRUE) {
RealPropertyType sourceOffset;
sourceOffset = this.getOffset();
RealPropertyType copyOffset = ((RealPropertyType) strategy.copy(LocatorUtils.property(locator, "offset", sourceOffset), sourceOffset, this.isSetOffset()));
copy.setOffset(copyOffset);
} else {
if (offsetShouldBeCopiedAndSet == Boolean.FALSE) {
copy.offset = null;
}
}
}
}
return draftCopy;
}
public Object createNewInstance() {
return new MDBandType();
}
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 MDBandType) {
final MDBandType target = this;
final MDBandType leftObject = ((MDBandType) left);
final MDBandType rightObject = ((MDBandType) right);
{
Boolean maxValueShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMaxValue(), rightObject.isSetMaxValue());
if (maxValueShouldBeMergedAndSet == Boolean.TRUE) {
RealPropertyType lhsMaxValue;
lhsMaxValue = leftObject.getMaxValue();
RealPropertyType rhsMaxValue;
rhsMaxValue = rightObject.getMaxValue();
RealPropertyType mergedMaxValue = ((RealPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "maxValue", lhsMaxValue), LocatorUtils.property(rightLocator, "maxValue", rhsMaxValue), lhsMaxValue, rhsMaxValue, leftObject.isSetMaxValue(), rightObject.isSetMaxValue()));
target.setMaxValue(mergedMaxValue);
} else {
if (maxValueShouldBeMergedAndSet == Boolean.FALSE) {
target.maxValue = null;
}
}
}
{
Boolean minValueShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMinValue(), rightObject.isSetMinValue());
if (minValueShouldBeMergedAndSet == Boolean.TRUE) {
RealPropertyType lhsMinValue;
lhsMinValue = leftObject.getMinValue();
RealPropertyType rhsMinValue;
rhsMinValue = rightObject.getMinValue();
RealPropertyType mergedMinValue = ((RealPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "minValue", lhsMinValue), LocatorUtils.property(rightLocator, "minValue", rhsMinValue), lhsMinValue, rhsMinValue, leftObject.isSetMinValue(), rightObject.isSetMinValue()));
target.setMinValue(mergedMinValue);
} else {
if (minValueShouldBeMergedAndSet == Boolean.FALSE) {
target.minValue = null;
}
}
}
{
Boolean unitsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetUnits(), rightObject.isSetUnits());
if (unitsShouldBeMergedAndSet == Boolean.TRUE) {
UomLengthPropertyType lhsUnits;
lhsUnits = leftObject.getUnits();
UomLengthPropertyType rhsUnits;
rhsUnits = rightObject.getUnits();
UomLengthPropertyType mergedUnits = ((UomLengthPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "units", lhsUnits), LocatorUtils.property(rightLocator, "units", rhsUnits), lhsUnits, rhsUnits, leftObject.isSetUnits(), rightObject.isSetUnits()));
target.setUnits(mergedUnits);
} else {
if (unitsShouldBeMergedAndSet == Boolean.FALSE) {
target.units = null;
}
}
}
{
Boolean peakResponseShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPeakResponse(), rightObject.isSetPeakResponse());
if (peakResponseShouldBeMergedAndSet == Boolean.TRUE) {
RealPropertyType lhsPeakResponse;
lhsPeakResponse = leftObject.getPeakResponse();
RealPropertyType rhsPeakResponse;
rhsPeakResponse = rightObject.getPeakResponse();
RealPropertyType mergedPeakResponse = ((RealPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "peakResponse", lhsPeakResponse), LocatorUtils.property(rightLocator, "peakResponse", rhsPeakResponse), lhsPeakResponse, rhsPeakResponse, leftObject.isSetPeakResponse(), rightObject.isSetPeakResponse()));
target.setPeakResponse(mergedPeakResponse);
} else {
if (peakResponseShouldBeMergedAndSet == Boolean.FALSE) {
target.peakResponse = null;
}
}
}
{
Boolean bitsPerValueShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetBitsPerValue(), rightObject.isSetBitsPerValue());
if (bitsPerValueShouldBeMergedAndSet == Boolean.TRUE) {
IntegerPropertyType lhsBitsPerValue;
lhsBitsPerValue = leftObject.getBitsPerValue();
IntegerPropertyType rhsBitsPerValue;
rhsBitsPerValue = rightObject.getBitsPerValue();
IntegerPropertyType mergedBitsPerValue = ((IntegerPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "bitsPerValue", lhsBitsPerValue), LocatorUtils.property(rightLocator, "bitsPerValue", rhsBitsPerValue), lhsBitsPerValue, rhsBitsPerValue, leftObject.isSetBitsPerValue(), rightObject.isSetBitsPerValue()));
target.setBitsPerValue(mergedBitsPerValue);
} else {
if (bitsPerValueShouldBeMergedAndSet == Boolean.FALSE) {
target.bitsPerValue = null;
}
}
}
{
Boolean toneGradationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetToneGradation(), rightObject.isSetToneGradation());
if (toneGradationShouldBeMergedAndSet == Boolean.TRUE) {
IntegerPropertyType lhsToneGradation;
lhsToneGradation = leftObject.getToneGradation();
IntegerPropertyType rhsToneGradation;
rhsToneGradation = rightObject.getToneGradation();
IntegerPropertyType mergedToneGradation = ((IntegerPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "toneGradation", lhsToneGradation), LocatorUtils.property(rightLocator, "toneGradation", rhsToneGradation), lhsToneGradation, rhsToneGradation, leftObject.isSetToneGradation(), rightObject.isSetToneGradation()));
target.setToneGradation(mergedToneGradation);
} else {
if (toneGradationShouldBeMergedAndSet == Boolean.FALSE) {
target.toneGradation = null;
}
}
}
{
Boolean scaleFactorShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetScaleFactor(), rightObject.isSetScaleFactor());
if (scaleFactorShouldBeMergedAndSet == Boolean.TRUE) {
RealPropertyType lhsScaleFactor;
lhsScaleFactor = leftObject.getScaleFactor();
RealPropertyType rhsScaleFactor;
rhsScaleFactor = rightObject.getScaleFactor();
RealPropertyType mergedScaleFactor = ((RealPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "scaleFactor", lhsScaleFactor), LocatorUtils.property(rightLocator, "scaleFactor", rhsScaleFactor), lhsScaleFactor, rhsScaleFactor, leftObject.isSetScaleFactor(), rightObject.isSetScaleFactor()));
target.setScaleFactor(mergedScaleFactor);
} else {
if (scaleFactorShouldBeMergedAndSet == Boolean.FALSE) {
target.scaleFactor = null;
}
}
}
{
Boolean offsetShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetOffset(), rightObject.isSetOffset());
if (offsetShouldBeMergedAndSet == Boolean.TRUE) {
RealPropertyType lhsOffset;
lhsOffset = leftObject.getOffset();
RealPropertyType rhsOffset;
rhsOffset = rightObject.getOffset();
RealPropertyType mergedOffset = ((RealPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "offset", lhsOffset), LocatorUtils.property(rightLocator, "offset", rhsOffset), lhsOffset, rhsOffset, leftObject.isSetOffset(), rightObject.isSetOffset()));
target.setOffset(mergedOffset);
} else {
if (offsetShouldBeMergedAndSet == Boolean.FALSE) {
target.offset = null;
}
}
}
}
}
}