org.eclipse.aether.collection

## Class CollectRequest

- java.lang.Object
- - org.eclipse.aether.collection.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 Summary

    Constructors
    Constructor and Description
    `CollectRequest()` Creates an uninitialized request.
    `CollectRequest(Dependency root, List<Dependency> dependencies, List<RemoteRepository> repositories)` Creates a new request with the specified properties.
    `CollectRequest(Dependency root, List<RemoteRepository> repositories)` Creates a request with the specified properties.
    `CollectRequest(List<Dependency> dependencies, List<Dependency> managedDependencies, List<RemoteRepository> repositories)` Creates a new request with the specified properties.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `CollectRequest` | `addDependency(Dependency dependency)` Adds the specified direct dependency.
    `CollectRequest` | `addManagedDependency(Dependency managedDependency)` Adds the specified managed dependency.
    `CollectRequest` | `addRepository(RemoteRepository repository)` Adds the specified repository for collection.
    `List<Dependency>` | `getDependencies()` Gets the direct dependencies.
    `List<Dependency>` | `getManagedDependencies()` Gets the dependency management to apply to transitive dependencies.
    `List<RemoteRepository>` | `getRepositories()` Gets the repositories to use for the collection.
    `String` | `getRequestContext()` Gets the context in which this request is made.
    `Dependency` | `getRoot()` Gets the root dependency of the graph.
    `Artifact` | `getRootArtifact()` Gets the root artifact for the dependency graph.
    `RequestTrace` | `getTrace()` Gets the trace information that describes the higher level request/operation in which this request is issued.
    `CollectRequest` | `setDependencies(List<Dependency> dependencies)` Sets the direct dependencies.
    `CollectRequest` | `setManagedDependencies(List<Dependency> managedDependencies)` Sets the dependency management to apply to transitive dependencies.
    `CollectRequest` | `setRepositories(List<RemoteRepository> repositories)` Sets the repositories to use for the collection.
    `CollectRequest` | `setRequestContext(String context)` Sets the context in which this request is made.
    `CollectRequest` | `setRoot(Dependency root)` Sets the root dependency of the graph.
    `CollectRequest` | `setRootArtifact(Artifact rootArtifact)` Sets the root artifact for the dependency graph.
    `CollectRequest` | `setTrace(RequestTrace trace)` Sets the trace information that describes the higher level request/operation in which this request is issued.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### 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`.

    - #### getDependencies

          public List<Dependency> getDependencies()

      Gets the direct dependencies.
      Returns:
        The direct dependencies, 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<Dependency> getManagedDependencies()

      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<RemoteRepository> getRepositories()

      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`.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2010-2013 The Eclipse Foundation. All Rights Reserved.