Package 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

Modifier and Type
Method
Description
`String`
`getDescription()`
Returns a human-consumable description of this selection reason.
`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 Details

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

### getDescription

String getDescription()
Returns a human-consumable description of this selection reason.