Newer
Older
DesignCraft / src / main / java / models / objectOrientedTransfer / AtomicDelta.java
package models.objectOrientedTransfer;

import java.util.List;

public class AtomicDelta {
	private ObjectNode coordinator;
	private List<ReferenceEdge> pullEdges;
	private List<ReferenceEdge> pushEdges;
	private StatefulObjectNode dataType;
	private String dataName;

	public AtomicDelta(ObjectNode coordinator, List<ReferenceEdge> pullEdges, List<ReferenceEdge> pushEdges,
			StatefulObjectNode dataType, String dataName) {
		this.coordinator = coordinator;
		this.pullEdges = pullEdges;
		this.pushEdges = pushEdges;
		this.dataType = dataType;
		this.dataName = dataName;
	}

	public ObjectNode getCoordinator() {
		return coordinator;
	}

	public List<ReferenceEdge> getPullEdges() {
		return pullEdges;
	}

	public List<ReferenceEdge> getPushEdges() {
		return pushEdges;
	}

	public StatefulObjectNode getDataType() {
		return dataType;
	}

	public String getDataName() {
		return dataName;
	}
	
	public boolean isPullTransfer() {
		return (pushEdges == null || pushEdges.isEmpty());
	}
	
	public AtomicDelta copy() {
		return new AtomicDelta(coordinator, pullEdges, pushEdges, dataType, dataName);
	}
}