Class SpringFactoryImportSelector<T>

java.lang.Object
org.springframework.cloud.commons.util.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 Details

    • SpringFactoryImportSelector

      protected SpringFactoryImportSelector()
  • Method Details

    • 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