Package org.springframework.validation
Class AbstractPropertyBindingResult
java.lang.Object
org.springframework.validation.AbstractErrors
org.springframework.validation.AbstractBindingResult
org.springframework.validation.AbstractPropertyBindingResult
- All Implemented Interfaces:
Serializable
,BindingResult
,Errors
- Direct Known Subclasses:
BeanPropertyBindingResult
,DirectFieldBindingResult
Abstract base class for
BindingResult
implementations that work with
Spring's PropertyAccessor
mechanism.
Pre-implements field access through delegation to the corresponding
PropertyAccessor methods.- Since:
- 2.0
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from interface org.springframework.validation.BindingResult
MODEL_KEY_PREFIX
Fields inherited from interface org.springframework.validation.Errors
NESTED_PATH_SEPARATOR
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractPropertyBindingResult
(String objectName) Create a new AbstractPropertyBindingResult instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected String
canonicalFieldName
(String field) Returns the canonical property name.findEditor
(String field, Class<?> valueType) This implementation exposes a PropertyEditor adapter for a Formatter, if applicable.protected Object
formatFieldValue
(String field, Object value) Formats the field value based on registered PropertyEditors.protected Object
getActualFieldValue
(String field) Fetches the field value from the PropertyAccessor.protected PropertyEditor
getCustomEditor
(String fixedField) Retrieve the custom PropertyEditor for the given field, if any.Class<?>
getFieldType
(String field) Determines the field type from the property type.abstract ConfigurablePropertyAccessor
Provide the PropertyAccessor to work with, according to the concrete strategy of access.Returns the underlying PropertyAccessor.void
initConversion
(ConversionService conversionService) Methods inherited from class org.springframework.validation.AbstractBindingResult
addAllErrors, addError, equals, getAllErrors, getErrorCount, getFieldError, getFieldError, getFieldErrors, getFieldErrors, getFieldValue, getGlobalError, getGlobalErrors, getMessageCodesResolver, getModel, getObjectName, getRawFieldValue, getSuppressedFields, getTarget, hasErrors, hashCode, recordFieldValue, recordSuppressedField, reject, rejectValue, resolveMessageCodes, resolveMessageCodes, setMessageCodesResolver
Methods inherited from class org.springframework.validation.AbstractErrors
doSetNestedPath, fixedField, getNestedPath, isMatchingFieldError, popNestedPath, pushNestedPath, setNestedPath, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.validation.Errors
failOnError, getFieldErrorCount, getFieldErrorCount, getGlobalErrorCount, getNestedPath, hasFieldErrors, hasFieldErrors, hasGlobalErrors, popNestedPath, pushNestedPath, reject, reject, rejectValue, rejectValue, setNestedPath, toString
-
Constructor Details
-
AbstractPropertyBindingResult
Create a new AbstractPropertyBindingResult instance.- Parameters:
objectName
- the name of the target object- See Also:
-
-
Method Details
-
initConversion
-
getPropertyEditorRegistry
Returns the underlying PropertyAccessor.- Specified by:
getPropertyEditorRegistry
in interfaceBindingResult
- Overrides:
getPropertyEditorRegistry
in classAbstractBindingResult
- Returns:
- the PropertyEditorRegistry, or
null
if none available for this BindingResult - See Also:
-
canonicalFieldName
Returns the canonical property name.- Overrides:
canonicalFieldName
in classAbstractErrors
- Parameters:
field
- the original field name- Returns:
- the canonical field name
- See Also:
-
getFieldType
Determines the field type from the property type.- Specified by:
getFieldType
in interfaceErrors
- Overrides:
getFieldType
in classAbstractBindingResult
- Parameters:
field
- the field name- Returns:
- the type of the field, or
null
if not determinable - See Also:
-
getActualFieldValue
Fetches the field value from the PropertyAccessor.- Specified by:
getActualFieldValue
in classAbstractBindingResult
- Parameters:
field
- the field to check- Returns:
- the current value of the field
- See Also:
-
formatFieldValue
Formats the field value based on registered PropertyEditors.- Overrides:
formatFieldValue
in classAbstractBindingResult
- Parameters:
field
- the field to checkvalue
- the value of the field (either a rejected value other than from a binding error, or an actual field value)- Returns:
- the formatted value
- See Also:
-
getCustomEditor
Retrieve the custom PropertyEditor for the given field, if any.- Parameters:
fixedField
- the fully qualified field name- Returns:
- the custom PropertyEditor, or
null
-
findEditor
This implementation exposes a PropertyEditor adapter for a Formatter, if applicable.- Specified by:
findEditor
in interfaceBindingResult
- Overrides:
findEditor
in classAbstractBindingResult
- Parameters:
field
- the path of the property (name or nested path), ornull
if looking for an editor for all properties of the given typevalueType
- the type of the property (can benull
if a property is given but should be specified in any case for consistency checking)- Returns:
- the registered editor, or
null
if none
-
getPropertyAccessor
Provide the PropertyAccessor to work with, according to the concrete strategy of access.Note that a PropertyAccessor used by a BindingResult should always have its "extractOldValueForEditor" flag set to "true" by default, since this is typically possible without side effects for model objects that serve as data binding target.
-