Package org.geotools.graph.traverse
Interface GraphTraversal
-
- All Known Implementing Classes:
BasicGraphTraversal,StagedGraphTraversal
public interface GraphTraversalIterates a GraphWalker over the components of a Graph. The order in which components are iterated over is determined by the GraphIterator class. The GraphTraversal is the mediator between the GraphWalker and the GraphIterator.
Upon each visitation, the GraphWalker communicates to the GraphTraversal through a series of return codes, each specifying a different action to perform at that point of the travesal. The following summarizes the meaning of the codes.
Code Action Taken CONTINUE The traversal continues as normal. SUSPEND Suspends the traversal at some intermediate stage. This code should be returned if the traversal is intended to be resumed. KILL_BRANCH Kills the current branch of the traversal. Depending on the iteration algorithm, returning this code may end the traversal. STOP Stops the traversal.
GraphTraversals are started with a call to traverse(). If the traversal is suspended at some intermediate point, an additional call to traverse() will resume the traversal.
- Author:
- Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net
- See Also:
GraphWalker,GraphIterator,Graph
-
-
Field Summary
Fields Modifier and Type Field Description static intCONTINUESignals the traversal to continue *static intKILL_BRANCHSignals the traversal to kill the current branch *static intSTOPSignals the traversal to stop *static intSUSPENDSignals the traversal to suspend at some intermediate point *
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description GraphgetGraph()Returns the graph being traversed.GraphIteratorgetIterator()Returns the iterator that specifies the order in which to visit graph components.GraphWalkergetWalker()Returns the walker (visitor) traversing the graph of the graph.voidinit()Initialises the traversal.booleanisVisited(Graphable g)voidsetGraph(Graph graph)Sets the graph being traversed.voidsetIterator(GraphIterator iterator)Sets the iterator that specifies the order in which visit graph components.voidsetVisited(Graphable g, boolean visited)voidsetWalker(GraphWalker walker)Sets the walker (visitor) traversing the graph.voidtraverse()Starts or resumes a traversal over the components of a graph.
-
-
-
Field Detail
-
CONTINUE
static final int CONTINUE
Signals the traversal to continue *- See Also:
- Constant Field Values
-
SUSPEND
static final int SUSPEND
Signals the traversal to suspend at some intermediate point *- See Also:
- Constant Field Values
-
KILL_BRANCH
static final int KILL_BRANCH
Signals the traversal to kill the current branch *- See Also:
- Constant Field Values
-
STOP
static final int STOP
Signals the traversal to stop *- See Also:
- Constant Field Values
-
-
Method Detail
-
setGraph
void setGraph(Graph graph)
Sets the graph being traversed.- Parameters:
graph- The graph whose components are being traversed.
-
getGraph
Graph getGraph()
Returns the graph being traversed.- Returns:
- The graph whose components are being traversed.
- See Also:
Graph
-
setIterator
void setIterator(GraphIterator iterator)
Sets the iterator that specifies the order in which visit graph components.- Parameters:
iterator- The iterator over the graph components.
-
getIterator
GraphIterator getIterator()
Returns the iterator that specifies the order in which to visit graph components.- Returns:
- The iterator over the graph components.
- See Also:
GraphIterator
-
setWalker
void setWalker(GraphWalker walker)
Sets the walker (visitor) traversing the graph.- Parameters:
walker- The walker being iterated over the components of the graph.
-
getWalker
GraphWalker getWalker()
Returns the walker (visitor) traversing the graph of the graph.- Returns:
- The walker being iterated over the components.
-
init
void init()
Initialises the traversal.
-
traverse
void traverse()
Starts or resumes a traversal over the components of a graph.
-
isVisited
boolean isVisited(Graphable g)
-
setVisited
void setVisited(Graphable g, boolean visited)
-
-