public abstract class AbstractPropertyBindingResult extends AbstractBindingResult
BindingResult implementations that work with
Spring's PropertyAccessor mechanism.
Pre-implements field access through delegation to the corresponding
PropertyAccessor methods.getPropertyAccessor(),
PropertyAccessor,
ConfigurablePropertyAccessor,
Serialized FormMODEL_KEY_PREFIXNESTED_PATH_SEPARATOR| Modifier | Constructor and Description |
|---|---|
protected |
AbstractPropertyBindingResult(String objectName)
Create a new AbstractPropertyBindingResult instance.
|
| Modifier and Type | Method and Description |
|---|---|
protected String |
canonicalFieldName(String field)
Returns the canonical property name.
|
PropertyEditor |
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 |
getPropertyAccessor()
Provide the PropertyAccessor to work with, according to the
concrete strategy of access.
|
PropertyEditorRegistry |
getPropertyEditorRegistry()
Returns the underlying PropertyAccessor.
|
void |
initConversion(ConversionService conversionService) |
addAllErrors, addError, equals, getAllErrors, getErrorCount, getFieldError, getFieldError, getFieldErrors, getFieldErrors, getFieldValue, getGlobalError, getGlobalErrors, getMessageCodesResolver, getModel, getObjectName, getRawFieldValue, getSuppressedFields, getTarget, hasErrors, hashCode, recordSuppressedField, reject, rejectValue, resolveMessageCodes, resolveMessageCodes, setMessageCodesResolverdoSetNestedPath, fixedField, getFieldErrorCount, getFieldErrorCount, getGlobalErrorCount, getNestedPath, hasFieldErrors, hasFieldErrors, hasGlobalErrors, isMatchingFieldError, popNestedPath, pushNestedPath, reject, reject, rejectValue, rejectValue, setNestedPath, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetFieldErrorCount, getFieldErrorCount, getGlobalErrorCount, getNestedPath, hasFieldErrors, hasFieldErrors, hasGlobalErrors, popNestedPath, pushNestedPath, reject, reject, rejectValue, rejectValue, setNestedPathprotected AbstractPropertyBindingResult(String objectName)
objectName - the name of the target objectDefaultMessageCodesResolverpublic void initConversion(ConversionService conversionService)
public PropertyEditorRegistry getPropertyEditorRegistry()
getPropertyEditorRegistry in interface BindingResultgetPropertyEditorRegistry in class AbstractBindingResultnull if none
available for this BindingResultgetPropertyAccessor()protected String canonicalFieldName(String field)
canonicalFieldName in class AbstractErrorsfield - the original field namePropertyAccessorUtils.canonicalPropertyName(java.lang.String)public Class<?> getFieldType(String field)
getFieldType in interface ErrorsgetFieldType in class AbstractBindingResultfield - the field namenull if not determinablegetPropertyAccessor()protected Object getActualFieldValue(String field)
getActualFieldValue in class AbstractBindingResultfield - the field to checkgetPropertyAccessor()protected Object formatFieldValue(String field, Object value)
formatFieldValue in class AbstractBindingResultfield - the field to checkvalue - the value of the field (either a rejected value
other than from a binding error, or an actual field value)getCustomEditor(java.lang.String)protected PropertyEditor getCustomEditor(String fixedField)
fixedField - the fully qualified field namenullpublic PropertyEditor findEditor(String field, Class<?> valueType)
findEditor in interface BindingResultfindEditor in class AbstractBindingResultfield - the path of the property (name or nested path), or
null if looking for an editor for all properties of the given typevalueType - the type of the property (can be null if a property
is given but should be specified in any case for consistency checking)null if nonepublic abstract ConfigurablePropertyAccessor getPropertyAccessor()
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.