T
- The qualifier typepublic interface Qualifier<T>
Used to qualify which bean to select in the case of multiple possible options.
NOTE: When implementing a custom Qualifier you MUST implement Object.hashCode()
and
Object.equals(Object)
so that the qualifier can be used in comparisons and equality checks
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PRIMARY
The name of the primary annotation class.
|
Modifier and Type | Method and Description |
---|---|
default boolean |
contains(Qualifier<T> qualifier)
Whether this qualifier contains the given qualifier.
|
default <BT extends BeanType<T>> |
qualify(java.lang.Class<T> beanType,
java.util.stream.Stream<BT> candidates)
Qualify the candidate from the stream of candidates.
|
<BT extends BeanType<T>> |
reduce(java.lang.Class<T> beanType,
java.util.stream.Stream<BT> candidates) |
static final java.lang.String PRIMARY
<BT extends BeanType<T>> java.util.stream.Stream<BT> reduce(java.lang.Class<T> beanType, java.util.stream.Stream<BT> candidates)
BT
- The bean type subclassbeanType
- The bean typecandidates
- The candidatesdefault boolean contains(Qualifier<T> qualifier)
qualifier
- The qualifierdefault <BT extends BeanType<T>> java.util.Optional<BT> qualify(java.lang.Class<T> beanType, java.util.stream.Stream<BT> candidates)
BT
- The bean type subclassbeanType
- The bean typecandidates
- The candidatesOptional.empty()