public Object copyTo(ObjectLocator locator, Object target, CopyStrategy strategy) { final Object draftCopy = ((target == null) ? createNewInstance() : target); super.copyTo(locator, draftCopy, strategy); if (draftCopy instanceof EdgeType) { final EdgeType copy = ((EdgeType) draftCopy); if (this.isSetDirectedNode()) { List<DirectedNodePropertyType> sourceDirectedNode; sourceDirectedNode = this.getDirectedNode(); @SuppressWarnings("unchecked") List<DirectedNodePropertyType> copyDirectedNode = ((List<DirectedNodePropertyType>) strategy.copy( LocatorUtils.property(locator, "directedNode", sourceDirectedNode), sourceDirectedNode)); copy.unsetDirectedNode(); List<DirectedNodePropertyType> uniqueDirectedNodel = copy.getDirectedNode(); uniqueDirectedNodel.addAll(copyDirectedNode); } else { copy.unsetDirectedNode(); } if (this.isSetDirectedFace()) { List<DirectedFacePropertyType> sourceDirectedFace; sourceDirectedFace = this.getDirectedFace(); @SuppressWarnings("unchecked") List<DirectedFacePropertyType> copyDirectedFace = ((List<DirectedFacePropertyType>) strategy.copy( LocatorUtils.property(locator, "directedFace", sourceDirectedFace), sourceDirectedFace)); copy.unsetDirectedFace(); List<DirectedFacePropertyType> uniqueDirectedFacel = copy.getDirectedFace(); uniqueDirectedFacel.addAll(copyDirectedFace); } else { copy.unsetDirectedFace(); } if (this.isSetCurveProperty()) { CurvePropertyType sourceCurveProperty; sourceCurveProperty = this.getCurveProperty(); CurvePropertyType copyCurveProperty = ((CurvePropertyType) strategy.copy( LocatorUtils.property(locator, "curveProperty", sourceCurveProperty), sourceCurveProperty)); copy.setCurveProperty(copyCurveProperty); } else { copy.curveProperty = null; } if (this.isSetAggregationType()) { AggregationType sourceAggregationType; sourceAggregationType = this.getAggregationType(); AggregationType copyAggregationType = ((AggregationType) strategy.copy( LocatorUtils.property(locator, "aggregationType", sourceAggregationType), sourceAggregationType)); copy.setAggregationType(copyAggregationType); } else { copy.aggregationType = null; } } return draftCopy; }
public void mergeFrom( ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy strategy) { super.mergeFrom(leftLocator, rightLocator, left, right, strategy); if (right instanceof EdgeType) { final EdgeType target = this; final EdgeType leftObject = ((EdgeType) left); final EdgeType rightObject = ((EdgeType) right); { List<DirectedNodePropertyType> lhsDirectedNode; lhsDirectedNode = leftObject.getDirectedNode(); List<DirectedNodePropertyType> rhsDirectedNode; rhsDirectedNode = rightObject.getDirectedNode(); target.unsetDirectedNode(); List<DirectedNodePropertyType> uniqueDirectedNodel = target.getDirectedNode(); uniqueDirectedNodel.addAll( ((List<DirectedNodePropertyType>) strategy.merge( LocatorUtils.property(leftLocator, "directedNode", lhsDirectedNode), LocatorUtils.property(rightLocator, "directedNode", rhsDirectedNode), lhsDirectedNode, rhsDirectedNode))); } { List<DirectedFacePropertyType> lhsDirectedFace; lhsDirectedFace = leftObject.getDirectedFace(); List<DirectedFacePropertyType> rhsDirectedFace; rhsDirectedFace = rightObject.getDirectedFace(); target.unsetDirectedFace(); List<DirectedFacePropertyType> uniqueDirectedFacel = target.getDirectedFace(); uniqueDirectedFacel.addAll( ((List<DirectedFacePropertyType>) strategy.merge( LocatorUtils.property(leftLocator, "directedFace", lhsDirectedFace), LocatorUtils.property(rightLocator, "directedFace", rhsDirectedFace), lhsDirectedFace, rhsDirectedFace))); } { CurvePropertyType lhsCurveProperty; lhsCurveProperty = leftObject.getCurveProperty(); CurvePropertyType rhsCurveProperty; rhsCurveProperty = rightObject.getCurveProperty(); target.setCurveProperty( ((CurvePropertyType) strategy.merge( LocatorUtils.property(leftLocator, "curveProperty", lhsCurveProperty), LocatorUtils.property(rightLocator, "curveProperty", rhsCurveProperty), lhsCurveProperty, rhsCurveProperty))); } { AggregationType lhsAggregationType; lhsAggregationType = leftObject.getAggregationType(); AggregationType rhsAggregationType; rhsAggregationType = rightObject.getAggregationType(); target.setAggregationType( ((AggregationType) strategy.merge( LocatorUtils.property(leftLocator, "aggregationType", lhsAggregationType), LocatorUtils.property(rightLocator, "aggregationType", rhsAggregationType), lhsAggregationType, rhsAggregationType))); } } }
public boolean equals( ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) { if (!(object instanceof EdgeType)) { return false; } if (this == object) { return true; } if (!super.equals(thisLocator, thatLocator, object, strategy)) { return false; } final EdgeType that = ((EdgeType) object); { List<DirectedNodePropertyType> lhsDirectedNode; lhsDirectedNode = this.getDirectedNode(); List<DirectedNodePropertyType> rhsDirectedNode; rhsDirectedNode = that.getDirectedNode(); if (!strategy.equals( LocatorUtils.property(thisLocator, "directedNode", lhsDirectedNode), LocatorUtils.property(thatLocator, "directedNode", rhsDirectedNode), lhsDirectedNode, rhsDirectedNode)) { return false; } } { List<DirectedFacePropertyType> lhsDirectedFace; lhsDirectedFace = this.getDirectedFace(); List<DirectedFacePropertyType> rhsDirectedFace; rhsDirectedFace = that.getDirectedFace(); if (!strategy.equals( LocatorUtils.property(thisLocator, "directedFace", lhsDirectedFace), LocatorUtils.property(thatLocator, "directedFace", rhsDirectedFace), lhsDirectedFace, rhsDirectedFace)) { return false; } } { CurvePropertyType lhsCurveProperty; lhsCurveProperty = this.getCurveProperty(); CurvePropertyType rhsCurveProperty; rhsCurveProperty = that.getCurveProperty(); if (!strategy.equals( LocatorUtils.property(thisLocator, "curveProperty", lhsCurveProperty), LocatorUtils.property(thatLocator, "curveProperty", rhsCurveProperty), lhsCurveProperty, rhsCurveProperty)) { return false; } } { AggregationType lhsAggregationType; lhsAggregationType = this.getAggregationType(); AggregationType rhsAggregationType; rhsAggregationType = that.getAggregationType(); if (!strategy.equals( LocatorUtils.property(thisLocator, "aggregationType", lhsAggregationType), LocatorUtils.property(thatLocator, "aggregationType", rhsAggregationType), lhsAggregationType, rhsAggregationType)) { return false; } } return true; }