Class TreeDependencyVisitor

  • All Implemented Interfaces:
    DependencyVisitor

    public final class TreeDependencyVisitor
    extends Object
    implements DependencyVisitor
    A dependency visitor that delegates to another visitor if a node hasn't been visited before. In other words, this visitor provides a tree-view of a dependency graph which generally can have multiple paths to the same node or even cycles.
    • Constructor Detail

      • TreeDependencyVisitor

        public TreeDependencyVisitor​(DependencyVisitor visitor)
        Creates a new visitor that delegates to the specified visitor.
        Parameters:
        visitor - The visitor to delegate to, must not be null.
    • 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
        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
        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.