|
|||||||||
| Home >> All >> org >> apache >> jorphan >> [ collections overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.jorphan.collections
Interface HashTreeTraverser

- All Known Implementing Classes:
- HashTree.ConvertToString, HashTree.TreeSearcher, SearchByClass
- public interface HashTreeTraverser
By implementing this interface, a class can easily traverse a HashTree object, and be notified via callbacks of certain events. There are three such events:
- When a node is first encountered, the traverser's
addNode(Object,HashTree)55 method is called. It is handed the object at that node, and the entire sub-tree of the node. - When a leaf node is encountered, the traverser is notified that a full
path has been finished via the
processPath()55 method. It is the traversing class's responsibility to know the path that has just finished (this can be done by keeping a simple stack of all added nodes). - When a node is retraced, the traverser's
subtractNode()55 is called. Again, it is the traverser's responsibility to know which node has been retraced.
processPath() 55 call is sent. As
the traversal backs up, nodes are subtracted.
The traversal is a depth-first traversal.
- Version:
- $Revision: 1.4 $
| Method Summary | |
void |
addNode(java.lang.Object node,
HashTree subTree)
The tree traverses itself depth-first, calling addNode for each object it encounters as it goes. |
void |
processPath()
Process path is called when a leaf is reached. |
void |
subtractNode()
Indicates traversal has moved up a step, and the visitor should remove the top node from its stack structure. |
| Method Detail |
addNode
public void addNode(java.lang.Object node, HashTree subTree)
- The tree traverses itself depth-first, calling addNode for each object it
encounters as it goes. This is a callback method, and should not be
called except by a HashTree during traversal.
subtractNode
public void subtractNode()
- Indicates traversal has moved up a step, and the visitor should remove
the top node from its stack structure. This is a callback method, and
should not be called except by a HashTree during traversal.
processPath
public void processPath()
- Process path is called when a leaf is reached. If a visitor wishes to
generate Lists of path elements to each leaf, it should keep a Stack data
structure of nodes passed to it with addNode, and removing top items for
every
subtractNode()55 call. This is a callback method, and should not be called except by a HashTree during traversal.
|
|||||||||
| Home >> All >> org >> apache >> jorphan >> [ collections overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC