Class TreeDependencyVisitor
- java.lang.Object
-
- org.eclipse.aether.util.graph.visitor.TreeDependencyVisitor
-
- All Implemented Interfaces:
DependencyVisitor
public final class TreeDependencyVisitor extends java.lang.Object implements DependencyVisitor
A dependency visitor that delegates to another visitor if a node hasn't been visited before. In other words, this visitor provides a tree-view of a dependency graph which generally can have multiple paths to the same node or even cycles.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<DependencyNode,java.lang.Object>visitedNodesprivate DependencyVisitorvisitorprivate Stack<java.lang.Boolean>visits
-
Constructor Summary
Constructors Constructor Description TreeDependencyVisitor(DependencyVisitor visitor)Creates a new visitor that delegates to the specified visitor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanvisitEnter(DependencyNode node)Notifies the visitor of a node visit before its children have been processed.booleanvisitLeave(DependencyNode node)Notifies the visitor of a node visit after its children have been processed.
-
-
-
Field Detail
-
visitedNodes
private final java.util.Map<DependencyNode,java.lang.Object> visitedNodes
-
visitor
private final DependencyVisitor visitor
-
visits
private final Stack<java.lang.Boolean> visits
-
-
Constructor Detail
-
TreeDependencyVisitor
public TreeDependencyVisitor(DependencyVisitor visitor)
Creates a new visitor that delegates to the specified visitor.- Parameters:
visitor- The visitor to delegate to, must not benull.
-
-
Method Detail
-
visitEnter
public boolean visitEnter(DependencyNode node)
Description copied from interface:DependencyVisitorNotifies the visitor of a node visit before its children have been processed.- Specified by:
visitEnterin interfaceDependencyVisitor- Parameters:
node- The dependency node being visited, must not benull.- Returns:
trueto visit child nodes of the specified node as well,falseto skip children.
-
visitLeave
public boolean visitLeave(DependencyNode node)
Description copied from interface:DependencyVisitorNotifies the visitor of a node visit after its children have been processed. Note that this method is always invoked regardless whether any children have actually been visited.- Specified by:
visitLeavein interfaceDependencyVisitor- Parameters:
node- The dependency node being visited, must not benull.- Returns:
trueto visit siblings nodes of the specified node as well,falseto skip siblings.
-
-