Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

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

All Implemented Interfaces:
  BeanClassLoaderAware, BeanFactoryPostProcessor, Ordered

    public class CustomEditorConfigurer

extends Object
implements BeanFactoryPostProcessor, BeanClassLoaderAware, Ordered

`BeanFactoryPostProcessor` implementation that allows for convenient registration of custom `property editors`.

As of Spring 2.0, the recommended usage is to use custom `PropertyEditorRegistrar` implementations that in turn register any desired editors on a given `registry`. Each PropertyEditorRegistrar can register any number of custom editors.

     <bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
       <property name="propertyEditorRegistrars">
         <list>
           <bean class="mypackage.MyCustomDateEditorRegistrar"/>
           <bean class="mypackage.MyObjectEditorRegistrar"/>
         </list>
       </property>
     </bean>

Alternative configuration example with custom editor instances, assuming inner beans for `PropertyEditor` instances:

     <bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
       <property name="customEditors">
         <map>
           <entry key="java.util.Date">
             <bean class="mypackage.MyCustomDateEditor"/>
           </entry>
           <entry key="mypackage.MyObject">
             <bean id="myEditor" class="mypackage.MyObjectEditor">
               <property name="myParam"><value>myValue</value></property>
             </bean>
           </entry>
         </map>
       </property>
     </bean>

Also supports "java.lang.String[]"-style array class names and primitive class names (e.g. "boolean"). Delegates to `ClassUtils` for actual class name resolution.

NOTE: Custom property editors registered with this configurer do not apply to data binding. Custom editors for data binding need to be registered on the `DataBinder`: Use a common base class or delegate to common PropertyEditorRegistrar implementations to reuse editor registration there.

Since:
  27.02.2004
Author:
  Juergen Hoeller
See Also:
  `PropertyEditor`, `PropertyEditorRegistrar`, `ConfigurableBeanFactory.addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar)`, `ConfigurableBeanFactory.registerCustomEditor(java.lang.Class, java.beans.PropertyEditor)`, `DataBinder.registerCustomEditor(java.lang.Class, java.beans.PropertyEditor)`, `BaseCommandController.setPropertyEditorRegistrars(org.springframework.beans.PropertyEditorRegistrar[])`, `BaseCommandController.initBinder(javax.servlet.http.HttpServletRequest, org.springframework.web.bind.ServletRequestDataBinder)`

Field Summary

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

Constructor Summary
`CustomEditorConfigurer()`

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` | `setCustomEditors(Map customEditors)` Deprecated. as of Spring 2.0.7, in favor of `setPropertyEditorRegistrars(org.springframework.beans.PropertyEditorRegistrar[])`
`void` | `setOrder(int order)`
`void` | `setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars)` Specify the `PropertyEditorRegistrars` to apply to beans defined within the current application context.

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

Constructor Detail

### CustomEditorConfigurer

    public CustomEditorConfigurer()

Method Detail

### 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`

### setPropertyEditorRegistrars

    public void setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars)

  Specify the `PropertyEditorRegistrars` to apply to beans defined within the current application context.

  This allows for sharing `PropertyEditorRegistrars` with `DataBinders`, etc. Furthermore, it avoids the need for synchronization on custom editors: A `PropertyEditorRegistrar` will always create fresh editor instances for each bean creation attempt.

  See Also:
    `ConfigurableBeanFactory.addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar)`

### setCustomEditors

    public void setCustomEditors(Map customEditors)

  Deprecated. as of Spring 2.0.7, in favor of `setPropertyEditorRegistrars(org.springframework.beans.PropertyEditorRegistrar[])`

  Specify the custom editors to register via a `Map`, using the class name of the required type as the key and the `PropertyEditor` instance as the value.

  Parameters:
    `customEditors` - said `Map` of editors (can be `null`)
  See Also:
    `ConfigurableBeanFactory.registerCustomEditor(java.lang.Class, java.beans.PropertyEditor)`

### 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2007 The Spring Framework.