Class AbstractErrors

java.lang.Object
org.springframework.validation.AbstractErrors
All Implemented Interfaces:
Serializable, Errors
Direct Known Subclasses:
AbstractBindingResult

public abstract class AbstractErrors extends Object implements Errors, Serializable
Abstract implementation of the Errors interface. Provides nested path handling but does not define concrete management of ObjectErrors and FieldErrors.
Since:
2.5.3
Author:
Juergen Hoeller, Rossen Stoyanchev
See Also:
  • Constructor Details

    • AbstractErrors

      public AbstractErrors()
  • Method Details

    • setNestedPath

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

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

      The default implementation throws UnsupportedOperationException since not all Errors implementations support nested paths.

      Specified by:
      setNestedPath in interface Errors
      Parameters:
      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.
      See Also:
    • getNestedPath

      public String getNestedPath()
      Description copied from interface: Errors
      Return the current nested path of this Errors object.

      Returns a nested path with a dot, i.e. "address.", for easy building of concatenated paths. Default is an empty String.

      Specified by:
      getNestedPath in interface Errors
      See Also:
    • pushNestedPath

      public void pushNestedPath(String subPath)
      Description copied from interface: Errors
      Push the given sub path onto the nested path stack.

      A Errors.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.

      The default implementation throws UnsupportedOperationException since not all Errors implementations support nested paths.

      Specified by:
      pushNestedPath in interface Errors
      Parameters:
      subPath - the sub path to push onto the nested path stack
      See Also:
    • popNestedPath

      public void popNestedPath() throws IllegalStateException
      Description copied from interface: Errors
      Pop the former nested path from the nested path stack.
      Specified by:
      popNestedPath in interface Errors
      Throws:
      IllegalStateException - if there is no former nested path on the stack
      See Also:
    • doSetNestedPath

      protected void doSetNestedPath(@Nullable String nestedPath)
      Actually set the nested path. Delegated to by setNestedPath and pushNestedPath.
    • fixedField

      protected String fixedField(@Nullable String field)
      Transform the given field into its full path, regarding the nested path of this instance.
    • canonicalFieldName

      protected String canonicalFieldName(String field)
      Determine the canonical field name for the given field.

      The default implementation simply returns the field name as-is.

      Parameters:
      field - the original field name
      Returns:
      the canonical field name
    • getFieldErrors

      public List<FieldError> getFieldErrors(String field)
      Description copied from interface: Errors
      Get all errors associated with the given field.

      Implementations may support not only full field names like "address.street" but also pattern matches like "address.*".

      Specified by:
      getFieldErrors in interface Errors
      Parameters:
      field - the field name
      Returns:
      a List of FieldError instances
      See Also:
    • isMatchingFieldError

      protected boolean isMatchingFieldError(String field, FieldError fieldError)
      Check whether the given FieldError matches the given field.
      Parameters:
      field - the field that we are looking up FieldErrors for
      fieldError - the candidate FieldError
      Returns:
      whether the FieldError matches the given field
    • toString

      public String toString()
      Description copied from interface: Errors
      Return a summary of the recorded errors, e.g. for inclusion in an exception message.
      Specified by:
      toString in interface Errors
      Overrides:
      toString in class Object
      See Also: