ix.util
Class DAGTransitiveClosure
java.lang.Object
ix.util.DAGTransitiveClosure
- All Implemented Interfaces:
- DirectedGraph, TransitiveClosure
public class DAGTransitiveClosure
- extends java.lang.Object
- implements TransitiveClosure
The transitive closure of a directed acyclic graph (DAG).
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
baseGraph
DirectedGraph baseGraph
successorMap
java.util.Map successorMap
START_MARK
protected java.lang.Object START_MARK
DAGTransitiveClosure
public DAGTransitiveClosure(DirectedGraph g)
getAllNodes
public java.util.Collection getAllNodes()
- Specified by:
getAllNodes
in interface DirectedGraph
getRoots
public java.util.Collection getRoots()
- Specified by:
getRoots
in interface DirectedGraph
getSuccessors
public java.util.Collection getSuccessors(java.lang.Object node)
- Specified by:
getSuccessors
in interface DirectedGraph
isBefore
public boolean isBefore(java.lang.Object v1,
java.lang.Object v2)
- Specified by:
isBefore
in interface DirectedGraph
computeTransitiveClosure
protected void computeTransitiveClosure()
walk
protected void walk(java.util.Collection items)
walkVertex
protected void walkVertex(java.lang.Object at)