Package: org.gradle.api.artifacts

## [Java] Interface DependencySubstitution

- Provides means to substitute a different dependency during resolution.

  Since:
    2.5

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `ComponentSelector` | `getRequested()` The requested dependency, before it is resolved.
    `void` | `useTarget(Object notation)` This method can be used to replace a dependency before it is resolved, e.g. change group, name or version (or all three of them), or replace it with a project dependency.

- - ### Method Detail

    - #### public ComponentSelector getRequested()

      The requested dependency, before it is resolved. The requested dependency does not change even if there are multiple dependency substitution rules that manipulate the dependency metadata.

    - #### public void useTarget(Object notation)

      This method can be used to replace a dependency before it is resolved, e.g. change group, name or version (or all three of them), or replace it with a project dependency. Accepted notations are:

      - Strings encoding group:module:version, like 'org.gradle:gradle-core:2.4'
      - Maps like [group: 'org.gradle', name: 'gradle-core', version: '2.4']
      - Project instances like `project(":api")`
      - Any instance of `ModuleComponentSelector` or `ProjectComponentSelector`
      Parameters:
        `notation` - the notation that gets parsed into an instance of ComponentSelector.