Package org.gradle.api.artifacts.result

## Interface ComponentSelectionReason

-     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 | Description
    --- | --- | ---
    `java.util.List<ComponentSelectionDescriptor>` | `getDescriptions()` | Returns a list of descriptions of the causes that led to the selection of this component.
    `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` | `isConstrained()` | Informs whether the selected component version has been influenced by a dependency constraint.
    `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 manual. `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

    - #### isConstrained

          boolean isConstrained()

      Informs whether the selected component version has been influenced by a dependency constraint.
      Returns:
        true if a dependency constraint influenced the selection of this component
      Since:
        4.6

    - #### getDescriptions

          java.util.List<ComponentSelectionDescriptor> getDescriptions()

      Returns a list of descriptions of the causes that led to the selection of this component.
      Returns:
        the list of descriptions.
      Since:
        4.6