Package io.micronaut.context
Interface Qualifier<T>
-
- Type Parameters:
T
- The qualifier type
- All Known Implementing Classes:
AnyQualifier
,ClosestTypeArgumentQualifier
,InterceptorBindingQualifier
,PrimaryQualifier
,TypeAnnotationQualifier
,TypeArgumentQualifier
public 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()
andObject.equals(Object)
so that the qualifier can be used in comparisons and equality checks- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PRIMARY
The name of the primary annotation class.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
contains(Qualifier<T> qualifier)
Whether this qualifier contains the given qualifier.default <BT extends BeanType<T>>
java.util.Optional<BT>qualify(java.lang.Class<T> beanType, java.util.stream.Stream<BT> candidates)
Qualify the candidate from the stream of candidates.<BT extends BeanType<T>>
java.util.stream.Stream<BT>reduce(java.lang.Class<T> beanType, java.util.stream.Stream<BT> candidates)
-
-
-
Method Detail
-
reduce
<BT extends BeanType<T>> java.util.stream.Stream<BT> reduce(java.lang.Class<T> beanType, java.util.stream.Stream<BT> candidates)
- Type Parameters:
BT
- The bean type subclass- Parameters:
beanType
- The bean typecandidates
- The candidates- Returns:
- The qualified candidate or null it it cannot be qualified
-
contains
default boolean contains(Qualifier<T> qualifier)
Whether this qualifier contains the given qualifier.- Parameters:
qualifier
- The qualifier- Returns:
- True it does
-
qualify
default <BT extends BeanType<T>> java.util.Optional<BT> qualify(java.lang.Class<T> beanType, java.util.stream.Stream<BT> candidates)
Qualify the candidate from the stream of candidates.- Type Parameters:
BT
- The bean type subclass- Parameters:
beanType
- The bean typecandidates
- The candidates- Returns:
- The qualified candidate or
Optional.empty()
-
-