public class NodeTreeWalker extends Object
A class providing different algorithms for traversing a hierarchy of configuration nodes.
 The methods provided by this class accept a ConfigurationNodeVisitor
 and visit all nodes in a hierarchy starting from a given root node. Because a
 NodeHandler has to be passed in, too, arbitrary types of nodes can be
 processed. The walk() methods differ in the order in which nodes are
 visited. Details can be found in the method documentation.
 
 An instance of this class does not define any state; therefore, it can be
 shared and used concurrently. The INSTANCE member field can be used
 for accessing a default instance. If desired (e.g. for testing purposes), new
 instances can be created.
 
| Modifier and Type | Field and Description | 
|---|---|
static NodeTreeWalker | 
INSTANCE
The default instance of this class. 
 | 
| Constructor and Description | 
|---|
NodeTreeWalker()  | 
| Modifier and Type | Method and Description | 
|---|---|
<T> void | 
walkBFS(T root,
       ConfigurationNodeVisitor<T> visitor,
       NodeHandler<T> handler)
Visits all nodes in the hierarchy represented by the given root node in
 breadth first search manner. 
 | 
<T> void | 
walkDFS(T root,
       ConfigurationNodeVisitor<T> visitor,
       NodeHandler<T> handler)
Visits all nodes in the hierarchy represented by the given root node in
 depth first search manner. 
 | 
public static final NodeTreeWalker INSTANCE
public <T> void walkDFS(T root,
                        ConfigurationNodeVisitor<T> visitor,
                        NodeHandler<T> handler)
ConfigurationNodeVisitor.visitBeforeChildren(Object, NodeHandler)
 is called on a node, then recursively all of its children are processed,
 and eventually
 ConfigurationNodeVisitor.visitAfterChildren(Object, NodeHandler)
 gets invoked.T - the type of the nodes involvedroot - the root node of the hierarchy to be processed (may be
        null, then this call has no effect)visitor - the ConfigurationNodeVisitor (must not be
        null)handler - the NodeHandler (must not be null)IllegalArgumentException - if a required parameter is nullpublic <T> void walkBFS(T root,
                        ConfigurationNodeVisitor<T> visitor,
                        NodeHandler<T> handler)
visitBeforeChildren() method gets
 called!.T - the type of the nodes involvedroot - the root node of the hierarchy to be processed (may be
        null, then this call has no effect)visitor - the ConfigurationNodeVisitor (must not be
        null)handler - the NodeHandler (must not be null)IllegalArgumentException - if a required parameter is nullCopyright © 2001–2020 The Apache Software Foundation. All rights reserved.