# Interface MultipleCandidatesDetails<T>

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

@Incubating 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.
`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

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