com.interface21.validation
Class BindException

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--com.interface21.validation.BindException
All Implemented Interfaces:
Errors, java.io.Serializable
Direct Known Subclasses:
DataBinder

public class BindException
extends java.lang.Exception
implements Errors

Default implementation of the Errors interface, supporting registration and evaluation of binding errors. Slightly unusual, as it _is_ an exception.

This is mainly a framework-internal class. Normally, application code will work with the Errors interface.

Supports exporting a model, suitable for example for web MVC. Thus, it is sometimes used as parameter type instead of the Errors interface itself - if extracting the model makes sense in the respective context.

Author:
Rod Johnson, Juergen Hoeller
See Also:
getModel(), Serialized Form

Field Summary
static java.lang.String ERROR_KEY_PREFIX
          Prefix for the name of the Errors instance in a model, followed by the object name.
 
Constructor Summary
BindException(java.lang.Object target, java.lang.String name)
          Create a new BindException instance.
 
Method Summary
protected  void addFieldError(FieldError fe)
          Add a FieldError to the errors list.
 java.util.List getAllErrors()
          Get all errors, both global and field ones.
protected  BeanWrapper getBeanWrapper()
          Return the BeanWrapper that this instance uses.
 int getErrorCount()
          Return the total number of errors.
 FieldError getFieldError(java.lang.String field)
          Get the first error associated with the given field, if any.
 int getFieldErrorCount(java.lang.String field)
          Return the number of errors associated with the given field.
 java.util.List getFieldErrors(java.lang.String field)
          Get all errors associated with the given field.
 java.lang.Object getFieldValue(java.lang.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.
 java.util.List getGlobalErrors()
          Get all global errors.
 java.lang.String getMessage()
          Returns diagnostic information about the errors held in this object.
 java.util.Map getModel()
          Return a model Map for the contained state, exposing an Errors instance as ERROR_KEY_PREFIX + object name, and the object itself.
 java.lang.String getObjectName()
          Return the name of the bound object.
 java.lang.Object getTarget()
          Return the wrapped target object.
 boolean hasErrors()
          Return if there were any errors.
 boolean hasFieldErrors(java.lang.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 reject(java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage)
          Reject the current object, using the given error description.
 void rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage)
          Reject the given field of the current object, using the given error description.
 void setNestedPath(java.lang.String nestedPath)
          Allow context to be changed so that standard validators can validate subtrees.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, printStackTrace, printStackTrace, printStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ERROR_KEY_PREFIX

public static final java.lang.String ERROR_KEY_PREFIX
Prefix for the name of the Errors instance in a model, followed by the object name.
Constructor Detail

BindException

public BindException(java.lang.Object target,
                     java.lang.String name)
Create a new BindException instance.
Parameters:
target - target object to bind onto
name - name of the target object
Method Detail

getBeanWrapper

protected BeanWrapper getBeanWrapper()
Return the BeanWrapper that this instance uses.

addFieldError

protected void addFieldError(FieldError fe)
Add a FieldError to the errors list. Intended to be used by subclasses like DataBinder.

getTarget

public java.lang.Object getTarget()
Return the wrapped target object.

getObjectName

public java.lang.String getObjectName()
Description copied from interface: Errors
Return the name of the bound object.
Specified by:
getObjectName in interface Errors

reject

public void reject(java.lang.String errorCode,
                   java.lang.Object[] errorArgs,
                   java.lang.String defaultMessage)
Description copied from interface: Errors
Reject the current object, using the given error description.
Specified by:
reject in interface Errors
Following copied from interface: com.interface21.validation.Errors
Parameters:
errorCode - error code, interpretable as message key
errorArgs - error arguments, for argument binding via MessageFormat
defaultMessage - fallback default message

rejectValue

public void rejectValue(java.lang.String field,
                        java.lang.String errorCode,
                        java.lang.Object[] errorArgs,
                        java.lang.String defaultMessage)
Description copied from interface: Errors
Reject the given field of the current object, using the given error description.
Specified by:
rejectValue in interface Errors
Following copied from interface: com.interface21.validation.Errors
Parameters:
field - field name
errorCode - error code, interpretable as message key
errorArgs - error arguments, for argument binding via MessageFormat
defaultMessage - fallback default message

hasErrors

public boolean hasErrors()
Description copied from interface: Errors
Return if there were any errors.
Specified by:
hasErrors in interface Errors

getErrorCount

public int getErrorCount()
Description copied from interface: Errors
Return the total number of errors.
Specified by:
getErrorCount in interface Errors

getAllErrors

public java.util.List getAllErrors()
Description copied from interface: Errors
Get all errors, both global and field ones.
Specified by:
getAllErrors in interface Errors
Following copied from interface: com.interface21.validation.Errors
Returns:
List of ObjectError instances

hasGlobalErrors

public boolean hasGlobalErrors()
Description copied from interface: Errors
Return if there were any global (i.e. not field-specific) errors.
Specified by:
hasGlobalErrors in interface Errors

getGlobalErrorCount

public int getGlobalErrorCount()
Description copied from interface: Errors
Return the number of global (i.e. not field-specific) errors.
Specified by:
getGlobalErrorCount in interface Errors

getGlobalErrors

public java.util.List getGlobalErrors()
Description copied from interface: Errors
Get all global errors.
Specified by:
getGlobalErrors in interface Errors
Following copied from interface: com.interface21.validation.Errors
Returns:
List of ObjectError instances

getGlobalError

public ObjectError getGlobalError()
Description copied from interface: Errors
Get the first global error, if any.
Specified by:
getGlobalError in interface Errors
Following copied from interface: com.interface21.validation.Errors
Returns:
the global error, or null

hasFieldErrors

public boolean hasFieldErrors(java.lang.String field)
Description copied from interface: Errors
Return if there are any errors associated with the given field.
Specified by:
hasFieldErrors in interface Errors
Following copied from interface: com.interface21.validation.Errors
Parameters:
field - field name
Returns:
if there were any errors associated with the given field

getFieldErrorCount

public int getFieldErrorCount(java.lang.String field)
Description copied from interface: Errors
Return the number of errors associated with the given field.
Specified by:
getFieldErrorCount in interface Errors
Following copied from interface: com.interface21.validation.Errors
Parameters:
field - field name
Returns:
the number of errors associated with the given field

getFieldErrors

public java.util.List getFieldErrors(java.lang.String field)
Description copied from interface: Errors
Get all errors associated with the given field.
Specified by:
getFieldErrors in interface Errors
Following copied from interface: com.interface21.validation.Errors
Parameters:
field - field name
Returns:
List of FieldError instances

getFieldError

public FieldError getFieldError(java.lang.String field)
Description copied from interface: Errors
Get the first error associated with the given field, if any.
Specified by:
getFieldError in interface Errors
Following copied from interface: com.interface21.validation.Errors
Returns:
the field-specific error, or null

getFieldValue

public java.lang.Object getFieldValue(java.lang.String field)
Description copied from interface: Errors
Return the current value of the given field, either the current bean property value or a rejected update from the last binding. Allows for convenient access to user-specified field values, even if there were type mismatches.
Specified by:
getFieldValue in interface Errors
Following copied from interface: com.interface21.validation.Errors
Parameters:
field - field name
Returns:
the current value of the given field

setNestedPath

public void setNestedPath(java.lang.String nestedPath)
Description copied from interface: Errors
Allow context to be changed so that standard validators can validate subtrees. Reject calls prepend the given nested path to the field names.

For example, an address validator could validate the subobject address of a customer object.

Specified by:
setNestedPath in interface Errors
Following copied from interface: com.interface21.validation.Errors
Parameters:
nestedPath - nested path within this object, e.g. "address" (defaults to "", null is also acceptable)

getModel

public final java.util.Map getModel()
Return a model Map for the contained state, exposing an Errors instance as ERROR_KEY_PREFIX + object name, and the object itself.
See Also:
ERROR_KEY_PREFIX

getMessage

public java.lang.String getMessage()
Returns diagnostic information about the errors held in this object.
Overrides:
getMessage in class java.lang.Throwable


Rod Johnson and Spring contributors 2001-2003.