The Spring Framework

## org.springframework.beans.factory.config
Class CustomScopeConfigurer

    java.lang.Object
      org.springframework.beans.factory.config.CustomScopeConfigurer

All Implemented Interfaces:
  BeanClassLoaderAware, BeanFactoryPostProcessor, Ordered

    public class CustomScopeConfigurer

extends Object
implements BeanFactoryPostProcessor, BeanClassLoaderAware, Ordered

Simple `BeanFactoryPostProcessor` implementation that registers custom `Scope(s)` with the containing `ConfigurableBeanFactory`.

Will register all of the supplied `scopes` with the `ConfigurableListableBeanFactory` that is passed to the `postProcessBeanFactory(ConfigurableListableBeanFactory)` method.

This class allows for declarative registration of custom scopes. Alternatively, consider implementing a custom `BeanFactoryPostProcessor` that calls `ConfigurableBeanFactory.registerScope(java.lang.String, org.springframework.beans.factory.config.Scope)` programmatically.

Since:
  2.0
Author:
  Juergen Hoeller, Rick Evans
See Also:
  `ConfigurableBeanFactory.registerScope(java.lang.String, org.springframework.beans.factory.config.Scope)`

Field Summary

Fields inherited from interface org.springframework.core.Ordered
`HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

Constructor Summary
`CustomScopeConfigurer()`

Method Summary
`int` `getOrder()` Return the order value of this object, with a higher value meaning greater in terms of sorting.
`void` `postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)` Modify the application context's internal bean factory after its standard initialization.
`void` `setBeanClassLoader(ClassLoader beanClassLoader)` Callback that supplies the bean `class loader` to a bean instance.
`void` `setOrder(int order)`
`void` `setScopes(Map scopes)` Specify the custom scopes that are to be registered.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CustomScopeConfigurer

    public CustomScopeConfigurer()

Method Detail

### setScopes

    public void setScopes(Map scopes)

  Specify the custom scopes that are to be registered.

  The keys indicate the scope names (of type String); each value is expected to be the corresponding custom `Scope` instance or class name.

### setOrder

    public void setOrder(int order)

### getOrder

    public int getOrder()

  Description copied from interface: `Ordered`
  Return the order value of this object, with a higher value meaning greater in terms of sorting.

  Normally starting with 0 or 1, with `Ordered.LOWEST_PRECEDENCE` indicating greatest. Same order values will result in arbitrary positions for the affected objects.

  Higher value can be interpreted as lower priority, consequently the first object has highest priority (somewhat analogous to Servlet "load-on-startup" values).

  Note that order values below 0 are reserved for framework purposes. Application-specified values should always be 0 or greater, with only framework components (internal or third-party) supposed to use lower values.

  Specified by:
    `getOrder` in interface `Ordered`
  Returns:
    the order value
  See Also:
    `Ordered.LOWEST_PRECEDENCE`

### setBeanClassLoader

    public void setBeanClassLoader(ClassLoader beanClassLoader)

  Description copied from interface: `BeanClassLoaderAware`
  Callback that supplies the bean `class 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.

  Specified by:
    `setBeanClassLoader` in interface `BeanClassLoaderAware`
  Parameters:
    `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()`

### postProcessBeanFactory

    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
                                throws BeansException

  Description copied from interface: `BeanFactoryPostProcessor`
  Modify the application context's internal bean factory after its standard initialization. All bean definitions will have been loaded, but no beans will have been instantiated yet. This allows for overriding or adding properties even to eager-initializing beans.

  Specified by:
    `postProcessBeanFactory` in interface `BeanFactoryPostProcessor`
  Parameters:
    `beanFactory` - the bean factory used by the application context
  Throws:
    `BeansException` - in case of errors

The Spring Framework

Copyright © 2002-2008 The Spring Framework.