Package org.apache.maven.graph
Class FilteredProjectDependencyGraph
- java.lang.Object
-
- org.apache.maven.graph.FilteredProjectDependencyGraph
-
- All Implemented Interfaces:
ProjectDependencyGraph
class FilteredProjectDependencyGraph extends java.lang.Object implements ProjectDependencyGraph
Provides a sub view of another dependency graph.
-
-
Field Summary
Fields Modifier and Type Field Description private ProjectDependencyGraph
projectDependencyGraph
private java.util.List<MavenProject>
sortedProjects
private java.util.Map<MavenProject,?>
whiteList
-
Constructor Summary
Constructors Constructor Description FilteredProjectDependencyGraph(ProjectDependencyGraph projectDependencyGraph, java.util.Collection<? extends MavenProject> whiteList)
Creates a new project dependency graph from the specified graph.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.List<MavenProject>
applyFilter(java.util.Collection<? extends MavenProject> projects)
java.util.List<MavenProject>
getAllProjects()
Gets all collected projects.java.util.List<MavenProject>
getDownstreamProjects(MavenProject project, boolean transitive)
Gets the downstream projects of the specified project.java.util.List<MavenProject>
getSortedProjects()
Gets all projects in their intended build order, i.e.java.util.List<MavenProject>
getUpstreamProjects(MavenProject project, boolean transitive)
Gets the upstream projects of the specified project.java.lang.String
toString()
-
-
-
Field Detail
-
projectDependencyGraph
private ProjectDependencyGraph projectDependencyGraph
-
whiteList
private java.util.Map<MavenProject,?> whiteList
-
sortedProjects
private java.util.List<MavenProject> sortedProjects
-
-
Constructor Detail
-
FilteredProjectDependencyGraph
FilteredProjectDependencyGraph(ProjectDependencyGraph projectDependencyGraph, java.util.Collection<? extends MavenProject> whiteList)
Creates a new project dependency graph from the specified graph.- Parameters:
projectDependencyGraph
- The project dependency graph to create a sub view from, must not benull
.whiteList
- The projects on which the dependency view should focus, must not benull
.
-
-
Method Detail
-
getAllProjects
public java.util.List<MavenProject> getAllProjects()
Description copied from interface:ProjectDependencyGraph
Gets all collected projects.- Specified by:
getAllProjects
in interfaceProjectDependencyGraph
- Returns:
- All collected projects.
- Since:
- 3.5.0
-
getSortedProjects
public java.util.List<MavenProject> getSortedProjects()
Description copied from interface:ProjectDependencyGraph
Gets all projects in their intended build order, i.e. after topologically sorting the projects according to their inter-dependencies.- Specified by:
getSortedProjects
in interfaceProjectDependencyGraph
- Returns:
- The projects in the build order, never
null
.
-
getDownstreamProjects
public java.util.List<MavenProject> getDownstreamProjects(MavenProject project, boolean transitive)
Description copied from interface:ProjectDependencyGraph
Gets the downstream projects of the specified project. A downstream project is a project that directly or indirectly depends on the given project.- Specified by:
getDownstreamProjects
in interfaceProjectDependencyGraph
- Parameters:
project
- The project whose downstream projects should be retrieved, must not benull
.transitive
- A flag whether to retrieve all direct and indirect downstream projects or just the immediate downstream projects.- Returns:
- The downstream projects in the build order, never
null
.
-
getUpstreamProjects
public java.util.List<MavenProject> getUpstreamProjects(MavenProject project, boolean transitive)
Description copied from interface:ProjectDependencyGraph
Gets the upstream projects of the specified project. An upstream project is a project that directly or indirectly is a prerequisite of the given project.- Specified by:
getUpstreamProjects
in interfaceProjectDependencyGraph
- Parameters:
project
- The project whose upstream projects should be retrieved, must not benull
.transitive
- A flag whether to retrieve all direct and indirect upstream projects or just the immediate upstream projects.- Returns:
- The upstream projects in the build order, never
null
.
-
applyFilter
private java.util.List<MavenProject> applyFilter(java.util.Collection<? extends MavenProject> projects)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-