|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Errors
Interface to be implemented by objects that can store and expose information about data binding errors for a specific object.
Field names can be properties of the target object (e.g. "name" when binding to a customer object), or nested fields in case of subobjects (e.g. "address.street"). Supports subtree navigation via setNestedPath, e.g. an AddressValidator validates "address", not being aware that this is a subobject of customer.
Note: Errors objects are single-threaded.
setNestedPath(java.lang.String)
,
BindException
,
DataBinder
Field Summary | |
---|---|
static String |
NESTED_PATH_SEPARATOR
Separator between path elements in a nested path, e.g. in "customer.name" or "customer.address.street" |
Method Summary | |
---|---|
void |
addAllErrors(Errors errors)
Add all errors from the given Errors instance to this
Errors instance. |
List |
getAllErrors()
Get all errors, both global and field ones. |
int |
getErrorCount()
Return the total number of errors. |
FieldError |
getFieldError(String field)
Get the first error associated with the given field, if any. |
int |
getFieldErrorCount(String field)
Return the number of errors associated with the given field. |
List |
getFieldErrors(String field)
Get all errors associated with the given field. |
Object |
getFieldValue(String field)
Return the current value of the given field, either the current bean property value or a rejected update from the last binding. |
ObjectError |
getGlobalError()
Get the first global error, if any. |
int |
getGlobalErrorCount()
Return the number of global (i.e. not field-specific) errors. |
List |
getGlobalErrors()
Get all global errors. |
String |
getNestedPath()
Return the current nested path of this Errors object. |
String |
getObjectName()
Return the name of the bound object. |
boolean |
hasErrors()
Return if there were any errors. |
boolean |
hasFieldErrors(String field)
Return if there are any errors associated with the given field. |
boolean |
hasGlobalErrors()
Return if there were any global (i.e. not field-specific) errors. |
void |
popNestedPath()
Pop the former nested path from the nested path stack. |
void |
pushNestedPath(String subPath)
Push the given sub path onto the nested path stack. |
void |
reject(String errorCode)
Reject the current object, using the given error description. |
void |
reject(String errorCode,
Object[] errorArgs,
String defaultMessage)
Reject the current object, using the given error description. |
void |
reject(String errorCode,
String defaultMessage)
Reject the current object, using the given error description. |
void |
rejectValue(String field,
String errorCode)
Reject the given field of the current object, using the given error description. |
void |
rejectValue(String field,
String errorCode,
Object[] errorArgs,
String defaultMessage)
Reject the given field of the current object, using the given error description. |
void |
rejectValue(String field,
String errorCode,
String defaultMessage)
Reject the given field of the current object, using the given error description. |
void |
setNestedPath(String nestedPath)
Allow context to be changed so that standard validators can validate subtrees. |
Field Detail |
---|
static final String NESTED_PATH_SEPARATOR
PropertyAccessor.NESTED_PROPERTY_SEPARATOR
,
Constant Field ValuesMethod Detail |
---|
String getObjectName()
void setNestedPath(String nestedPath)
For example, an address validator could validate the subobject "address" of a customer object.
nestedPath
- nested path within this object,
e.g. "address" (defaults to "", null
is also acceptable).
Can end with a dot: both "address" and "address." are valid.String getNestedPath()
Returns a nested path with a dot, i.e. "address.", for easy building of concatenated paths. Default is an empty String.
void pushNestedPath(String subPath)
Using the nested path stack allows to set temporary nested paths for subobjects without having to worry about a temporary path holder.
For example: current path "spouse.", pushNestedPath("child") -> result path "spouse.child."; popNestedPath() -> "spouse." again
subPath
- the sub path to push onto the nested path stackpopNestedPath()
void popNestedPath() throws IllegalStateException
IllegalStateException
- if there is no former nested path on the stackpushNestedPath(java.lang.String)
void reject(String errorCode)
errorCode
- error code, interpretable as message keyvoid reject(String errorCode, String defaultMessage)
errorCode
- error code, interpretable as message keydefaultMessage
- fallback default messagevoid reject(String errorCode, Object[] errorArgs, String defaultMessage)
errorCode
- error code, interpretable as message keyerrorArgs
- error arguments, for argument binding via MessageFormat
(can be null
)defaultMessage
- fallback default messagevoid rejectValue(String field, String errorCode)
field
- the field nameerrorCode
- error code, interpretable as message keyvoid rejectValue(String field, String errorCode, String defaultMessage)
field
- the field nameerrorCode
- error code, interpretable as message keydefaultMessage
- fallback default messagevoid rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage)
field
- the field nameerrorCode
- error code, interpretable as message keyerrorArgs
- error arguments, for argument binding via MessageFormat
(can be null
)defaultMessage
- fallback default messagevoid addAllErrors(Errors errors)
Errors
instance to this
Errors
instance. Convenience method to avoid repeated
reject
calls for merging an Errors
instance
into another Errors
instance.
Note that the passed-in Errors
instance is supposed
to refer to the same target object, or at least contain compatible errors
that apply to the target object of this Errors
instance.
errors
- the Errors
instance to merge inboolean hasErrors()
int getErrorCount()
List getAllErrors()
boolean hasGlobalErrors()
int getGlobalErrorCount()
List getGlobalErrors()
ObjectError getGlobalError()
null
boolean hasFieldErrors(String field)
field
- the field name
int getFieldErrorCount(String field)
field
- the field name
List getFieldErrors(String field)
Should support full field names like "name" but also pattern matches like "na*" or "address.*".
field
- the field name
FieldError getFieldError(String field)
field
- the field name
null
Object getFieldValue(String field)
Allows for convenient access to user-specified field values, even if there were type mismatches.
field
- the field name
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |