Package io.micronaut.core.beans
Interface BeanIntrospectionReference<T>
- Type Parameters:
T
- The bean type
- All Superinterfaces:
AnnotationMetadataProvider
,AnnotationSource
,Named
- All Known Implementing Classes:
AbstractBeanIntrospectionReference
A reference to a
BeanIntrospection
that may or may not be present on the classpath.
This interface allows soft loading a BeanIntrospection
without knowing if the class is present on the classpath or not. It also ensures that less memory is occupied as only a reference to the annotation metadata is retained and the full bean can be loaded via the load()
method.
In general results of the load()
do not need to be cached as object creation is cheap and no runtime analysis is performed so it is extremely fast.
- Since:
- 1.1
- Author:
- graemerocher
-
Field Summary
Fields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTY
-
Method Summary
Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadataProvider
findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, getAnnotationMetadata, getTargetAnnotationMetadata, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByType
Methods inherited from interface io.micronaut.core.annotation.AnnotationSource
getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeDeclared
-
Method Details
-
isPresent
boolean isPresent()- Returns:
- Is the introspection present?
-
getBeanType
The type. The methodisPresent()
should be checked first.- Returns:
- The type
- Throws:
IntrospectionException
- if the introspection cannot be loaded
-
load
Loads the introspection.- Returns:
- The loaded introspection.
- Throws:
IntrospectionException
- if the introspection cannot be loaded
-