# 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

  Modifier and Type
  Method
  Description
  `void`
  `closestMatch(T candidate)`
  Calling this method indicates that the candidate is the closest match.
  `Set<T>`
  `getCandidateValues()`
  A set of candidate values.
  `@Nullable T`
  `getConsumerValue()`
  Returns the value of the attribute specified by the consumer.

- ## Method Details

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

    Set<T> getCandidateValues()
    A set of candidate values.
    Returns:
      the set of candidates
    Since:
      3.3

  - ### 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()`.
    Since:
      3.4