Class CloningDependencyVisitor

java.lang.Object
org.eclipse.aether.util.graph.visitor.CloningDependencyVisitor
All Implemented Interfaces:
DependencyVisitor

public class CloningDependencyVisitor extends Object implements 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 Details

  • Method Details

    • 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

      Creates a clone of the specified node.
      Parameters:
      node - The node to clone, must not be null.
      Returns:
      The cloned node, never null.
    • visitEnter

      public final boolean visitEnter(DependencyNode node)
      Description copied from interface: DependencyVisitor
      Notifies the visitor of a node visit before its children have been processed.
      Specified by:
      visitEnter in interface DependencyVisitor
      Parameters:
      node - The dependency node being visited, must not be null.
      Returns:
      true to visit child nodes of the specified node as well, false to skip children.
    • visitLeave

      public final boolean visitLeave(DependencyNode node)
      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 interface DependencyVisitor
      Parameters:
      node - The dependency node being visited, must not be null.
      Returns:
      true to visit siblings nodes of the specified node as well, false to skip siblings.