Package org.springframework.beans.factory.serviceloader

# Class ServiceListFactoryBean

java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean<Object>
org.springframework.beans.factory.serviceloader.AbstractServiceLoaderBasedFactoryBean
org.springframework.beans.factory.serviceloader.ServiceListFactoryBean

All Implemented Interfaces:
  `Aware`, `BeanClassLoaderAware`, `BeanFactoryAware`, `DisposableBean`, `FactoryBean<Object>`, `InitializingBean`

public class ServiceListFactoryBean extends AbstractServiceLoaderBasedFactoryBean implements BeanClassLoaderAware
`FactoryBean` that exposes all services for the configured service class, represented as a List of service objects, obtained through the JDK 1.6 `ServiceLoader` facility.

Since:
  2.5
Author:
  Juergen Hoeller
See Also:
  - `ServiceLoader`

## Field Summary

### Fields inherited from class org.springframework.beans.factory.config.AbstractFactoryBean

`logger`

### Fields inherited from interface org.springframework.beans.factory.FactoryBean

`OBJECT_TYPE_ATTRIBUTE`

## Constructor Summary

Constructors
Constructor
Description
`ServiceListFactoryBean()`

## Method Summary

Modifier and Type
Method
Description
`protected Object`
`getObjectToExpose(ServiceLoader<?> serviceLoader)`
Determine the actual object to expose for the given ServiceLoader.
`Class<?>`
`getObjectType()`
This abstract method declaration mirrors the method in the FactoryBean interface, for a consistent offering of abstract template methods.

### Methods inherited from class org.springframework.beans.factory.serviceloader.AbstractServiceLoaderBasedFactoryBean

`createInstance, getServiceType, setBeanClassLoader, setServiceType`

### Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBean

`afterPropertiesSet, destroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanFactory, setSingleton`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.springframework.beans.factory.BeanClassLoaderAware

`setBeanClassLoader`

## Constructor Details

### ServiceListFactoryBean

public ServiceListFactoryBean()

## Method Details

### getObjectToExpose

protected Object getObjectToExpose(ServiceLoader<?> serviceLoader)
Description copied from class: `AbstractServiceLoaderBasedFactoryBean`
Determine the actual object to expose for the given ServiceLoader.

Left to concrete subclasses.

Specified by:
  `getObjectToExpose` in class `AbstractServiceLoaderBasedFactoryBean`
Parameters:
  `serviceLoader` - the ServiceLoader for the configured service class
Returns:
  the object to expose

### getObjectType

public Class<?> getObjectType()
Description copied from class: `AbstractFactoryBean`
This abstract method declaration mirrors the method in the FactoryBean interface, for a consistent offering of abstract template methods.

Specified by:
  `getObjectType` in interface `FactoryBean<Object>`
Specified by:
  `getObjectType` in class `AbstractFactoryBean<Object>`
Returns:
  the type of object that this FactoryBean creates, or `null` if not known at the time of the call
See Also:
  - `FactoryBean.getObjectType()`