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 ProjectDependencyGraphprojectDependencyGraphprivate java.util.List<MavenProject>sortedProjectsprivate 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.StringtoString()
-
-
-
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:ProjectDependencyGraphGets all collected projects.- Specified by:
getAllProjectsin interfaceProjectDependencyGraph- Returns:
- All collected projects.
- Since:
- 3.5.0
-
getSortedProjects
public java.util.List<MavenProject> getSortedProjects()
Description copied from interface:ProjectDependencyGraphGets all projects in their intended build order, i.e. after topologically sorting the projects according to their inter-dependencies.- Specified by:
getSortedProjectsin 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:ProjectDependencyGraphGets the downstream projects of the specified project. A downstream project is a project that directly or indirectly depends on the given project.- Specified by:
getDownstreamProjectsin 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:ProjectDependencyGraphGets 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:
getUpstreamProjectsin 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:
toStringin classjava.lang.Object
-
-