public class ConfigurableWebBindingInitializer extends java.lang.Object implements WebBindingInitializer
WebBindingInitializer
for declarative configuration
in a Spring application context. Allows for reusing pre-configured
initializers with multiple controller/handlers.setDirectFieldAccess(boolean)
,
setMessageCodesResolver(org.springframework.validation.MessageCodesResolver)
,
setBindingErrorProcessor(org.springframework.validation.BindingErrorProcessor)
,
setValidator(Validator)
,
setConversionService(ConversionService)
,
setPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar)
Modifier and Type | Field and Description |
---|---|
private boolean |
autoGrowNestedPaths |
private BindingErrorProcessor |
bindingErrorProcessor |
private ConversionService |
conversionService |
private boolean |
directFieldAccess |
private MessageCodesResolver |
messageCodesResolver |
private PropertyEditorRegistrar[] |
propertyEditorRegistrars |
private Validator |
validator |
Constructor and Description |
---|
ConfigurableWebBindingInitializer() |
Modifier and Type | Method and Description |
---|---|
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
PropertyAccessException s. |
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.
|
private boolean autoGrowNestedPaths
private boolean directFieldAccess
private MessageCodesResolver messageCodesResolver
private BindingErrorProcessor bindingErrorProcessor
private Validator validator
private ConversionService conversionService
private PropertyEditorRegistrar[] propertyEditorRegistrars
public void setAutoGrowNestedPaths(boolean autoGrowNestedPaths)
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.
public boolean isAutoGrowNestedPaths()
public final void setDirectFieldAccess(boolean directFieldAccess)
Default is false
, using bean property access.
Switch this to true
in order to enforce direct field access.
public boolean isDirectFieldAccess()
public final void setMessageCodesResolver(MessageCodesResolver messageCodesResolver)
Default is null
, i.e. using the default strategy of
the data binder.
public final MessageCodesResolver getMessageCodesResolver()
public final void setBindingErrorProcessor(BindingErrorProcessor bindingErrorProcessor)
PropertyAccessException
s.
Default is null
, that is, using the default strategy
of the data binder.
public final BindingErrorProcessor getBindingErrorProcessor()
public final void setValidator(Validator validator)
public final Validator getValidator()
public final void setConversionService(ConversionService conversionService)
public final ConversionService getConversionService()
public final void setPropertyEditorRegistrar(PropertyEditorRegistrar propertyEditorRegistrar)
public final void setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars)
public final PropertyEditorRegistrar[] getPropertyEditorRegistrars()
public void initBinder(WebDataBinder binder, WebRequest request)
WebBindingInitializer
initBinder
in interface WebBindingInitializer
binder
- the DataBinder to initializerequest
- the web request that the data binding happens within