Class CloningDependencyVisitor
java.lang.Object
org.eclipse.aether.util.graph.visitor.CloningDependencyVisitor
- All Implemented Interfaces:
DependencyVisitor
A dependency visitor that constructs a clone of the visited dependency graph. If such a visitor is passed into a
FilteringDependencyVisitor
, a sub graph can be created. This class creates shallow clones of the visited
dependency nodes (via DefaultDependencyNode(DependencyNode)
) but clients can create a
subclass and override clone(DependencyNode)
to alter the clone process.-
Constructor Summary
ConstructorDescriptionCreates a new visitor that clones the visited nodes. -
Method Summary
Modifier and TypeMethodDescriptionprotected DependencyNode
clone
(DependencyNode node) Creates a clone of the specified node.final DependencyNode
Gets the root node of the cloned dependency graph.final boolean
visitEnter
(DependencyNode node) Notifies the visitor of a node visit before its children have been processed.final boolean
visitLeave
(DependencyNode node) Notifies the visitor of a node visit after its children have been processed.
-
Constructor Details
-
CloningDependencyVisitor
public CloningDependencyVisitor()Creates a new visitor that clones the visited nodes.
-
-
Method Details
-
getRootNode
Gets the root node of the cloned dependency graph.- Returns:
- The root node of the cloned dependency graph or
null
.
-
clone
Creates a clone of the specified node.- Parameters:
node
- The node to clone, must not benull
.- Returns:
- The cloned node, never
null
.
-
visitEnter
Description copied from interface:DependencyVisitor
Notifies the visitor of a node visit before its children have been processed.- Specified by:
visitEnter
in interfaceDependencyVisitor
- Parameters:
node
- The dependency node being visited, must not benull
.- Returns:
true
to visit child nodes of the specified node as well,false
to skip children.
-
visitLeave
Description copied from interface:DependencyVisitor
Notifies 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:
visitLeave
in interfaceDependencyVisitor
- Parameters:
node
- The dependency node being visited, must not benull
.- Returns:
true
to visit siblings nodes of the specified node as well,false
to skip siblings.
-