public abstract class AbstractServiceLoaderBasedFactoryBean extends AbstractFactoryBean<Object> implements BeanClassLoaderAware
ServiceLoader facility.ServiceLoaderlogger| Constructor and Description |
|---|
AbstractServiceLoaderBasedFactoryBean() |
| Modifier and Type | Method and Description |
|---|---|
protected Object |
createInstance()
Delegates to
getObjectToExpose(java.util.ServiceLoader). |
protected abstract Object |
getObjectToExpose(ServiceLoader<?> serviceLoader)
Determine the actual object to expose for the given ServiceLoader.
|
Class<?> |
getServiceType()
Return the desired service type.
|
void |
setBeanClassLoader(ClassLoader beanClassLoader)
Callback that supplies the bean
class loader to
a bean instance. |
void |
setServiceType(Class<?> serviceType)
Specify the desired service type (typically the service's public API).
|
afterPropertiesSet, destroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, getObjectType, isSingleton, setBeanFactory, setSingletonpublic AbstractServiceLoaderBasedFactoryBean()
public void setServiceType(Class<?> serviceType)
public Class<?> getServiceType()
public void setBeanClassLoader(ClassLoader beanClassLoader)
BeanClassLoaderAwareclass loader to
a bean instance.
Invoked after the population of normal bean properties but
before an initialization callback such as
InitializingBean's
InitializingBean.afterPropertiesSet()
method or a custom init-method.
setBeanClassLoader in interface BeanClassLoaderAwaresetBeanClassLoader in class AbstractFactoryBean<Object>beanClassLoader - the owning class loader; may be null in
which case a default ClassLoader must be used, for example
the ClassLoader obtained via
ClassUtils.getDefaultClassLoader()protected Object createInstance()
getObjectToExpose(java.util.ServiceLoader).createInstance in class AbstractFactoryBean<Object>AbstractFactoryBean.getObject()protected abstract Object getObjectToExpose(ServiceLoader<?> serviceLoader)
Left to concrete subclasses.
serviceLoader - the ServiceLoader for the configured service class