org.springframework.web.bind.support
Class ConfigurableWebBindingInitializer

java.lang.Object
  extended by org.springframework.web.bind.support.ConfigurableWebBindingInitializer
All Implemented Interfaces:
WebBindingInitializer

public class ConfigurableWebBindingInitializer
extends Object
implements WebBindingInitializer

Convenient WebBindingInitializer for declarative configuration in a Spring application context. Allows for reusing pre-configured initializers with multiple controller/handlers.

Since:
2.5
Author:
Juergen Hoeller
See Also:
setDirectFieldAccess(boolean), setMessageCodesResolver(org.springframework.validation.MessageCodesResolver), setBindingErrorProcessor(org.springframework.validation.BindingErrorProcessor), setValidator(Validator), setConversionService(ConversionService), setPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar)

Constructor Summary
ConfigurableWebBindingInitializer()
           
 
Method Summary
 BindingErrorProcessor getBindingErrorProcessor()
          Return the strategy to use for processing binding errors.
 ConversionService getConversionService()
          Return the ConversionService which will apply to every DataBinder.
 MessageCodesResolver getMessageCodesResolver()
          Return the strategy to use for resolving errors into message codes.
 PropertyEditorRegistrar[] getPropertyEditorRegistrars()
          Return the PropertyEditorRegistrars to be applied to every DataBinder.
 Validator getValidator()
          Return the Validator to apply after each binding step, if any.
 void initBinder(WebDataBinder binder, WebRequest request)
          Initialize the given DataBinder for the given request.
 boolean isAutoGrowNestedPaths()
          Return whether a binder should attempt to "auto-grow" a nested path that contains a null value.
 boolean isDirectFieldAccess()
          Return whether to use direct field access instead of bean property access.
 void setAutoGrowNestedPaths(boolean autoGrowNestedPaths)
          Set whether a binder should attempt to "auto-grow" a nested path that contains a null value.
 void setBindingErrorProcessor(BindingErrorProcessor bindingErrorProcessor)
          Set the strategy to use for processing binding errors, that is, required field errors and PropertyAccessExceptions.
 void setConversionService(ConversionService conversionService)
          Specify a ConversionService which will apply to every DataBinder.
 void setDirectFieldAccess(boolean directFieldAccess)
          Set whether to use direct field access instead of bean property access.
 void setMessageCodesResolver(MessageCodesResolver messageCodesResolver)
          Set the strategy to use for resolving errors into message codes.
 void setPropertyEditorRegistrar(PropertyEditorRegistrar propertyEditorRegistrar)
          Specify a single PropertyEditorRegistrar to be applied to every DataBinder.
 void setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars)
          Specify multiple PropertyEditorRegistrars to be applied to every DataBinder.
 void setValidator(Validator validator)
          Set the Validator to apply after each binding step.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConfigurableWebBindingInitializer

public ConfigurableWebBindingInitializer()
Method Detail

setAutoGrowNestedPaths

public void setAutoGrowNestedPaths(boolean autoGrowNestedPaths)
Set whether a binder should attempt to "auto-grow" a nested path that contains a null value.

If "true", a null path location will be populated with a default object value and traversed instead of resulting in an exception. This flag also enables auto-growth of collection elements when accessing an out-of-bounds index.

Default is "true" on a standard DataBinder. Note that this feature is only supported for bean property access (DataBinder's default mode), not for field access.

See Also:
#initBeanPropertyAccess(), DataBinder.setAutoGrowNestedPaths(boolean)

isAutoGrowNestedPaths

public boolean isAutoGrowNestedPaths()
Return whether a binder should attempt to "auto-grow" a nested path that contains a null value.


setDirectFieldAccess

public final void setDirectFieldAccess(boolean directFieldAccess)
Set whether to use direct field access instead of bean property access.

Default is false, using bean property access. Switch this to true in order to enforce direct field access.

See Also:
DataBinder.initDirectFieldAccess(), DataBinder.initBeanPropertyAccess()

isDirectFieldAccess

public boolean isDirectFieldAccess()
Return whether to use direct field access instead of bean property access.


setMessageCodesResolver

public final void setMessageCodesResolver(MessageCodesResolver messageCodesResolver)
Set the strategy to use for resolving errors into message codes. Applies the given strategy to all data binders used by this controller.

Default is null, i.e. using the default strategy of the data binder.

See Also:
DataBinder.setMessageCodesResolver(org.springframework.validation.MessageCodesResolver)

getMessageCodesResolver

public final MessageCodesResolver getMessageCodesResolver()
Return the strategy to use for resolving errors into message codes.


setBindingErrorProcessor

public final void setBindingErrorProcessor(BindingErrorProcessor bindingErrorProcessor)
Set the strategy to use for processing binding errors, that is, required field errors and PropertyAccessExceptions.

Default is null, that is, using the default strategy of the data binder.

See Also:
DataBinder.setBindingErrorProcessor(org.springframework.validation.BindingErrorProcessor)

getBindingErrorProcessor

public final BindingErrorProcessor getBindingErrorProcessor()
Return the strategy to use for processing binding errors.


setValidator

public final void setValidator(Validator validator)
Set the Validator to apply after each binding step.


getValidator

public final Validator getValidator()
Return the Validator to apply after each binding step, if any.


setConversionService

public final void setConversionService(ConversionService conversionService)
Specify a ConversionService which will apply to every DataBinder.

Since:
3.0

getConversionService

public final ConversionService getConversionService()
Return the ConversionService which will apply to every DataBinder.


setPropertyEditorRegistrar

public final void setPropertyEditorRegistrar(PropertyEditorRegistrar propertyEditorRegistrar)
Specify a single PropertyEditorRegistrar to be applied to every DataBinder.


setPropertyEditorRegistrars

public final void setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars)
Specify multiple PropertyEditorRegistrars to be applied to every DataBinder.


getPropertyEditorRegistrars

public final PropertyEditorRegistrar[] getPropertyEditorRegistrars()
Return the PropertyEditorRegistrars to be applied to every DataBinder.


initBinder

public void initBinder(WebDataBinder binder,
                       WebRequest request)
Description copied from interface: WebBindingInitializer
Initialize the given DataBinder for the given request.

Specified by:
initBinder in interface WebBindingInitializer
Parameters:
binder - the DataBinder to initialize
request - the web request that the data binding happens within