Class PostorderNodeListGenerator

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

    public final class PostorderNodeListGenerator
    extends java.lang.Object
    Generates a sequence of dependency nodes from a dependeny 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.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.List<org.eclipse.aether.graph.DependencyNode> nodes  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<org.eclipse.aether.artifact.Artifact> getArtifacts​(boolean includeUnresolved)
      Gets the artifacts associated with the list of dependency nodes generated during the graph traversal.
      java.lang.String getClassPath()
      Gets a class path by concatenating the artifact files of the visited dependency nodes.
      java.util.List<org.eclipse.aether.graph.Dependency> getDependencies​(boolean includeUnresolved)
      Gets the dependencies seen during the graph traversal.
      java.util.List<java.io.File> getFiles()
      Gets the files of resolved artifacts seen during the graph traversal.
      java.util.List<org.eclipse.aether.graph.DependencyNode> getNodes()
      Gets the list of dependency nodes that was generated during the graph traversal.
      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
    • Field Detail

      • nodes

        protected final java.util.List<org.eclipse.aether.graph.DependencyNode> nodes
    • Method Detail

      • visitEnter

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

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

        public java.util.List<org.eclipse.aether.graph.DependencyNode> getNodes()
        Gets the list of dependency nodes that was generated during the graph traversal.
        Returns:
        The list of dependency nodes, never null.
      • getDependencies

        public java.util.List<org.eclipse.aether.graph.Dependency> getDependencies​(boolean includeUnresolved)
        Gets the dependencies seen during the graph traversal.
        Parameters:
        includeUnresolved - Whether unresolved dependencies shall be included in the result or not.
        Returns:
        The list of dependencies, never null.
      • getArtifacts

        public java.util.List<org.eclipse.aether.artifact.Artifact> getArtifacts​(boolean includeUnresolved)
        Gets the artifacts associated with the list of dependency nodes generated during the graph traversal.
        Parameters:
        includeUnresolved - Whether unresolved artifacts shall be included in the result or not.
        Returns:
        The list of artifacts, never null.
      • getFiles

        public java.util.List<java.io.File> getFiles()
        Gets the files of resolved artifacts seen during the graph traversal.
        Returns:
        The list of artifact files, never null.
      • getClassPath

        public java.lang.String getClassPath()
        Gets a class path by concatenating the artifact files of the visited dependency nodes. Nodes with unresolved artifacts are automatically skipped.
        Returns:
        The class path, using the platform-specific path separator, never null.
      • 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.