Class CloningDependencyVisitor
- java.lang.Object
-
- org.eclipse.aether.util.graph.visitor.CloningDependencyVisitor
-
- All Implemented Interfaces:
DependencyVisitor
public class CloningDependencyVisitor extends java.lang.Object implements DependencyVisitor
A dependency visitor that constructs a clone of the visited dependency graph. If such a visitor is passed into aFilteringDependencyVisitor, a sub graph can be created. This class creates shallow clones of the visited dependency nodes (viaDefaultDependencyNode(DependencyNode)) but clients can create a subclass and overrideclone(DependencyNode)to alter the clone process.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<DependencyNode,DependencyNode>clonesprivate Stack<DependencyNode>parentsprivate DependencyNoderoot
-
Constructor Summary
Constructors Constructor Description CloningDependencyVisitor()Creates a new visitor that clones the visited nodes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DependencyNodeclone(DependencyNode node)Creates a clone of the specified node.DependencyNodegetRootNode()Gets the root node of the cloned dependency graph.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
-
clones
private final java.util.Map<DependencyNode,DependencyNode> clones
-
parents
private final Stack<DependencyNode> parents
-
root
private DependencyNode root
-
-
Method Detail
-
getRootNode
public final DependencyNode getRootNode()
Gets the root node of the cloned dependency graph.- Returns:
- The root node of the cloned dependency graph or
null.
-
clone
protected DependencyNode clone(DependencyNode node)
Creates a clone of the specified node.- Parameters:
node- The node to clone, must not benull.- Returns:
- The cloned node, never
null.
-
visitEnter
public final 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 final 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.
-
-