Class AbstractServiceLoaderBasedFactoryBean
java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean<Object>
org.springframework.beans.factory.serviceloader.AbstractServiceLoaderBasedFactoryBean
- All Implemented Interfaces:
Aware,BeanClassLoaderAware,BeanFactoryAware,DisposableBean,FactoryBean<Object>,InitializingBean
- Direct Known Subclasses:
ServiceFactoryBean,ServiceListFactoryBean,ServiceLoaderFactoryBean
public abstract class AbstractServiceLoaderBasedFactoryBean
extends AbstractFactoryBean<Object>
implements BeanClassLoaderAware
Abstract base class for FactoryBeans operating on the
JDK 1.6
ServiceLoader facility.- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
loggerFields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectDelegates togetObjectToExpose(java.util.ServiceLoader).protected abstract ObjectgetObjectToExpose(ServiceLoader<?> serviceLoader) Determine the actual object to expose for the given ServiceLoader.Class<?>Return the desired service type.voidsetBeanClassLoader(ClassLoader beanClassLoader) Callback that supplies the beanclass loaderto a bean instance.voidsetServiceType(Class<?> serviceType) Specify the desired service type (typically the service's public API).Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
afterPropertiesSet, destroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, getObjectType, isSingleton, setBeanFactory, setSingleton
-
Constructor Details
-
AbstractServiceLoaderBasedFactoryBean
public AbstractServiceLoaderBasedFactoryBean()
-
-
Method Details
-
setServiceType
Specify the desired service type (typically the service's public API). -
getServiceType
Return the desired service type. -
setBeanClassLoader
Description copied from interface:BeanClassLoaderAwareCallback that supplies the beanclass loaderto a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as
InitializingBean'sInitializingBean.afterPropertiesSet()method or a custom init-method.- Specified by:
setBeanClassLoaderin interfaceBeanClassLoaderAware- Overrides:
setBeanClassLoaderin classAbstractFactoryBean<Object>- Parameters:
beanClassLoader- the owning class loader
-
createInstance
Delegates togetObjectToExpose(java.util.ServiceLoader).- Specified by:
createInstancein classAbstractFactoryBean<Object>- Returns:
- the object to expose
- See Also:
-
getObjectToExpose
Determine the actual object to expose for the given ServiceLoader.Left to concrete subclasses.
- Parameters:
serviceLoader- the ServiceLoader for the configured service class- Returns:
- the object to expose
-