|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Errors
Stores and exposes information about data-binding and validation 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(String)
: for example, 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
,
ValidationUtils
Field Summary | |
---|---|
static String |
NESTED_PATH_SEPARATOR
The separator between path elements in a nested path, for example 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 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 root object. |
boolean |
hasErrors()
Return if there were any errors. |
boolean |
hasFieldErrors(String field)
Are there any errors associated with the given field? |
boolean |
hasGlobalErrors()
Are there any global 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)
Register a global error for the entire target object, using the given error description. |
void |
reject(String errorCode,
Object[] errorArgs,
String defaultMessage)
Register a global error for the entire target object, using the given error description. |
void |
reject(String errorCode,
String defaultMessage)
Register a global error for the entire target object, using the given error description. |
void |
rejectValue(String field,
String errorCode)
Register a field error for the specified field of the current object (respecting the current nested path, if any), using the given error description. |
void |
rejectValue(String field,
String errorCode,
Object[] errorArgs,
String defaultMessage)
Register a field error for the specified field of the current object (respecting the current nested path, if any), using the given error description. |
void |
rejectValue(String field,
String errorCode,
String defaultMessage)
Register a field error for the specified field of the current object (respecting the current nested path, if any), 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
"." = same as the
nested property separator
in the beans package.
Method 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()
Errors
object.
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)
A popNestedPath()
call will reset the original
nested path before the corresponding
pushNestedPath(String)
call.
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 a message keyvoid reject(String errorCode, String defaultMessage)
errorCode
- error code, interpretable as a message keydefaultMessage
- fallback default messagevoid reject(String errorCode, Object[] errorArgs, String defaultMessage)
errorCode
- error code, interpretable as a message keyerrorArgs
- error arguments, for argument binding via MessageFormat
(can be null
)defaultMessage
- fallback default messagevoid rejectValue(String field, String errorCode)
The field name may be null
or empty String to indicate
the current object itself rather than a field of it. This may result
in a corresponding field error within the nested object graph or a
global error if the current object is the top object.
field
- the field name (may be null
or empty String)errorCode
- error code, interpretable as a message keygetNestedPath()
void rejectValue(String field, String errorCode, String defaultMessage)
The field name may be null
or empty String to indicate
the current object itself rather than a field of it. This may result
in a corresponding field error within the nested object graph or a
global error if the current object is the top object.
field
- the field name (may be null
or empty String)errorCode
- error code, interpretable as a message keydefaultMessage
- fallback default messagegetNestedPath()
void rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage)
The field name may be null
or empty String to indicate
the current object itself rather than a field of it. This may result
in a corresponding field error within the nested object graph or a
global error if the current object is the top object.
field
- the field name (may be null
or empty String)errorCode
- error code, interpretable as a message keyerrorArgs
- error arguments, for argument binding via MessageFormat
(can be null
)defaultMessage
- fallback default messagegetNestedPath()
void addAllErrors(Errors errors)
Errors
instance to this
Errors
instance.
This is a onvenience 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()
ObjectError
instancesboolean hasGlobalErrors()
true
if there are any global errorsint getGlobalErrorCount()
List getGlobalErrors()
ObjectError getGlobalError()
null
boolean hasFieldErrors(String field)
field
- the field name
true
if there were any errors associated with the given fieldint getFieldErrorCount(String field)
field
- the field name
List getFieldErrors(String field)
Implementations should support not only full field names like "name" but also pattern matches like "na*" or "address.*".
field
- the field name
FieldError
instancesFieldError 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 |