public interface GraphIterator
* indicates source of traversal| Stage | Visited Node | Branch Set | Next Set | Comment |
|---|---|---|---|---|
| 0 | {A} | Initial stage, iteration starts explicitly from A | ||
| 1 | A | {B,F} | {F,B} | Related nodes added to Next Set in LIFO order. |
| 2 | F | {A,B} | {B,B} | A already visited so not added to Next Set B not yet visited so added to queue. |
| 3 | B | {A,C,D,E,F} | {B,E,D,C} | A,F already visited so not added to Next Set |
| 4 | B | {E,D,C} | B already visited so ignore and move to next stage | |
| 5 | E | {B} | {D,C} | |
| 6 | D | {B,C} | {C,C} | |
| 7 | C | {B,D} | {C} | |
| 8 | C | { } | C already visited so ignore and move to next stage | |
| 9 | { } | Next set empty, iteration complete. |
| Stage | Visited Node | Branch Set | Next Set | Comment |
|---|---|---|---|---|
| 0 | {A} | Initial stage, iteration starts explicitly from A | ||
| 1 | A | {B,F} | {F,B} | Related nodes added to Next Set in LIFO order. |
| 2 | F | {A,B} | {B,B} | A already visited so not added to Next Set B not yet visited so added to queue. |
| 3 | B | {A,C,D,E,F} | {B} | Branch Killed. No nodes added to Next Set |
| 4 | B | { } | B already visited so ignore and move to next stage | |
| 9 | { } | Next set empty, iteration complete. |
GraphWalker,
GraphTraversal| Modifier and Type | Method and Description |
|---|---|
void |
cont(Graphable current,
GraphTraversal traversal)
Signals to the iterator that iteration should continue from the current component in the
traversal.
|
GraphTraversal |
getTraversal()
Returns the traversal for the iterator.
|
void |
init(Graph graph,
GraphTraversal traversal)
Signals to the itereator that iteration is about to begin.
|
void |
killBranch(Graphable current,
GraphTraversal traversal)
Signals the iterator to kill the branch at the current component.
|
Graphable |
next(GraphTraversal traversal)
Returns the next graph component in the iteration.
|
void |
setTraversal(GraphTraversal traversal)
Sets the traversal for the iterator.
|
void setTraversal(GraphTraversal traversal)
traversal - The traversal requesting components from the iterator.GraphTraversal getTraversal()
void init(Graph graph, GraphTraversal traversal)
graph - The graph being whose components are being iterated over.Graphable next(GraphTraversal traversal)
void cont(Graphable current, GraphTraversal traversal)
current - The current component of the traversal.void killBranch(Graphable current, GraphTraversal traversal)
current - The current component of the traversal.Copyright © 1996–2019 Geotools. All rights reserved.