Package io.micronaut.inject.provider
Class BeanProviderDefinition
java.lang.Object
io.micronaut.inject.provider.AbstractProviderDefinition<BeanProvider<Object>>
io.micronaut.inject.provider.BeanProviderDefinition
- All Implemented Interfaces:
AnnotationMetadata
,AnnotationMetadataDelegate
,AnnotationMetadataProvider
,AnnotationSource
,BeanInfo<BeanProvider<Object>>
,Named
,Ordered
,ArgumentCoercible<BeanProvider<Object>>
,BeanContextConditional
,BeanDefinition<BeanProvider<Object>>
,BeanDefinitionReference<BeanProvider<Object>>
,BeanType<BeanProvider<Object>>
,InstantiatableBeanDefinition<BeanProvider<Object>>
,QualifiedBeanType<BeanProvider<Object>>
@Internal
public final class BeanProviderDefinition
extends AbstractProviderDefinition<BeanProvider<Object>>
Implementation for
BeanProvider
bean lookups.- Since:
- 3.0.0
- Author:
- graemerocher
-
Field Summary
Fields inherited from interface io.micronaut.core.annotation.AnnotationMetadata
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBER
Fields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTY
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected BeanProvider<Object>
buildProvider
(@NonNull BeanResolutionContext resolutionContext, @NonNull BeanContext context, @NonNull Argument<Object> argument, @Nullable Qualifier<Object> qualifier, boolean singleton) Builds a provider implementation.Returns the bean type.protected boolean
isAllowEmptyProviders
(BeanContext context) Return whether missing providers are allowed for this implementation.boolean
isEnabled
(BeanContext context, BeanResolutionContext resolutionContext) Return whether this component is enabled for the given context.boolean
Methods inherited from class io.micronaut.inject.provider.AbstractProviderDefinition
equals, getAnnotationMetadata, getBeanDefinitionName, getDeclaredQualifier, getTypeArguments, getTypeArguments, hashCode, instantiate, isAbstract, isCandidateBean, isConfigurationProperties, isContainerType, isSingleton, load
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadata
enumValuesSet, enumValuesSet, getValues, hasDeclaredStereotype, hasEvaluatedExpressions, hasStereotypeNonRepeating, isAnnotationPresent, isDeclaredAnnotationPresent
Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadataDelegate
booleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, copyAnnotationMetadata, doubleValue, doubleValue, doubleValue, enumValue, enumValue, enumValue, enumValue, enumValues, enumValues, enumValues, enumValues, findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, findRepeatableAnnotation, findRepeatableAnnotation, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByName, getAnnotationValuesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByName, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, getTargetAnnotationMetadata, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasPropertyExpressions, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, intValue, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isFalse, isFalse, isPresent, isPresent, isRepeatableAnnotation, isRepeatableAnnotation, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, stringValues, stringValues, synthesize, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByType
Methods inherited from interface io.micronaut.inject.BeanContextConditional
isEnabled
Methods inherited from interface io.micronaut.inject.BeanDefinition
asArgument, findMethod, findPossibleMethods, getConstructor, getContainerElement, getDeclaringType, getExecutableMethods, getGenericBeanType, getInjectedFields, getInjectedMethods, getName, getPostConstructMethods, getPreDestroyMethods, getRequiredComponents, getRequiredMethod, getScope, getScopeName, getTypeArguments, getTypeParameters, getTypeParameters, hasAnnotatedMethod, isIterable, isProxy, resolveDynamicQualifier
Methods inherited from interface io.micronaut.inject.BeanDefinitionReference
isContextScope, isProxiedBean, isProxyTarget, load
Methods inherited from interface io.micronaut.inject.BeanType
getBeanName, getExposedTypes, isPrimary, requiresMethodProcessing
Methods inherited from interface io.micronaut.inject.InstantiatableBeanDefinition
instantiate
-
Constructor Details
-
BeanProviderDefinition
public BeanProviderDefinition()
-
-
Method Details
-
isEnabled
Description copied from interface:BeanContextConditional
Return whether this component is enabled for the given context.- Specified by:
isEnabled
in interfaceBeanContextConditional
- Overrides:
isEnabled
in classAbstractProviderDefinition<BeanProvider<Object>>
- Parameters:
context
- The contextresolutionContext
- The bean resolution context- Returns:
- True if it is
-
getBeanType
Description copied from interface:BeanType
Returns the bean type.- Returns:
- The produced bean type
-
isPresent
public boolean isPresent()- Specified by:
isPresent
in interfaceBeanDefinitionReference<BeanProvider<Object>>
- Overrides:
isPresent
in classAbstractProviderDefinition<BeanProvider<Object>>
- Returns:
- Is the underlying bean type present on the classpath
-
buildProvider
protected BeanProvider<Object> buildProvider(@NonNull @NonNull BeanResolutionContext resolutionContext, @NonNull @NonNull BeanContext context, @NonNull @NonNull Argument<Object> argument, @Nullable @Nullable Qualifier<Object> qualifier, boolean singleton) Description copied from class:AbstractProviderDefinition
Builds a provider implementation.- Specified by:
buildProvider
in classAbstractProviderDefinition<BeanProvider<Object>>
- Parameters:
resolutionContext
- The resolution contextcontext
- The contextargument
- The argumentqualifier
- The qualifiersingleton
- Whether the bean is a singleton- Returns:
- The provider
-
isAllowEmptyProviders
Description copied from class:AbstractProviderDefinition
Return whether missing providers are allowed for this implementation. Iffalse
aNoSuchBeanException
is thrown.- Overrides:
isAllowEmptyProviders
in classAbstractProviderDefinition<BeanProvider<Object>>
- Parameters:
context
- The context- Returns:
- Returns
true
if missing providers are allowed
-