T - Class that should be searched forpublic class SearchByClass<T> extends Object implements HashTreeTraverser
Usage is simple. Given a HashTree object "tree", and a SearchByClass
object:
HashTree tree = new HashTree();
// ... tree gets filled with objects
SearchByClass searcher = new SearchByClass(StringBuilder.class);
tree.traverse(searcher);
Iterator iter = searcher.getSearchResults().iterator();
while (iter.hasNext()) {
StringBuilder foundNode = (StringBuilder) iter.next();
HashTree subTreeOfFoundNode = searcher.getSubTree(foundNode);
// .... do something with node and subTree...
}
HashTree,
HashTreeTraverser| Constructor and Description |
|---|
SearchByClass(Class<T> searchClass)
Creates an instance of SearchByClass, and sets the Class to be searched
for.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addNode(Object node,
HashTree subTree)
The tree traverses itself depth-first, calling addNode for each object it
encounters as it goes.
|
Collection<T> |
getSearchResults()
After traversing the HashTree, call this method to get a collection of
the nodes that were found.
|
HashTree |
getSubTree(Object root)
Given a specific found node, this method will return the sub tree of that
node.
|
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.
|
public Collection<T> getSearchResults()
public HashTree getSubTree(Object root)
root - the node for which the sub tree is requestedpublic void addNode(Object node, HashTree subTree)
addNode in interface HashTreeTraversernode - the node currently encounteredsubTree - the HashTree under the node encounteredpublic void subtractNode()
subtractNode in interface HashTreeTraverserpublic void processPath()
HashTreeTraverser.subtractNode() call. This is a callback method, and should
not be called except by a HashTree during traversal.processPath in interface HashTreeTraverserCopyright © 1998-2019 Apache Software Foundation. All Rights Reserved.