org.springframework.beans.factory.config

## Class SetFactoryBean

- java.lang.Object
- - org.springframework.beans.factory.config.AbstractFactoryBean<Set>
  - - org.springframework.beans.factory.config.SetFactoryBean

- All Implemented Interfaces:
    Aware, BeanClassLoaderAware, BeanFactoryAware, DisposableBean, FactoryBean<Set>, InitializingBean

      public class SetFactoryBean
      extends AbstractFactoryBean<Set>

  Simple factory for shared Set instances. Allows for central setup of Sets via the "set" element in XML bean definitions.
  Since:
    09.12.2003
  Author:
    Juergen Hoeller
  See Also:
    `ListFactoryBean`, `MapFactoryBean`

- - ### Field Summary

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

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SetFactoryBean()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Set` | `createInstance()` Template method that subclasses must override to construct the object returned by this factory.
    `Class<Set>` | `getObjectType()` This abstract method declaration mirrors the method in the FactoryBean interface, for a consistent offering of abstract template methods.
    `void` | `setSourceSet(Set sourceSet)` Set the source Set, typically populated via XML "set" elements.
    `void` | `setTargetSetClass(Class targetSetClass)` Set the class to use for the target Set.

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

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

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

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

- - ### Constructor Detail

    - #### SetFactoryBean

          public SetFactoryBean()

  - ### Method Detail

    - #### setSourceSet

          public void setSourceSet(Set sourceSet)

      Set the source Set, typically populated via XML "set" elements.

    - #### setTargetSetClass

          public void setTargetSetClass(Class targetSetClass)

      Set the class to use for the target Set. Can be populated with a fully qualified class name when defined in a Spring application context.

      Default is a linked HashSet, keeping the registration order.

      See Also:
        `LinkedHashSet`

    - #### getObjectType

          public Class<Set> 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<Set>`
      Specified by:
        `getObjectType` in class `AbstractFactoryBean<Set>`
      Returns:
        the type of object that this FactoryBean creates, or `null` if not known at the time of the call
      See Also:
        `FactoryBean.getObjectType()`

    - #### createInstance

          protected Set createInstance()

      Description copied from class: `AbstractFactoryBean`
      Template method that subclasses must override to construct the object returned by this factory.

      Invoked on initialization of this FactoryBean in case of a singleton; else, on each `AbstractFactoryBean.getObject()` call.

      Specified by:
        `createInstance` in class `AbstractFactoryBean<Set>`
      Returns:
        the object returned by this factory
      See Also:
        `AbstractFactoryBean.getObject()`