org.sonatype.aether.util.graph
Class PostorderNodeListGenerator

java.lang.Object
  extended by org.sonatype.aether.util.graph.AbstractDepthFirstNodeListGenerator
      extended by org.sonatype.aether.util.graph.PostorderNodeListGenerator
All Implemented Interfaces:
DependencyVisitor

public class PostorderNodeListGenerator
extends AbstractDepthFirstNodeListGenerator

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.

Author:
Ansgar Konermann

Field Summary
 
Fields inherited from class org.sonatype.aether.util.graph.AbstractDepthFirstNodeListGenerator
nodes
 
Constructor Summary
PostorderNodeListGenerator()
          Creates a new postorder list generator.
 
Method Summary
 boolean visitEnter(DependencyNode node)
          Notifies the visitor of a node visit before its children have been processed.
 boolean visitLeave(DependencyNode node)
          Notifies the visitor of a node visit after its children have been processed.
 
Methods inherited from class org.sonatype.aether.util.graph.AbstractDepthFirstNodeListGenerator
getArtifacts, getClassPath, getDependencies, getFiles, getNodes, setVisited
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PostorderNodeListGenerator

public PostorderNodeListGenerator()
Creates a new postorder list generator.

Method Detail

visitEnter

public 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
Specified by:
visitEnter in class AbstractDepthFirstNodeListGenerator
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 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
Specified by:
visitLeave in class AbstractDepthFirstNodeListGenerator
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.


Copyright © 2010-2013. All Rights Reserved.