Interface InterceptedBeanDefinition<T>
- Type Parameters:
T- The bean definition type
- All Superinterfaces:
AnnotationMetadata, AnnotationMetadataDelegate, AnnotationMetadataProvider, AnnotationSource, ArgumentCoercible<T>, BeanContextConditional, BeanDefinition<T>, BeanInfo<T>, BeanType<T>, InstantiatableBeanDefinition<T>, Named, Ordered, QualifiedBeanType<T>
- All Known Subinterfaces:
ProxyInterceptedBeanDefinition<T>
Intercepted
InstantiatableBeanDefinition.- Since:
- 5.1.0
- Author:
- Denis Stepanov
-
Field Summary
Fields inherited from interface AnnotationMetadata
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBERFields inherited from interface AnnotationSource
EMPTYFields inherited from interface Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Method Summary
Modifier and TypeMethodDescriptiondoInstantiate(BeanResolutionContext resolutionContext, BeanContext context, @Nullable Object[] parameterValues) The originalinstantiate(BeanResolutionContext, BeanContext)call that should be intercepted.default Tinstantiate(BeanResolutionContext resolutionContext, BeanContext context) Builds a bean instance.@Nullable Object[]resolveInstantiationValues(BeanResolutionContext resolutionContext, BeanContext context) Resolve the construction values.default @Nullable List<BeanRegistration<Interceptor<T, T>>> resolveInterceptors(BeanResolutionContext resolutionContext, AnnotationMetadataProvider constructor) Resolves the interceptors that construction, post-construct and pre-destroy interception of this bean all select from.Methods inherited from interface AnnotationMetadata
enumValuesSet, enumValuesSet, getValues, hasDeclaredStereotype, hasStereotypeNonRepeating, isAnnotationPresent, isDeclaredAnnotationPresentMethods inherited from interface 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, hasEvaluatedExpressions, 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, synthesizeDeclaredAnnotationsByTypeMethods inherited from interface AnnotationMetadataProvider
getAnnotationMetadataMethods inherited from interface BeanContextConditional
isEnabled, isEnabledMethods inherited from interface BeanDefinition
asArgument, findMethod, findPossibleMethods, getBeanDescription, getBeanDescription, getBeanType, getConstructor, getContainerElement, getDeclaringType, getDefaultImplementation, getExecutableMethods, getExecutableMethodsForProcessing, getGenericBeanType, getInjectedFields, getInjectedMethods, getName, getPostConstructMethods, getPreDestroyMethods, getReplacesDefinition, getRequiredComponents, getRequiredMethod, getScope, getScopeName, getTypeArgumentKeys, getTypeArguments, getTypeArguments, getTypeArguments, getTypeInformation, getTypeParameters, getTypeParameters, hasAnnotatedMethod, isAbstract, isCanBeReplaced, isCandidateBean, isConfigurationProperties, isIterable, isProxy, isSingletonMethods inherited from interface BeanType
getBeanName, getExposedTypes, isContainerType, isPrimary, requiresMethodProcessingMethods inherited from interface InstantiatableBeanDefinition
instantiateMethods inherited from interface QualifiedBeanType
getDeclaredQualifier, resolveDynamicQualifier
-
Method Details
-
resolveInstantiationValues
@Nullable Object[] resolveInstantiationValues(BeanResolutionContext resolutionContext, BeanContext context) Resolve the construction values.- Parameters:
resolutionContext- The resolution contextcontext- The bean context- Returns:
- the construction values
-
resolveInterceptors
default @Nullable List<BeanRegistration<Interceptor<T,T>>> resolveInterceptors(BeanResolutionContext resolutionContext, AnnotationMetadataProvider constructor) Resolves the interceptors that construction, post-construct and pre-destroy interception of this bean all select from.The qualifier is built from the bean's own annotation metadata, so it covers every
@InterceptorBindingthe bean declares whatever kind each was declared for. That makes the result a superset of what any one phase needs; each interception point filters it again by its own binding and kind. Resolving once is what lets a non-singleton interceptor be shared by every phase of one bean.Override to supply the set another way. Returning
nullleaves each interception point to resolve its own, which is the behaviour of a bean that declares no interceptor binding at all.- Parameters:
resolutionContext- The resolution contextconstructor- The constructor, whose metadata is this bean's combined with the constructor's- Returns:
- The interceptors, or
nullwhen the bean binds none - Since:
- 5.2.0
-
instantiate
Description copied from interface:InstantiatableBeanDefinitionBuilds a bean instance.- Specified by:
instantiatein interfaceInstantiatableBeanDefinition<T>- Parameters:
resolutionContext- The bean resolution contextcontext- The context- Returns:
- The instance
-
doInstantiate
T doInstantiate(BeanResolutionContext resolutionContext, BeanContext context, @Nullable Object[] parameterValues) The originalinstantiate(BeanResolutionContext, BeanContext)call that should be intercepted.- Parameters:
resolutionContext- The resolution contextcontext- The bean contextparameterValues- The construction values- Returns:
- The intercepted result
-