Interface DisposableBeanDefinition<T>
- Type Parameters:
T- The bean definition type
- All Superinterfaces:
AnnotationMetadata, AnnotationMetadataDelegate, AnnotationMetadataProvider, AnnotationSource, ArgumentCoercible<T>, BeanContextConditional, BeanDefinition<T>, BeanInfo<T>, BeanType<T>, Named, Ordered, QualifiedBeanType<T>
- All Known Subinterfaces:
DisposableIntercepted<T>
- All Known Implementing Classes:
ReflectionBeanDefinition
A bean definition that provides disposing hooks normally in the form of
PreDestroy
annotated methods.- Since:
- 1.0
- Author:
- Graeme Rocher
- See Also:
-
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 TypeMethodDescriptiondefault Tdispose(BeanContext context, T bean) Disposes of the bean definition by executing allPreDestroyhooks.dispose(BeanResolutionContext resolutionContext, BeanContext context, T bean) Disposes of the bean definition by executing allPreDestroyhooks.default List<ExecutableMethod<T, ?>> ThePreDestroycallbacks of the bean as reflection-free executable methods, in the orderdispose(BeanResolutionContext, BeanContext, Object)invokes them.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 QualifiedBeanType
getDeclaredQualifier, resolveDynamicQualifier
-
Method Details
-
dispose
Disposes of the bean definition by executing allPreDestroyhooks.- Parameters:
context- The bean contextbean- The bean- Returns:
- The bean instance
-
dispose
Disposes of the bean definition by executing allPreDestroyhooks.- Parameters:
resolutionContext- The bean resolution contextcontext- The bean contextbean- The bean- Returns:
- The bean instance
-
getPreDestroyExecutableMethods
ThePreDestroycallbacks of the bean as reflection-free executable methods, in the orderdispose(BeanResolutionContext, BeanContext, Object)invokes them.Only available for a bean that intercepts its pre-destroy phase, that is one bound with
@InterceptorBinding(kind = PRE_DESTROY); every other definition, including one compiled by an earlier version, returns an empty list. The callbacks are not part ofBeanDefinition.getExecutableMethods().- Returns:
- The pre-destroy callbacks, or an empty list
- Since:
- 5.2.0
-