Class CollectRequest


  • public final class CollectRequest
    extends Object
    A request to collect the transitive dependencies and to build a dependency graph from them. There are three ways to create a dependency graph. First, only the root dependency can be given. Second, a root dependency and direct dependencies can be specified in which case the specified direct dependencies are merged with the direct dependencies retrieved from the artifact descriptor of the root dependency. And last, only direct dependencies can be specified in which case the root node of the resulting graph has no associated dependency.
    See Also:
    RepositorySystem.collectDependencies(RepositorySystemSession, CollectRequest)
    • Constructor Detail

      • CollectRequest

        public CollectRequest()
        Creates an uninitialized request.
      • CollectRequest

        public CollectRequest​(Dependency root,
                              List<RemoteRepository> repositories)
        Creates a request with the specified properties.
        Parameters:
        root - The root dependency whose transitive dependencies should be collected, may be null.
        repositories - The repositories to use for the collection, may be null.
      • CollectRequest

        public CollectRequest​(Dependency root,
                              List<Dependency> dependencies,
                              List<RemoteRepository> repositories)
        Creates a new request with the specified properties.
        Parameters:
        root - The root dependency whose transitive dependencies should be collected, may be null.
        dependencies - The direct dependencies to merge with the direct dependencies from the root dependency's artifact descriptor.
        repositories - The repositories to use for the collection, may be null.
      • CollectRequest

        public CollectRequest​(List<Dependency> dependencies,
                              List<Dependency> managedDependencies,
                              List<RemoteRepository> repositories)
        Creates a new request with the specified properties.
        Parameters:
        dependencies - The direct dependencies of some imaginary root, may be null.
        managedDependencies - The dependency management information to apply to the transitive dependencies, may be null.
        repositories - The repositories to use for the collection, may be null.
    • Method Detail

      • getRootArtifact

        public Artifact getRootArtifact()
        Gets the root artifact for the dependency graph.
        Returns:
        The root artifact for the dependency graph or null if none.
      • setRootArtifact

        public CollectRequest setRootArtifact​(Artifact rootArtifact)
        Sets the root artifact for the dependency graph. This must not be confused with setRoot(Dependency): The root dependency, like any other specified dependency, will be subject to dependency collection/resolution, i.e. should have an artifact descriptor and a corresponding artifact file. The root artifact on the other hand is only used as a label for the root node of the graph in case no root dependency was specified. As such, the configured root artifact is ignored if getRoot() does not return null.
        Parameters:
        rootArtifact - The root artifact for the dependency graph, may be null.
        Returns:
        This request for chaining, never null.
      • getRoot

        public Dependency getRoot()
        Gets the root dependency of the graph.
        Returns:
        The root dependency of the graph or null if none.
      • setRoot

        public CollectRequest setRoot​(Dependency root)
        Sets the root dependency of the graph.
        Parameters:
        root - The root dependency of the graph, may be null.
        Returns:
        This request for chaining, never null.
      • setDependencies

        public CollectRequest setDependencies​(List<Dependency> dependencies)
        Sets the direct dependencies. If both a root dependency and direct dependencies are given in the request, the direct dependencies from the request will be merged with the direct dependencies from the root dependency's artifact descriptor, giving higher priority to the dependencies from the request.
        Parameters:
        dependencies - The direct dependencies, may be null.
        Returns:
        This request for chaining, never null.
      • addDependency

        public CollectRequest addDependency​(Dependency dependency)
        Adds the specified direct dependency.
        Parameters:
        dependency - The dependency to add, may be null.
        Returns:
        This request for chaining, never null.
      • getManagedDependencies

        public List<DependencygetManagedDependencies()
        Gets the dependency management to apply to transitive dependencies.
        Returns:
        The dependency management to apply to transitive dependencies, never null.
      • setManagedDependencies

        public CollectRequest setManagedDependencies​(List<Dependency> managedDependencies)
        Sets the dependency management to apply to transitive dependencies. To clarify, this management does not apply to the direct dependencies of the root node.
        Parameters:
        managedDependencies - The dependency management, may be null.
        Returns:
        This request for chaining, never null.
      • addManagedDependency

        public CollectRequest addManagedDependency​(Dependency managedDependency)
        Adds the specified managed dependency.
        Parameters:
        managedDependency - The managed dependency to add, may be null.
        Returns:
        This request for chaining, never null.
      • getRepositories

        public List<RemoteRepositorygetRepositories()
        Gets the repositories to use for the collection.
        Returns:
        The repositories to use for the collection, never null.
      • setRepositories

        public CollectRequest setRepositories​(List<RemoteRepository> repositories)
        Sets the repositories to use for the collection.
        Parameters:
        repositories - The repositories to use for the collection, may be null.
        Returns:
        This request for chaining, never null.
      • addRepository

        public CollectRequest addRepository​(RemoteRepository repository)
        Adds the specified repository for collection.
        Parameters:
        repository - The repository to collect dependency information from, may be null.
        Returns:
        This request for chaining, never null.
      • getRequestContext

        public String getRequestContext()
        Gets the context in which this request is made.
        Returns:
        The context, never null.
      • setRequestContext

        public CollectRequest setRequestContext​(String context)
        Sets the context in which this request is made.
        Parameters:
        context - The context, may be null.
        Returns:
        This request for chaining, never null.
      • getTrace

        public RequestTrace getTrace()
        Gets the trace information that describes the higher level request/operation in which this request is issued.
        Returns:
        The trace information about the higher level operation or null if none.
      • setTrace

        public CollectRequest setTrace​(RequestTrace trace)
        Sets the trace information that describes the higher level request/operation in which this request is issued.
        Parameters:
        trace - The trace information about the higher level operation, may be null.
        Returns:
        This request for chaining, never null.