Class LevelOrderDependencyNodeConsumerVisitor

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

    public final class LevelOrderDependencyNodeConsumerVisitor
    extends java.lang.Object
    Processes dependency graph by traversing the graph in level order. 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
      LevelOrderDependencyNodeConsumerVisitor​(java.util.function.Consumer<org.eclipse.aether.graph.DependencyNode> nodeConsumer)
      Creates a new level order list generator.
      LevelOrderDependencyNodeConsumerVisitor​(java.util.function.Consumer<org.eclipse.aether.graph.DependencyNode> nodeConsumer, org.eclipse.aether.graph.DependencyFilter filter)
      Creates a new level order list generator with filter.
    • 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

      • LevelOrderDependencyNodeConsumerVisitor

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

        public LevelOrderDependencyNodeConsumerVisitor​(java.util.function.Consumer<org.eclipse.aether.graph.DependencyNode> nodeConsumer,
                                                       org.eclipse.aether.graph.DependencyFilter filter)
        Creates a new level order list generator with filter.
        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)