Class SpringFactoryImportSelector<T>

  • Type Parameters:
    T - type of annotation class
    All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.context.annotation.DeferredImportSelector, org.springframework.context.annotation.ImportSelector, org.springframework.context.EnvironmentAware
    Direct Known Subclasses:
    EnableCircuitBreakerImportSelector, EnableDiscoveryClientImportSelector

    public abstract class SpringFactoryImportSelector<T>
    extends Object
    implements org.springframework.context.annotation.DeferredImportSelector, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.context.EnvironmentAware
    Selects configurations to load, defined by the generic type T. Loads implementations using SpringFactoriesLoader.
    Author:
    Spencer Gibb, Dave Syer
    • Constructor Detail

      • SpringFactoryImportSelector

        protected SpringFactoryImportSelector()
    • Method Detail

      • selectImports

        public String[] selectImports​(org.springframework.core.type.AnnotationMetadata metadata)
        Specified by:
        selectImports in interface org.springframework.context.annotation.ImportSelector
      • hasDefaultFactory

        protected boolean hasDefaultFactory()
      • isEnabled

        protected abstract boolean isEnabled()
      • getSimpleName

        protected String getSimpleName()
      • getAnnotationClass

        protected Class<T> getAnnotationClass()
      • getEnvironment

        protected org.springframework.core.env.Environment getEnvironment()
      • setEnvironment

        public void setEnvironment​(org.springframework.core.env.Environment environment)
        Specified by:
        setEnvironment in interface org.springframework.context.EnvironmentAware
      • setBeanClassLoader

        public void setBeanClassLoader​(ClassLoader classLoader)
        Specified by:
        setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAware