org.springframework.web.bind.support
Class DefaultDataBinderFactory

java.lang.Object
  extended by org.springframework.web.bind.support.DefaultDataBinderFactory
All Implemented Interfaces:
WebDataBinderFactory
Direct Known Subclasses:
InitBinderDataBinderFactory

public class DefaultDataBinderFactory
extends Object
implements WebDataBinderFactory

Create a WebRequestDataBinder instance and initialize it with a WebBindingInitializer.

Since:
3.1
Author:
Rossen Stoyanchev

Constructor Summary
DefaultDataBinderFactory(WebBindingInitializer initializer)
          Create new instance.
 
Method Summary
 WebDataBinder createBinder(NativeWebRequest webRequest, Object target, String objectName)
          Create a new WebDataBinder for the given target object and initialize it through a WebBindingInitializer.
protected  WebDataBinder createBinderInstance(Object target, String objectName, NativeWebRequest webRequest)
          Extension point to create the WebDataBinder instance.
protected  void initBinder(WebDataBinder dataBinder, NativeWebRequest webRequest)
          Extension point to further initialize the created data binder instance (e.g.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultDataBinderFactory

public DefaultDataBinderFactory(WebBindingInitializer initializer)
Create new instance.

Parameters:
initializer - for global data binder intialization, or null
Method Detail

createBinder

public final WebDataBinder createBinder(NativeWebRequest webRequest,
                                        Object target,
                                        String objectName)
                                 throws Exception
Create a new WebDataBinder for the given target object and initialize it through a WebBindingInitializer.

Specified by:
createBinder in interface WebDataBinderFactory
Parameters:
webRequest - the current request
target - the object to create a data binder for, or null if creating a binder for a simple type
objectName - the name of the target object
Returns:
the created WebDataBinder instance, never null
Throws:
Exception - in case of invalid state or arguments

createBinderInstance

protected WebDataBinder createBinderInstance(Object target,
                                             String objectName,
                                             NativeWebRequest webRequest)
                                      throws Exception
Extension point to create the WebDataBinder instance. By default this is WebRequestDataBinder.

Parameters:
target - the binding target or null for type conversion only
objectName - the binding target object name
webRequest - the current request
Throws:
Exception - in case of invalid state or arguments

initBinder

protected void initBinder(WebDataBinder dataBinder,
                          NativeWebRequest webRequest)
                   throws Exception
Extension point to further initialize the created data binder instance (e.g. with @InitBinder methods) after "global" initializaton via WebBindingInitializer.

Parameters:
dataBinder - the data binder instance to customize
webRequest - the current request
Throws:
Exception - if initialization fails