Class PathRecordingDependencyVisitor
- java.lang.Object
-
- org.eclipse.aether.util.graph.visitor.PathRecordingDependencyVisitor
-
- All Implemented Interfaces:
org.eclipse.aether.graph.DependencyVisitor
public final class PathRecordingDependencyVisitor extends java.lang.Object implements org.eclipse.aether.graph.DependencyVisitor
A dependency visitor that records all paths leading to nodes matching a certain filter criteria.
-
-
Constructor Summary
Constructors Constructor Description PathRecordingDependencyVisitor(org.eclipse.aether.graph.DependencyFilter filter)
Creates a new visitor that uses the specified filter to identify terminal nodes of interesting paths.PathRecordingDependencyVisitor(org.eclipse.aether.graph.DependencyFilter filter, boolean excludeChildrenOfMatches)
Creates a new visitor that uses the specified filter to identify terminal nodes of interesting paths.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.aether.graph.DependencyFilter
getFilter()
Gets the filter being used to select terminal nodes.java.util.List<java.util.List<org.eclipse.aether.graph.DependencyNode>>
getPaths()
Gets the paths leading to nodes matching the filter that have been recorded during the graph visit.boolean
visitEnter(org.eclipse.aether.graph.DependencyNode node)
boolean
visitLeave(org.eclipse.aether.graph.DependencyNode node)
-
-
-
Constructor Detail
-
PathRecordingDependencyVisitor
public PathRecordingDependencyVisitor(org.eclipse.aether.graph.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 benull
to match any node.
-
PathRecordingDependencyVisitor
public PathRecordingDependencyVisitor(org.eclipse.aether.graph.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 benull
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. Iftrue
, all recorded paths will have only one matching node (namely the terminal node), iffalse
a recorded path can consist of multiple matching nodes.
-
-
Method Detail
-
getFilter
public org.eclipse.aether.graph.DependencyFilter getFilter()
Gets the filter being used to select terminal nodes.- Returns:
- The filter being used or
null
if none.
-
getPaths
public java.util.List<java.util.List<org.eclipse.aether.graph.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(org.eclipse.aether.graph.DependencyNode node)
- Specified by:
visitEnter
in interfaceorg.eclipse.aether.graph.DependencyVisitor
-
visitLeave
public boolean visitLeave(org.eclipse.aether.graph.DependencyNode node)
- Specified by:
visitLeave
in interfaceorg.eclipse.aether.graph.DependencyVisitor
-
-