Package org.geotools.graph.traverse
Interface GraphTraversal
-
- All Known Implementing Classes:
BasicGraphTraversal
,StagedGraphTraversal
public interface GraphTraversal
Iterates 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 int
CONTINUE
Signals the traversal to continue *static int
KILL_BRANCH
Signals the traversal to kill the current branch *static int
STOP
Signals the traversal to stop *static int
SUSPEND
Signals the traversal to suspend at some intermediate point *
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Graph
getGraph()
Returns the graph being traversed.GraphIterator
getIterator()
Returns the iterator that specifies the order in which to visit graph components.GraphWalker
getWalker()
Returns the walker (visitor) traversing the graph of the graph.void
init()
Initialises the traversal.boolean
isVisited(Graphable g)
void
setGraph(Graph graph)
Sets the graph being traversed.void
setIterator(GraphIterator iterator)
Sets the iterator that specifies the order in which visit graph components.void
setVisited(Graphable g, boolean visited)
void
setWalker(GraphWalker walker)
Sets the walker (visitor) traversing the graph.void
traverse()
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)
-
-