Interface BeanIntrospectionReference<T>

Type Parameters:
T - The bean type
All Superinterfaces:
AnnotationMetadataProvider, AnnotationSource, Named
All Known Implementing Classes:
AbstractBeanIntrospectionReference, AbstractEnumBeanIntrospectionAndReference, AbstractInitializableBeanIntrospectionAndReference

@Internal public interface BeanIntrospectionReference<T> extends AnnotationMetadataProvider, Named
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
  • Method Details

    • isPresent

      boolean isPresent()
      Returns:
      Is the introspection present?
    • getBeanType

      @NonNull Class<T> getBeanType()
      The type. The method isPresent() should be checked first.
      Returns:
      The type
      Throws:
      IntrospectionException - if the introspection cannot be loaded
    • load

      @NonNull BeanIntrospection<T> load()
      Loads the introspection.
      Returns:
      The loaded introspection.
      Throws:
      IntrospectionException - if the introspection cannot be loaded