ComponentSelectionReason (Gradle API 4.5)
Date: 2018-01-24

org.gradle.api.artifacts.result

## Interface ComponentSelectionReason

-     @Incubating
      public interface ComponentSelectionReason

  Answers the question why a component was selected during the dependency resolution.
  Since:
    1.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getDescription()` Returns a human-consumable description of this selection reason.
    `boolean` | `isCompositeSubstitution()` Informs whether the selected component is a project substitute from a build participating in in a composite build.
    `boolean` | `isConflictResolution()` Informs whether the component was selected by conflict resolution.
    `boolean` | `isExpected()` Informs whether the component is the requested selection of all dependency declarations, and was not replaced for some reason, such as conflict resolution.
    `boolean` | `isForced()` Informs whether the component was forced.
    `boolean` | `isSelectedByRule()` Informs whether the component was selected by the dependency substitution rule.

- - ### Method Detail

    - #### isForced

          boolean isForced()

      Informs whether the component was forced. Users can force components via `ResolutionStrategy` or when declaring dependencies (see `DependencyHandler`).

    - #### isConflictResolution

          boolean isConflictResolution()

      Informs whether the component was selected by conflict resolution. For more information about Gradle's conflict resolution please refer to the user guide. `ResolutionStrategy` contains information about conflict resolution and includes means to configure it.

    - #### isSelectedByRule

          boolean isSelectedByRule()

      Informs whether the component was selected by the dependency substitution rule. Users can configure dependency substitution rules via `ResolutionStrategy.getDependencySubstitution()`
      Since:
        1.4

    - #### isExpected

          boolean isExpected()

      Informs whether the component is the requested selection of all dependency declarations, and was not replaced for some reason, such as conflict resolution.
      Since:
        1.11

    - #### isCompositeSubstitution

          boolean isCompositeSubstitution()

      Informs whether the selected component is a project substitute from a build participating in in a composite build.
      Since:
        4.5

    - #### getDescription

          String getDescription()

      Returns a human-consumable description of this selection reason.