Class PathRecordingDependencyVisitor

    • Constructor Detail

      • PathRecordingDependencyVisitor

        public PathRecordingDependencyVisitor​(DependencyFilter filter)
        Creates a new visitor that uses the specified filter to identify terminal nodes of interesting paths. The visitor will not search for paths going beyond an already matched node.
        Parameters:
        filter - The filter used to select terminal nodes of paths to record, may be null to match any node.
      • PathRecordingDependencyVisitor

        public PathRecordingDependencyVisitor​(DependencyFilter filter,
                                              boolean excludeChildrenOfMatches)
        Creates a new visitor that uses the specified filter to identify terminal nodes of interesting paths.
        Parameters:
        filter - The filter used to select terminal nodes of paths to record, may be null to match any node.
        excludeChildrenOfMatches - Flag controlling whether children of matched nodes should be excluded from the traversal, thereby ignoring any potential paths to other matching nodes beneath a matching ancestor node. If true, all recorded paths will have only one matching node (namely the terminal node), if false a recorded path can consist of multiple matching nodes.
    • Method Detail

      • getFilter

        public DependencyFilter getFilter()
        Gets the filter being used to select terminal nodes.
        Returns:
        The filter being used or null if none.
      • getPaths

        public List<List<DependencyNode>> getPaths()
        Gets the paths leading to nodes matching the filter that have been recorded during the graph visit. A path is given as a sequence of nodes, starting with the root node of the graph and ending with a node that matched the filter.
        Returns:
        The recorded paths, never null.
      • 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.