Class BuildingDependencyNodeVisitor

java.lang.Object
org.apache.maven.shared.dependency.graph.traversal.BuildingDependencyNodeVisitor
All Implemented Interfaces:
DependencyNodeVisitor

public class BuildingDependencyNodeVisitor extends Object implements DependencyNodeVisitor
A dependency node visitor that clones visited nodes into a new dependency tree. This can be used in conjunction with a dependency node filter to construct subtrees.
  • Field Details

    • visitor

      private final DependencyNodeVisitor visitor
      The dependency node visitor to apply on the resultant dependency tree, or null for none.
    • parentNodes

      private final Stack<DependencyNode> parentNodes
      The resultant tree parent nodes for the currently visited node.
    • rootNode

      private DependencyNode rootNode
      The root node of the resultant tree.
  • Constructor Details

    • BuildingDependencyNodeVisitor

      public BuildingDependencyNodeVisitor()
      Creates a dependency node visitor that clones visited nodes into a new dependency tree.
    • BuildingDependencyNodeVisitor

      public BuildingDependencyNodeVisitor(DependencyNodeVisitor visitor)
      Creates a dependency node visitor that clones visited nodes into a new dependency tree, and then applies the specified dependency node visitor on the resultant dependency tree.
      Parameters:
      visitor - the dependency node visitor to apply on the resultant dependency tree, or null for none
  • Method Details

    • visit

      public boolean visit(DependencyNode node)
      Starts the visit to the specified dependency node.
      Specified by:
      visit in interface DependencyNodeVisitor
      Parameters:
      node - the dependency node to visit
      Returns:
      true to visit the specified dependency node's children, false to skip the specified dependency node's children and proceed to its next sibling
    • endVisit

      public boolean endVisit(DependencyNode node)
      Ends the visit to to the specified dependency node.
      Specified by:
      endVisit in interface DependencyNodeVisitor
      Parameters:
      node - the dependency node to visit
      Returns:
      true to visit the specified dependency node's next sibling, false to skip the specified dependency node's next siblings and proceed to its parent
    • getDependencyNodeVisitor

      public DependencyNodeVisitor getDependencyNodeVisitor()
      Gets the dependency node visitor that this visitor applies on the resultant dependency tree.
      Returns:
      the dependency node visitor, or null for none
    • getDependencyTree

      public DependencyNode getDependencyTree()
      Gets the root node of the resultant dependency tree constructed by this visitor.
      Returns:
      the root node, or null if the source tree has not yet been visited