package models.objectOrientedTransfer;
import models.deltaAlgebra.ObjectNode;
import models.deltaAlgebra.ReferenceEdge;
import java.util.ArrayList;
import java.util.List;
public class ObjectHierarchy {
private ObjectNode top;
private List<ReferenceEdge> edges;
private boolean isFlat = false;
public ObjectHierarchy(ObjectNode top) {
this.top = top;
this.edges = new ArrayList<>();
this.isFlat = true;
}
public ObjectHierarchy(List<ReferenceEdge> edges) {
this.top = (ObjectNode) edges.getFirst().getSource();
this.edges = edges;
this.isFlat = false;
}
public ObjectNode getTop() {
return top;
}
public List<ReferenceEdge> getEdges() {
return edges;
}
public boolean isFlat() {
return isFlat;
}
public int getDepth() {
return edges.size();
}
public ReferenceEdge getEdge(int index) {
return edges.get(index);
}
}