public void mergeFrom( ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy strategy) { super.mergeFrom(leftLocator, rightLocator, left, right, strategy); if (right instanceof AbstractCoordinateOperationType) { final AbstractCoordinateOperationType target = this; final AbstractCoordinateOperationType leftObject = ((AbstractCoordinateOperationType) left); final AbstractCoordinateOperationType rightObject = ((AbstractCoordinateOperationType) right); { DomainOfValidityElement lhsDomainOfValidity; lhsDomainOfValidity = leftObject.getDomainOfValidity(); DomainOfValidityElement rhsDomainOfValidity; rhsDomainOfValidity = rightObject.getDomainOfValidity(); target.setDomainOfValidity( ((DomainOfValidityElement) strategy.merge( LocatorUtils.property(leftLocator, "domainOfValidity", lhsDomainOfValidity), LocatorUtils.property(rightLocator, "domainOfValidity", rhsDomainOfValidity), lhsDomainOfValidity, rhsDomainOfValidity))); } { List<String> lhsScope; lhsScope = leftObject.getScope(); List<String> rhsScope; rhsScope = rightObject.getScope(); target.unsetScope(); List<String> uniqueScopel = target.getScope(); uniqueScopel.addAll( ((List<String>) strategy.merge( LocatorUtils.property(leftLocator, "scope", lhsScope), LocatorUtils.property(rightLocator, "scope", rhsScope), lhsScope, rhsScope))); } { String lhsOperationVersion; lhsOperationVersion = leftObject.getOperationVersion(); String rhsOperationVersion; rhsOperationVersion = rightObject.getOperationVersion(); target.setOperationVersion( ((String) strategy.merge( LocatorUtils.property(leftLocator, "operationVersion", lhsOperationVersion), LocatorUtils.property(rightLocator, "operationVersion", rhsOperationVersion), lhsOperationVersion, rhsOperationVersion))); } { List<CoordinateOperationAccuracyElement> lhsCoordinateOperationAccuracy; lhsCoordinateOperationAccuracy = leftObject.getCoordinateOperationAccuracy(); List<CoordinateOperationAccuracyElement> rhsCoordinateOperationAccuracy; rhsCoordinateOperationAccuracy = rightObject.getCoordinateOperationAccuracy(); target.unsetCoordinateOperationAccuracy(); List<CoordinateOperationAccuracyElement> uniqueCoordinateOperationAccuracyl = target.getCoordinateOperationAccuracy(); uniqueCoordinateOperationAccuracyl.addAll( ((List<CoordinateOperationAccuracyElement>) strategy.merge( LocatorUtils.property( leftLocator, "coordinateOperationAccuracy", lhsCoordinateOperationAccuracy), LocatorUtils.property( rightLocator, "coordinateOperationAccuracy", rhsCoordinateOperationAccuracy), lhsCoordinateOperationAccuracy, rhsCoordinateOperationAccuracy))); } { CRSPropertyType lhsSourceCRS; lhsSourceCRS = leftObject.getSourceCRS(); CRSPropertyType rhsSourceCRS; rhsSourceCRS = rightObject.getSourceCRS(); target.setSourceCRS( ((CRSPropertyType) strategy.merge( LocatorUtils.property(leftLocator, "sourceCRS", lhsSourceCRS), LocatorUtils.property(rightLocator, "sourceCRS", rhsSourceCRS), lhsSourceCRS, rhsSourceCRS))); } { CRSPropertyType lhsTargetCRS; lhsTargetCRS = leftObject.getTargetCRS(); CRSPropertyType rhsTargetCRS; rhsTargetCRS = rightObject.getTargetCRS(); target.setTargetCRS( ((CRSPropertyType) strategy.merge( LocatorUtils.property(leftLocator, "targetCRS", lhsTargetCRS), LocatorUtils.property(rightLocator, "targetCRS", rhsTargetCRS), lhsTargetCRS, rhsTargetCRS))); } } }
public AbstractCoordinateOperationType withTargetCRS(CRSPropertyType value) { setTargetCRS(value); return this; }
public Object copyTo(ObjectLocator locator, Object target, CopyStrategy 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 AbstractCoordinateOperationType) { final AbstractCoordinateOperationType copy = ((AbstractCoordinateOperationType) target); if (this.isSetDomainOfValidity()) { DomainOfValidityElement sourceDomainOfValidity; sourceDomainOfValidity = this.getDomainOfValidity(); DomainOfValidityElement copyDomainOfValidity = ((DomainOfValidityElement) strategy.copy( LocatorUtils.property(locator, "domainOfValidity", sourceDomainOfValidity), sourceDomainOfValidity)); copy.setDomainOfValidity(copyDomainOfValidity); } else { copy.domainOfValidity = null; } if (this.isSetScope()) { List<String> sourceScope; sourceScope = this.getScope(); @SuppressWarnings("unchecked") List<String> copyScope = ((List<String>) strategy.copy(LocatorUtils.property(locator, "scope", sourceScope), sourceScope)); copy.unsetScope(); List<String> uniqueScopel = copy.getScope(); uniqueScopel.addAll(copyScope); } else { copy.unsetScope(); } if (this.isSetOperationVersion()) { String sourceOperationVersion; sourceOperationVersion = this.getOperationVersion(); String copyOperationVersion = ((String) strategy.copy( LocatorUtils.property(locator, "operationVersion", sourceOperationVersion), sourceOperationVersion)); copy.setOperationVersion(copyOperationVersion); } else { copy.operationVersion = null; } if (this.isSetCoordinateOperationAccuracy()) { List<CoordinateOperationAccuracyElement> sourceCoordinateOperationAccuracy; sourceCoordinateOperationAccuracy = this.getCoordinateOperationAccuracy(); @SuppressWarnings("unchecked") List<CoordinateOperationAccuracyElement> copyCoordinateOperationAccuracy = ((List<CoordinateOperationAccuracyElement>) strategy.copy( LocatorUtils.property( locator, "coordinateOperationAccuracy", sourceCoordinateOperationAccuracy), sourceCoordinateOperationAccuracy)); copy.unsetCoordinateOperationAccuracy(); List<CoordinateOperationAccuracyElement> uniqueCoordinateOperationAccuracyl = copy.getCoordinateOperationAccuracy(); uniqueCoordinateOperationAccuracyl.addAll(copyCoordinateOperationAccuracy); } else { copy.unsetCoordinateOperationAccuracy(); } if (this.isSetSourceCRS()) { CRSPropertyType sourceSourceCRS; sourceSourceCRS = this.getSourceCRS(); CRSPropertyType copySourceCRS = ((CRSPropertyType) strategy.copy( LocatorUtils.property(locator, "sourceCRS", sourceSourceCRS), sourceSourceCRS)); copy.setSourceCRS(copySourceCRS); } else { copy.sourceCRS = null; } if (this.isSetTargetCRS()) { CRSPropertyType sourceTargetCRS; sourceTargetCRS = this.getTargetCRS(); CRSPropertyType copyTargetCRS = ((CRSPropertyType) strategy.copy( LocatorUtils.property(locator, "targetCRS", sourceTargetCRS), sourceTargetCRS)); copy.setTargetCRS(copyTargetCRS); } else { copy.targetCRS = null; } } return target; }