org.apache.jorphan.collections
Class SearchByClass
- HashTreeTraverser
public class SearchByClass
Useful for finding all nodes in the tree that represent objects of a
particular type. For instance, if your tree contains all strings, and a few
StringBuffer objects, you can use the SearchByClass traverser to find all the
StringBuffer objects in your tree.
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(StringBuffer.class);
tree.traverse(searcher);
Iterator iter = searcher.getSearchResults().iterator();
while (iter.hasNext()) {
StringBuffer foundNode = (StringBuffer) iter.next();
HashTree subTreeOfFoundNode = searcher.getSubTree(foundNode);
// .... do something with node and subTree...
}
SearchByClass() - Creates an instance of SearchByClass.
|
SearchByClass(Class searchClass) - Creates an instance of SearchByClass, and sets the Class to be searched
for.
|
SearchByClass
public SearchByClass()
Creates an instance of SearchByClass. However, without setting the Class
to search for, it will be a useless object.
SearchByClass
public SearchByClass(Class searchClass)
Creates an instance of SearchByClass, and sets the Class to be searched
for.
getSearchResults
public Collection getSearchResults()
After traversing the HashTree, call this method to get a collection of
the nodes that were found.
- Collection All found nodes of the requested type
getSubTree
public HashTree getSubTree(Object root)
Given a specific found node, this method will return the sub tree of that
node.
root
- the node for which the sub tree is requested
Copyright © 1998-2010 Apache Software Foundation. All Rights Reserved.