// // 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 net.opengis.gml._3_3.ce; import java.io.Serializable; import java.math.BigInteger; 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.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; import mil.ces.metadata.mdr.ns.gsip.tspi._2_0.core.CircleType; import net.opengis.gml.v_3_2_1.AbstractCurveType; import net.opengis.gml.v_3_2_1.AngleType; import net.opengis.gml.v_3_2_1.CurveInterpolationType; import net.opengis.gml.v_3_2_1.DirectPositionListType; import net.opengis.gml.v_3_2_1.DirectPositionType; import net.opengis.gml.v_3_2_1.LengthType; import net.opengis.gml.v_3_2_1.PointPropertyType; 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 SimpleArcByCenterPointType complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="SimpleArcByCenterPointType"> * <complexContent> * <extension base="{http://www.opengis.net/gml/3.2}AbstractCurveType"> * <sequence> * <choice> * <choice> * <element ref="{http://www.opengis.net/gml/3.2}pos"/> * <element ref="{http://www.opengis.net/gml/3.2}pointProperty"/> * </choice> * <element ref="{http://www.opengis.net/gml/3.2}posList"/> * </choice> * <element name="radius" type="{http://www.opengis.net/gml/3.2}LengthType"/> * <element name="startAngle" type="{http://www.opengis.net/gml/3.2}AngleType"/> * <element name="endAngle" type="{http://www.opengis.net/gml/3.2}AngleType"/> * </sequence> * <attribute name="interpolation" type="{http://www.opengis.net/gml/3.2}CurveInterpolationType" fixed="circularArcCenterPointWithRadius" /> * <attribute name="numArc" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" fixed="1" /> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "SimpleArcByCenterPointType", propOrder = { "pos", "pointProperty", "posList", "radius", "startAngle", "endAngle" }) @XmlSeeAlso({ CircleType.class }) public class SimpleArcByCenterPointType extends AbstractCurveType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2 { private final static long serialVersionUID = 1L; @XmlElement(namespace = "http://www.opengis.net/gml/3.2") @Valid protected DirectPositionType pos; @XmlElement(namespace = "http://www.opengis.net/gml/3.2") @Valid protected PointPropertyType pointProperty; @XmlElement(namespace = "http://www.opengis.net/gml/3.2") @Valid protected DirectPositionListType posList; @XmlElement(required = true) @NotNull(message = "SimpleArcByCenterPointType.radius {javax.validation.constraints.NotNull.message}") @Valid protected LengthType radius; @XmlElement(required = true) @NotNull(message = "SimpleArcByCenterPointType.startAngle {javax.validation.constraints.NotNull.message}") @Valid protected AngleType startAngle; @XmlElement(required = true) @NotNull(message = "SimpleArcByCenterPointType.endAngle {javax.validation.constraints.NotNull.message}") @Valid protected AngleType endAngle; @XmlAttribute(name = "interpolation") protected CurveInterpolationType interpolation; @XmlAttribute(name = "numArc", required = true) @NotNull(message = "SimpleArcByCenterPointType.numArc {javax.validation.constraints.NotNull.message}") protected BigInteger numArc; /** * Gets the value of the pos property. * * @return * possible object is * {@link DirectPositionType } * */ public DirectPositionType getPos() { return pos; } /** * Sets the value of the pos property. * * @param value * allowed object is * {@link DirectPositionType } * */ public void setPos(DirectPositionType value) { this.pos = value; } public boolean isSetPos() { return (this.pos!= null); } /** * Gets the value of the pointProperty property. * * @return * possible object is * {@link PointPropertyType } * */ public PointPropertyType getPointProperty() { return pointProperty; } /** * Sets the value of the pointProperty property. * * @param value * allowed object is * {@link PointPropertyType } * */ public void setPointProperty(PointPropertyType value) { this.pointProperty = value; } public boolean isSetPointProperty() { return (this.pointProperty!= null); } /** * Gets the value of the posList property. * * @return * possible object is * {@link DirectPositionListType } * */ public DirectPositionListType getPosList() { return posList; } /** * Sets the value of the posList property. * * @param value * allowed object is * {@link DirectPositionListType } * */ public void setPosList(DirectPositionListType value) { this.posList = value; } public boolean isSetPosList() { return (this.posList!= null); } /** * Gets the value of the radius property. * * @return * possible object is * {@link LengthType } * */ public LengthType getRadius() { return radius; } /** * Sets the value of the radius property. * * @param value * allowed object is * {@link LengthType } * */ public void setRadius(LengthType value) { this.radius = value; } public boolean isSetRadius() { return (this.radius!= null); } /** * Gets the value of the startAngle property. * * @return * possible object is * {@link AngleType } * */ public AngleType getStartAngle() { return startAngle; } /** * Sets the value of the startAngle property. * * @param value * allowed object is * {@link AngleType } * */ public void setStartAngle(AngleType value) { this.startAngle = value; } public boolean isSetStartAngle() { return (this.startAngle!= null); } /** * Gets the value of the endAngle property. * * @return * possible object is * {@link AngleType } * */ public AngleType getEndAngle() { return endAngle; } /** * Sets the value of the endAngle property. * * @param value * allowed object is * {@link AngleType } * */ public void setEndAngle(AngleType value) { this.endAngle = value; } public boolean isSetEndAngle() { return (this.endAngle!= null); } /** * Gets the value of the interpolation property. * * @return * possible object is * {@link CurveInterpolationType } * */ public CurveInterpolationType getInterpolation() { return interpolation; } /** * Sets the value of the interpolation property. * * @param value * allowed object is * {@link CurveInterpolationType } * */ public void setInterpolation(CurveInterpolationType value) { this.interpolation = value; } public boolean isSetInterpolation() { return (this.interpolation!= null); } /** * Gets the value of the numArc property. * * @return * possible object is * {@link BigInteger } * */ public BigInteger getNumArc() { if (numArc == null) { return new BigInteger("1"); } else { return numArc; } } /** * Sets the value of the numArc property. * * @param value * allowed object is * {@link BigInteger } * */ public void setNumArc(BigInteger value) { this.numArc = value; } public boolean isSetNumArc() { return (this.numArc!= 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); { DirectPositionType thePos; thePos = this.getPos(); strategy.appendField(locator, this, "pos", buffer, thePos, this.isSetPos()); } { PointPropertyType thePointProperty; thePointProperty = this.getPointProperty(); strategy.appendField(locator, this, "pointProperty", buffer, thePointProperty, this.isSetPointProperty()); } { DirectPositionListType thePosList; thePosList = this.getPosList(); strategy.appendField(locator, this, "posList", buffer, thePosList, this.isSetPosList()); } { LengthType theRadius; theRadius = this.getRadius(); strategy.appendField(locator, this, "radius", buffer, theRadius, this.isSetRadius()); } { AngleType theStartAngle; theStartAngle = this.getStartAngle(); strategy.appendField(locator, this, "startAngle", buffer, theStartAngle, this.isSetStartAngle()); } { AngleType theEndAngle; theEndAngle = this.getEndAngle(); strategy.appendField(locator, this, "endAngle", buffer, theEndAngle, this.isSetEndAngle()); } { CurveInterpolationType theInterpolation; theInterpolation = this.getInterpolation(); strategy.appendField(locator, this, "interpolation", buffer, theInterpolation, this.isSetInterpolation()); } { BigInteger theNumArc; theNumArc = this.getNumArc(); strategy.appendField(locator, this, "numArc", buffer, theNumArc, this.isSetNumArc()); } 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 SimpleArcByCenterPointType that = ((SimpleArcByCenterPointType) object); { DirectPositionType lhsPos; lhsPos = this.getPos(); DirectPositionType rhsPos; rhsPos = that.getPos(); if (!strategy.equals(LocatorUtils.property(thisLocator, "pos", lhsPos), LocatorUtils.property(thatLocator, "pos", rhsPos), lhsPos, rhsPos, this.isSetPos(), that.isSetPos())) { return false; } } { PointPropertyType lhsPointProperty; lhsPointProperty = this.getPointProperty(); PointPropertyType rhsPointProperty; rhsPointProperty = that.getPointProperty(); if (!strategy.equals(LocatorUtils.property(thisLocator, "pointProperty", lhsPointProperty), LocatorUtils.property(thatLocator, "pointProperty", rhsPointProperty), lhsPointProperty, rhsPointProperty, this.isSetPointProperty(), that.isSetPointProperty())) { return false; } } { DirectPositionListType lhsPosList; lhsPosList = this.getPosList(); DirectPositionListType rhsPosList; rhsPosList = that.getPosList(); if (!strategy.equals(LocatorUtils.property(thisLocator, "posList", lhsPosList), LocatorUtils.property(thatLocator, "posList", rhsPosList), lhsPosList, rhsPosList, this.isSetPosList(), that.isSetPosList())) { return false; } } { LengthType lhsRadius; lhsRadius = this.getRadius(); LengthType rhsRadius; rhsRadius = that.getRadius(); if (!strategy.equals(LocatorUtils.property(thisLocator, "radius", lhsRadius), LocatorUtils.property(thatLocator, "radius", rhsRadius), lhsRadius, rhsRadius, this.isSetRadius(), that.isSetRadius())) { return false; } } { AngleType lhsStartAngle; lhsStartAngle = this.getStartAngle(); AngleType rhsStartAngle; rhsStartAngle = that.getStartAngle(); if (!strategy.equals(LocatorUtils.property(thisLocator, "startAngle", lhsStartAngle), LocatorUtils.property(thatLocator, "startAngle", rhsStartAngle), lhsStartAngle, rhsStartAngle, this.isSetStartAngle(), that.isSetStartAngle())) { return false; } } { AngleType lhsEndAngle; lhsEndAngle = this.getEndAngle(); AngleType rhsEndAngle; rhsEndAngle = that.getEndAngle(); if (!strategy.equals(LocatorUtils.property(thisLocator, "endAngle", lhsEndAngle), LocatorUtils.property(thatLocator, "endAngle", rhsEndAngle), lhsEndAngle, rhsEndAngle, this.isSetEndAngle(), that.isSetEndAngle())) { return false; } } { CurveInterpolationType lhsInterpolation; lhsInterpolation = this.getInterpolation(); CurveInterpolationType rhsInterpolation; rhsInterpolation = that.getInterpolation(); if (!strategy.equals(LocatorUtils.property(thisLocator, "interpolation", lhsInterpolation), LocatorUtils.property(thatLocator, "interpolation", rhsInterpolation), lhsInterpolation, rhsInterpolation, this.isSetInterpolation(), that.isSetInterpolation())) { return false; } } { BigInteger lhsNumArc; lhsNumArc = this.getNumArc(); BigInteger rhsNumArc; rhsNumArc = that.getNumArc(); if (!strategy.equals(LocatorUtils.property(thisLocator, "numArc", lhsNumArc), LocatorUtils.property(thatLocator, "numArc", rhsNumArc), lhsNumArc, rhsNumArc, this.isSetNumArc(), that.isSetNumArc())) { 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); { DirectPositionType thePos; thePos = this.getPos(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "pos", thePos), currentHashCode, thePos, this.isSetPos()); } { PointPropertyType thePointProperty; thePointProperty = this.getPointProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "pointProperty", thePointProperty), currentHashCode, thePointProperty, this.isSetPointProperty()); } { DirectPositionListType thePosList; thePosList = this.getPosList(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "posList", thePosList), currentHashCode, thePosList, this.isSetPosList()); } { LengthType theRadius; theRadius = this.getRadius(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "radius", theRadius), currentHashCode, theRadius, this.isSetRadius()); } { AngleType theStartAngle; theStartAngle = this.getStartAngle(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "startAngle", theStartAngle), currentHashCode, theStartAngle, this.isSetStartAngle()); } { AngleType theEndAngle; theEndAngle = this.getEndAngle(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "endAngle", theEndAngle), currentHashCode, theEndAngle, this.isSetEndAngle()); } { CurveInterpolationType theInterpolation; theInterpolation = this.getInterpolation(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "interpolation", theInterpolation), currentHashCode, theInterpolation, this.isSetInterpolation()); } { BigInteger theNumArc; theNumArc = this.getNumArc(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "numArc", theNumArc), currentHashCode, theNumArc, this.isSetNumArc()); } 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 SimpleArcByCenterPointType) { final SimpleArcByCenterPointType copy = ((SimpleArcByCenterPointType) draftCopy); { Boolean posShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPos()); if (posShouldBeCopiedAndSet == Boolean.TRUE) { DirectPositionType sourcePos; sourcePos = this.getPos(); DirectPositionType copyPos = ((DirectPositionType) strategy.copy(LocatorUtils.property(locator, "pos", sourcePos), sourcePos, this.isSetPos())); copy.setPos(copyPos); } else { if (posShouldBeCopiedAndSet == Boolean.FALSE) { copy.pos = null; } } } { Boolean pointPropertyShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPointProperty()); if (pointPropertyShouldBeCopiedAndSet == Boolean.TRUE) { PointPropertyType sourcePointProperty; sourcePointProperty = this.getPointProperty(); PointPropertyType copyPointProperty = ((PointPropertyType) strategy.copy(LocatorUtils.property(locator, "pointProperty", sourcePointProperty), sourcePointProperty, this.isSetPointProperty())); copy.setPointProperty(copyPointProperty); } else { if (pointPropertyShouldBeCopiedAndSet == Boolean.FALSE) { copy.pointProperty = null; } } } { Boolean posListShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPosList()); if (posListShouldBeCopiedAndSet == Boolean.TRUE) { DirectPositionListType sourcePosList; sourcePosList = this.getPosList(); DirectPositionListType copyPosList = ((DirectPositionListType) strategy.copy(LocatorUtils.property(locator, "posList", sourcePosList), sourcePosList, this.isSetPosList())); copy.setPosList(copyPosList); } else { if (posListShouldBeCopiedAndSet == Boolean.FALSE) { copy.posList = null; } } } { Boolean radiusShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetRadius()); if (radiusShouldBeCopiedAndSet == Boolean.TRUE) { LengthType sourceRadius; sourceRadius = this.getRadius(); LengthType copyRadius = ((LengthType) strategy.copy(LocatorUtils.property(locator, "radius", sourceRadius), sourceRadius, this.isSetRadius())); copy.setRadius(copyRadius); } else { if (radiusShouldBeCopiedAndSet == Boolean.FALSE) { copy.radius = null; } } } { Boolean startAngleShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetStartAngle()); if (startAngleShouldBeCopiedAndSet == Boolean.TRUE) { AngleType sourceStartAngle; sourceStartAngle = this.getStartAngle(); AngleType copyStartAngle = ((AngleType) strategy.copy(LocatorUtils.property(locator, "startAngle", sourceStartAngle), sourceStartAngle, this.isSetStartAngle())); copy.setStartAngle(copyStartAngle); } else { if (startAngleShouldBeCopiedAndSet == Boolean.FALSE) { copy.startAngle = null; } } } { Boolean endAngleShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetEndAngle()); if (endAngleShouldBeCopiedAndSet == Boolean.TRUE) { AngleType sourceEndAngle; sourceEndAngle = this.getEndAngle(); AngleType copyEndAngle = ((AngleType) strategy.copy(LocatorUtils.property(locator, "endAngle", sourceEndAngle), sourceEndAngle, this.isSetEndAngle())); copy.setEndAngle(copyEndAngle); } else { if (endAngleShouldBeCopiedAndSet == Boolean.FALSE) { copy.endAngle = null; } } } { Boolean interpolationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetInterpolation()); if (interpolationShouldBeCopiedAndSet == Boolean.TRUE) { CurveInterpolationType sourceInterpolation; sourceInterpolation = this.getInterpolation(); CurveInterpolationType copyInterpolation = ((CurveInterpolationType) strategy.copy(LocatorUtils.property(locator, "interpolation", sourceInterpolation), sourceInterpolation, this.isSetInterpolation())); copy.setInterpolation(copyInterpolation); } else { if (interpolationShouldBeCopiedAndSet == Boolean.FALSE) { copy.interpolation = null; } } } { Boolean numArcShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetNumArc()); if (numArcShouldBeCopiedAndSet == Boolean.TRUE) { BigInteger sourceNumArc; sourceNumArc = this.getNumArc(); BigInteger copyNumArc = ((BigInteger) strategy.copy(LocatorUtils.property(locator, "numArc", sourceNumArc), sourceNumArc, this.isSetNumArc())); copy.setNumArc(copyNumArc); } else { if (numArcShouldBeCopiedAndSet == Boolean.FALSE) { copy.numArc = null; } } } } return draftCopy; } public Object createNewInstance() { return new SimpleArcByCenterPointType(); } 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 SimpleArcByCenterPointType) { final SimpleArcByCenterPointType target = this; final SimpleArcByCenterPointType leftObject = ((SimpleArcByCenterPointType) left); final SimpleArcByCenterPointType rightObject = ((SimpleArcByCenterPointType) right); { Boolean posShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPos(), rightObject.isSetPos()); if (posShouldBeMergedAndSet == Boolean.TRUE) { DirectPositionType lhsPos; lhsPos = leftObject.getPos(); DirectPositionType rhsPos; rhsPos = rightObject.getPos(); DirectPositionType mergedPos = ((DirectPositionType) strategy.merge(LocatorUtils.property(leftLocator, "pos", lhsPos), LocatorUtils.property(rightLocator, "pos", rhsPos), lhsPos, rhsPos, leftObject.isSetPos(), rightObject.isSetPos())); target.setPos(mergedPos); } else { if (posShouldBeMergedAndSet == Boolean.FALSE) { target.pos = null; } } } { Boolean pointPropertyShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPointProperty(), rightObject.isSetPointProperty()); if (pointPropertyShouldBeMergedAndSet == Boolean.TRUE) { PointPropertyType lhsPointProperty; lhsPointProperty = leftObject.getPointProperty(); PointPropertyType rhsPointProperty; rhsPointProperty = rightObject.getPointProperty(); PointPropertyType mergedPointProperty = ((PointPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "pointProperty", lhsPointProperty), LocatorUtils.property(rightLocator, "pointProperty", rhsPointProperty), lhsPointProperty, rhsPointProperty, leftObject.isSetPointProperty(), rightObject.isSetPointProperty())); target.setPointProperty(mergedPointProperty); } else { if (pointPropertyShouldBeMergedAndSet == Boolean.FALSE) { target.pointProperty = null; } } } { Boolean posListShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPosList(), rightObject.isSetPosList()); if (posListShouldBeMergedAndSet == Boolean.TRUE) { DirectPositionListType lhsPosList; lhsPosList = leftObject.getPosList(); DirectPositionListType rhsPosList; rhsPosList = rightObject.getPosList(); DirectPositionListType mergedPosList = ((DirectPositionListType) strategy.merge(LocatorUtils.property(leftLocator, "posList", lhsPosList), LocatorUtils.property(rightLocator, "posList", rhsPosList), lhsPosList, rhsPosList, leftObject.isSetPosList(), rightObject.isSetPosList())); target.setPosList(mergedPosList); } else { if (posListShouldBeMergedAndSet == Boolean.FALSE) { target.posList = null; } } } { Boolean radiusShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetRadius(), rightObject.isSetRadius()); if (radiusShouldBeMergedAndSet == Boolean.TRUE) { LengthType lhsRadius; lhsRadius = leftObject.getRadius(); LengthType rhsRadius; rhsRadius = rightObject.getRadius(); LengthType mergedRadius = ((LengthType) strategy.merge(LocatorUtils.property(leftLocator, "radius", lhsRadius), LocatorUtils.property(rightLocator, "radius", rhsRadius), lhsRadius, rhsRadius, leftObject.isSetRadius(), rightObject.isSetRadius())); target.setRadius(mergedRadius); } else { if (radiusShouldBeMergedAndSet == Boolean.FALSE) { target.radius = null; } } } { Boolean startAngleShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetStartAngle(), rightObject.isSetStartAngle()); if (startAngleShouldBeMergedAndSet == Boolean.TRUE) { AngleType lhsStartAngle; lhsStartAngle = leftObject.getStartAngle(); AngleType rhsStartAngle; rhsStartAngle = rightObject.getStartAngle(); AngleType mergedStartAngle = ((AngleType) strategy.merge(LocatorUtils.property(leftLocator, "startAngle", lhsStartAngle), LocatorUtils.property(rightLocator, "startAngle", rhsStartAngle), lhsStartAngle, rhsStartAngle, leftObject.isSetStartAngle(), rightObject.isSetStartAngle())); target.setStartAngle(mergedStartAngle); } else { if (startAngleShouldBeMergedAndSet == Boolean.FALSE) { target.startAngle = null; } } } { Boolean endAngleShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetEndAngle(), rightObject.isSetEndAngle()); if (endAngleShouldBeMergedAndSet == Boolean.TRUE) { AngleType lhsEndAngle; lhsEndAngle = leftObject.getEndAngle(); AngleType rhsEndAngle; rhsEndAngle = rightObject.getEndAngle(); AngleType mergedEndAngle = ((AngleType) strategy.merge(LocatorUtils.property(leftLocator, "endAngle", lhsEndAngle), LocatorUtils.property(rightLocator, "endAngle", rhsEndAngle), lhsEndAngle, rhsEndAngle, leftObject.isSetEndAngle(), rightObject.isSetEndAngle())); target.setEndAngle(mergedEndAngle); } else { if (endAngleShouldBeMergedAndSet == Boolean.FALSE) { target.endAngle = null; } } } { Boolean interpolationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetInterpolation(), rightObject.isSetInterpolation()); if (interpolationShouldBeMergedAndSet == Boolean.TRUE) { CurveInterpolationType lhsInterpolation; lhsInterpolation = leftObject.getInterpolation(); CurveInterpolationType rhsInterpolation; rhsInterpolation = rightObject.getInterpolation(); CurveInterpolationType mergedInterpolation = ((CurveInterpolationType) strategy.merge(LocatorUtils.property(leftLocator, "interpolation", lhsInterpolation), LocatorUtils.property(rightLocator, "interpolation", rhsInterpolation), lhsInterpolation, rhsInterpolation, leftObject.isSetInterpolation(), rightObject.isSetInterpolation())); target.setInterpolation(mergedInterpolation); } else { if (interpolationShouldBeMergedAndSet == Boolean.FALSE) { target.interpolation = null; } } } { Boolean numArcShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetNumArc(), rightObject.isSetNumArc()); if (numArcShouldBeMergedAndSet == Boolean.TRUE) { BigInteger lhsNumArc; lhsNumArc = leftObject.getNumArc(); BigInteger rhsNumArc; rhsNumArc = rightObject.getNumArc(); BigInteger mergedNumArc = ((BigInteger) strategy.merge(LocatorUtils.property(leftLocator, "numArc", lhsNumArc), LocatorUtils.property(rightLocator, "numArc", rhsNumArc), lhsNumArc, rhsNumArc, leftObject.isSetNumArc(), rightObject.isSetNumArc())); target.setNumArc(mergedNumArc); } else { if (numArcShouldBeMergedAndSet == Boolean.FALSE) { target.numArc = null; } } } } } }