Class PostorderDependencyNodeConsumerVisitor

  • All Implemented Interfaces:
    org.eclipse.aether.graph.DependencyVisitor

    public final class PostorderDependencyNodeConsumerVisitor
    extends java.lang.Object
    Processes dependency graph by traversing the graph in postorder. This visitor visits each node exactly once regardless how many paths within the dependency graph lead to the node such that the resulting node sequence is free of duplicates.

    Instances of this class cannot be embedded into FilteringDependencyVisitor, pass in the filter DependencyFilter into constructor instead.

    Since:
    2.0.0
    See Also:
    NodeListGenerator
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String NAME  
    • Constructor Summary

      Constructors 
      Constructor Description
      PostorderDependencyNodeConsumerVisitor​(java.util.function.Consumer<org.eclipse.aether.graph.DependencyNode> nodeConsumer)
      Creates a new postorder list generator.
      PostorderDependencyNodeConsumerVisitor​(java.util.function.Consumer<org.eclipse.aether.graph.DependencyNode> nodeConsumer, org.eclipse.aether.graph.DependencyFilter filter)
      Creates a new postorder list generator.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean acceptNode​(org.eclipse.aether.graph.DependencyNode node)  
      protected void consumeNode​(org.eclipse.aether.graph.DependencyNode node)  
      protected boolean doVisitEnter​(org.eclipse.aether.graph.DependencyNode node)  
      protected boolean doVisitLeave​(org.eclipse.aether.graph.DependencyNode node)  
      protected boolean setVisited​(org.eclipse.aether.graph.DependencyNode node)
      Marks the specified node as being visited and determines whether the node has been visited before.
      boolean visitEnter​(org.eclipse.aether.graph.DependencyNode node)  
      boolean visitLeave​(org.eclipse.aether.graph.DependencyNode node)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PostorderDependencyNodeConsumerVisitor

        public PostorderDependencyNodeConsumerVisitor​(java.util.function.Consumer<org.eclipse.aether.graph.DependencyNode> nodeConsumer)
        Creates a new postorder list generator.
      • PostorderDependencyNodeConsumerVisitor

        public PostorderDependencyNodeConsumerVisitor​(java.util.function.Consumer<org.eclipse.aether.graph.DependencyNode> nodeConsumer,
                                                      org.eclipse.aether.graph.DependencyFilter filter)
        Creates a new postorder list generator.
        Since:
        2.0.12
    • Method Detail

      • doVisitEnter

        protected boolean doVisitEnter​(org.eclipse.aether.graph.DependencyNode node)
      • doVisitLeave

        protected boolean doVisitLeave​(org.eclipse.aether.graph.DependencyNode node)
      • setVisited

        protected boolean setVisited​(org.eclipse.aether.graph.DependencyNode node)
        Marks the specified node as being visited and determines whether the node has been visited before.
        Parameters:
        node - the node being visited, must not be null
        Returns:
        true if the node has not been visited before, false if the node was already visited
      • visitEnter

        public final boolean visitEnter​(org.eclipse.aether.graph.DependencyNode node)
        Specified by:
        visitEnter in interface org.eclipse.aether.graph.DependencyVisitor
      • visitLeave

        public final boolean visitLeave​(org.eclipse.aether.graph.DependencyNode node)
        Specified by:
        visitLeave in interface org.eclipse.aether.graph.DependencyVisitor
      • acceptNode

        protected boolean acceptNode​(org.eclipse.aether.graph.DependencyNode node)
      • consumeNode

        protected void consumeNode​(org.eclipse.aether.graph.DependencyNode node)