package models.objectOrientedTransfer;
import java.util.ArrayList;
import java.util.List;
public class PrimitivePullPushDelta extends PrimitiveDelta {
private ReferenceEdge pullEdge = null;
private ReferenceEdge pushEdge = null;
public PrimitivePullPushDelta(ReferenceEdge pullEdge, ReferenceEdge pushEdge, String dataName) {
super(dataName);
this.pullEdge = pullEdge;
this.pushEdge = pushEdge;
}
@Override
public ObjectNode getCoordinator() {
return (ObjectNode) pushEdge.getSource();
}
@Override
public List<ReferenceEdge> getPullEdges() {
List<ReferenceEdge> pullEdges = new ArrayList<>();
pullEdges.add(pullEdge);
return pullEdges;
}
@Override
public List<ReferenceEdge> getPushEdges() {
List<ReferenceEdge> pushEdges = new ArrayList<>();
pushEdges.add(pushEdge);
return pushEdges;
}
@Override
public ObjectNode getDataType() {
return (ObjectNode) pullEdge.getDestination();
}
public PrimitivePullPushDelta copy() {
return new PrimitivePullPushDelta(pullEdge, pushEdge, dataName);
}
}