Package org.apache.openjpa.lib.graph
Class BreadthFirstWalk
java.lang.Object
org.apache.openjpa.lib.graph.BreadthFirstWalk
Performs a breadth-first walk of a given Graph,
notifying visitors as it sees each node. See the BFS algorithm
in the book 'Introduction to Algorithms' by Cormen, Leiserson, and
Rivest.
Each GraphVisitor will be notified when a node
is colored black (nodeVisited), edge seen (edgeVisited),
and a node is seen for the first time, i.e. colored gray (nodeSeen).
- Since:
- 1.0.0
- Author:
- Steve Kim
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddGraphVisitor(GraphVisitor visitor) add aGraphVisitorto be notified during breadth first search.protected voidedgeVisited(Edge edge) An edge is seen.protected voidPush the given node onto the queue to be processed.voidremoveGraphVisitor(GraphVisitor visitor) remove a givenGraphVisitorfrom the listener set.protected voidVisit the node.voidwalk()Begins the breadth first traversal.
-
Constructor Details
-
BreadthFirstWalk
-
-
Method Details
-
walk
public void walk()Begins the breadth first traversal. -
enqueue
Push the given node onto the queue to be processed. Notify visitors. -
visit
Visit the node. Mark the node black and notify visitors. -
edgeVisited
An edge is seen. Notify visitors. -
addGraphVisitor
add aGraphVisitorto be notified during breadth first search. -
removeGraphVisitor
remove a givenGraphVisitorfrom the listener set.
-