org.springframework.beans

Interface BeanInfoFactory

  • All Known Implementing Classes:
    ExtendedBeanInfoFactory


    public interface BeanInfoFactory
    Strategy interface for creating BeanInfo instances for Spring beans. Can be used to plug in custom bean property resolution strategies (e.g. for other languages on the JVM) or more efficient BeanInfo retrieval algorithms.

    BeanInfoFactories are instantiated by the CachedIntrospectionResults, by using the SpringFactoriesLoader utility class. When a BeanInfo is to be created, the CachedIntrospectionResults will iterate through the discovered factories, calling getBeanInfo(Class) on each one. If null is returned, the next factory will be queried. If none of the factories support the class, a standard BeanInfo will be created as a default.

    Note that the SpringFactoriesLoader sorts the BeanInfoFactory instances by @Order, so that ones with a higher precedence come first.

    Since:
    3.2
    Author:
    Arjen Poutsma
    See Also:
    CachedIntrospectionResults, SpringFactoriesLoader
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method and Description
      java.beans.BeanInfo getBeanInfo(java.lang.Class<?> beanClass)
      Return the bean info for the given class, if supported.
    • Method Detail

      • getBeanInfo

        @Nullable
        java.beans.BeanInfo getBeanInfo(java.lang.Class<?> beanClass)
                                           throws java.beans.IntrospectionException
        Return the bean info for the given class, if supported.
        Parameters:
        beanClass - the bean class
        Returns:
        the BeanInfo, or null if the given class is not supported
        Throws:
        java.beans.IntrospectionException - in case of exceptions