Package org.gradle.api.attributes

## Interface MultipleCandidatesDetails<T>

- Type Parameters:
    `T` - the concrete type of the attribute

      public interface MultipleCandidatesDetails<T>

  Provides context about candidates for an attribute. In particular, this class gives access to the list of candidates on the producer side.
  Since:
    3.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `closestMatch​(T candidate)` | Calling this method indicates that the candidate is the closest match.
    `java.util.Set<T>` | `getCandidateValues()` | A set of candidate values.
    `T` | `getConsumerValue()` | Returns the value of the attribute specified by the consumer.

- - ### Method Detail

    - #### getConsumerValue

          @Nullable
          T getConsumerValue()

      Returns the value of the attribute specified by the consumer.
      Returns:
        The value or `null` if the consumer did not specify a value.
      Since:
        4.1

    - #### getCandidateValues

          java.util.Set<T> getCandidateValues()

      A set of candidate values.
      Returns:
        the set of candidates

    - #### closestMatch

          void closestMatch​(T candidate)

      Calling this method indicates that the candidate is the closest match. It is allowed to call this method several times with different values, in which case it indicates that multiple candidates are equally compatible.
      Parameters:
        `candidate` - The closest match. Must be present in `getCandidateValues()`.