package tfm.arcs; import tfm.arcs.data.ArcData; import tfm.nodes.Node; public abstract class Arc extends edg.graphlib.Arrow { @SuppressWarnings("unchecked") public Arc(Node from, Node to) { super((edg.graphlib.Vertex) from, (edg.graphlib.Vertex) to); } public abstract boolean isControlFlowArrow(); public abstract boolean isControlDependencyArrow(); public abstract boolean isDataDependencyArrow(); @Override public String toString() { return String.format("Arc{data: %s, %s -> %s}", getData(), getFrom(), getTo() ); } public String toGraphvizRepresentation() { Node from = (Node) getFrom(); Node to = (Node) getTo(); return String.format("\"%s: %s\" -> \"%s: %s\"", from.getId(), from.getData(), to.getId(), to.getData()); } }