Package io.micronaut.inject.qualifiers
Class Qualifiers
java.lang.Object
io.micronaut.inject.qualifiers.Qualifiers
Factory for 
Bean qualifiers.- Since:
 - 1.0
 - Author:
 - Graeme Rocher
 
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic <T> Qualifier<T>any()Allows looking up the first matching instance.static <T extends Annotation>
Qualifier<T>byAnnotation(AnnotationMetadata metadata, AnnotationValue<T> annotationValue) Build a qualifier for the given annotation value.static <T> Qualifier<T>byAnnotation(AnnotationMetadata metadata, Class<? extends Annotation> type) Build a qualifier for the given annotation.static <T> Qualifier<T>byAnnotation(AnnotationMetadata metadata, String type) Build a qualifier for the given annotation.static <T> Qualifier<T>byAnnotation(Annotation annotation) Build a qualifier for the given annotation.static <T> Qualifier<T>byAnnotationSimple(AnnotationMetadata metadata, String type) Build a qualifier for the given annotation.byExactTypeArgumentName(@NonNull String typeName) Build a qualifier for the given generic type argument name.byInterceptorBinding(@NonNull AnnotationMetadata annotationMetadata) Reduces bean definitions by the given interceptor binding.byInterceptorBindingValues(@NonNull Collection<AnnotationValue<?>> binding) Reduces bean definitions by the given interceptor binding.static <T> Qualifier<T>Build a qualifier for the given name.static <T> Qualifier<T>byNamePrefix(String prefix) Qualify by a prefix.static <T> Qualifier<T>byQualifiers(Qualifier<T>... qualifiers) Build a qualifier from other qualifiers.static <T> Qualifier<T>byRepeatableAnnotation(AnnotationMetadata metadata, String repeatableType) Builds a qualifier that uses the given repeatable annotation.static <T> Qualifier<T>byStereotype(Class<? extends Annotation> stereotype) Build a qualifier for the given annotation.static <T> Qualifier<T>byStereotype(String stereotype) Build a qualifier for the given annotation.static <T> Qualifier<T>Build a qualifier for the given generic type arguments.static <T> Qualifier<T>byTypeArguments(Class<?>... typeArguments) Build a qualifier for the given generic type arguments.static <T> Qualifier<T>byTypeArgumentsClosest(Class<?>... typeArguments) Build a qualifier for the given generic type arguments.Finds a name in the provided qualifier.forArgument(@NonNull Argument<?> argument) Build a qualifier for the given argument.static <T> Qualifier<T>none()Allows looking up for beans without any qualifier. 
- 
Constructor Details
- 
Qualifiers
public Qualifiers() 
 - 
 - 
Method Details
- 
any
Allows looking up the first matching instance.This qualifier results on
NonUniqueBeanExceptionnever being thrown as the first matching instance will be returned.- Type Parameters:
 T- The generic type- Returns:
 - Any qualifier.
 - Since:
 - 3.0.0
 - See Also:
 
 - 
none
Allows looking up for beans without any qualifier.- Type Parameters:
 T- The generic type- Returns:
 - The none qualifier.
 - Since:
 - 3.8.0
 
 - 
forArgument
@Nullable public static <T> @Nullable Qualifier<T> forArgument(@NonNull @NonNull Argument<?> argument) Build a qualifier for the given argument.- Type Parameters:
 T- The type- Parameters:
 argument- The argument- Returns:
 - The resolved qualifier
 
 - 
byQualifiers
Build a qualifier from other qualifiers.- Type Parameters:
 T- The component type- Parameters:
 qualifiers- The qualifiers- Returns:
 - The qualifier
 
 - 
byName
Build a qualifier for the given name.- Type Parameters:
 T- The component type- Parameters:
 name- The name- Returns:
 - The qualifier
 
 - 
findName
Finds a name in the provided qualifier.- Returns:
 - The qualifier
 - Since:
 - 4.0.0
 
 - 
byNamePrefix
Qualify by a prefix. Applies starting with logic to the name of the bean.- Type Parameters:
 T- The component type- Parameters:
 prefix- The name- Returns:
 - The qualifier
 - Since:
 - 4.0.0
 
 - 
byAnnotation
Build a qualifier for the given annotation.- Type Parameters:
 T- The component type- Parameters:
 annotation- The annotation- Returns:
 - The qualifier
 
 - 
byAnnotation
public static <T> Qualifier<T> byAnnotation(AnnotationMetadata metadata, Class<? extends Annotation> type) Build a qualifier for the given annotation.- Type Parameters:
 T- The component type- Parameters:
 metadata- The metadatatype- The annotation type- Returns:
 - The qualifier
 
 - 
byAnnotation
Build a qualifier for the given annotation. This qualifier will match a candidate under the following circumstances:
- Type Parameters:
 T- The component type- Parameters:
 metadata- The metadatatype- The annotation type- Returns:
 - The qualifier
 
 - 
byAnnotation
public static <T extends Annotation> Qualifier<T> byAnnotation(AnnotationMetadata metadata, AnnotationValue<T> annotationValue) Build a qualifier for the given annotation value.
- Type Parameters:
 T- The component type- Parameters:
 metadata- The metadataannotationValue- The annotation value- Returns:
 - The qualifier
 
 - 
byRepeatableAnnotation
public static <T> Qualifier<T> byRepeatableAnnotation(AnnotationMetadata metadata, String repeatableType) Builds a qualifier that uses the given repeatable annotation.
- Type Parameters:
 T- The component type- Parameters:
 metadata- The metadatarepeatableType- The annotation repeatable type. That is the annotation specified toRepeatable.value()- Returns:
 - The qualifier
 
 - 
byAnnotationSimple
@Internal public static <T> Qualifier<T> byAnnotationSimple(AnnotationMetadata metadata, String type) Build a qualifier for the given annotation.
Unlike
byAnnotation(io.micronaut.core.annotation.AnnotationMetadata, String)this method will not attempt to pick the qualifier strategy to use at runtime based on the passed annotation name.- Type Parameters:
 T- The component type- Parameters:
 metadata- The metadatatype- The annotation type- Returns:
 - The qualifier
 - Since:
 - 3.1.0
 
 - 
byStereotype
Build a qualifier for the given annotation.- Type Parameters:
 T- The component type- Parameters:
 stereotype- The stereotype- Returns:
 - The qualifier
 
 - 
byStereotype
Build a qualifier for the given annotation.- Type Parameters:
 T- The component type- Parameters:
 stereotype- The stereotype- Returns:
 - The qualifier
 - Since:
 - 3.0.0
 
 - 
byTypeArguments
Build a qualifier for the given generic type arguments.- Type Parameters:
 T- The component type- Parameters:
 typeArguments- The generic type arguments- Returns:
 - The qualifier
 
 - 
byExactTypeArgumentName
@NonNull public static <T> @NonNull Qualifier<T> byExactTypeArgumentName(@NonNull @NonNull String typeName) Build a qualifier for the given generic type argument name.- Type Parameters:
 T- The component type- Parameters:
 typeName- The name of the generic type argument- Returns:
 - The qualifier
 - Since:
 - 3.0.0
 
 - 
byTypeArgumentsClosest
Build a qualifier for the given generic type arguments. Only the closest matches will be returned.- Type Parameters:
 T- The component type- Parameters:
 typeArguments- The generic type arguments- Returns:
 - The qualifier
 
 - 
byType
Build a qualifier for the given generic type arguments.- Type Parameters:
 T- The component type- Parameters:
 typeArguments- The generic type arguments- Returns:
 - The qualifier
 
 - 
byInterceptorBinding
@NonNull public static <T> @NonNull Qualifier<T> byInterceptorBinding(@NonNull @NonNull AnnotationMetadata annotationMetadata) Reduces bean definitions by the given interceptor binding.- Type Parameters:
 T- The bean type- Parameters:
 annotationMetadata- The annotation metadata- Returns:
 - The qualifier
 
 - 
byInterceptorBindingValues
@NonNull public static <T> @NonNull Qualifier<T> byInterceptorBindingValues(@NonNull @NonNull Collection<AnnotationValue<?>> binding) Reduces bean definitions by the given interceptor binding.- Type Parameters:
 T- The bean type- Parameters:
 binding- The binding values to use- Returns:
 - The qualifier
 - Since:
 - 3.3.0
 
 
 -