Class ValidationError

  • All Implemented Interfaces:
    java.io.Serializable, org.apache.wicket.util.io.IClusterable, IValidationError

    public final class ValidationError
    extends java.lang.Object
    implements IValidationError
    A versatile implementation of IValidationError that supports message resolution from IErrorMessageSource, default message (if none of the keys matched), and variable substitution. The final error message is constructed via the following process:
    1. Try all keys added by calls to addKey(String) via the provided IErrorMessageSource.
    2. If none of the keys yielded a message, use the message set by setMessage(String), if any.
    3. Perform variable substitution on the message, if any.
    Since:
    1.2.6
    Author:
    Igor Vaynberg (ivaynberg)
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ValidationError()
      Constructs an empty error
      ValidationError​(java.lang.String message)
      Constructs a validation error with the specified message.
      ValidationError​(IValidator<?> validator)
      Constructs a validation error with the validator's standard key.
      ValidationError​(IValidator<?> validator, java.lang.String variation)
      Constructs a validation error with a variation of validator's standard key.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ValidationError addKey​(java.lang.String key)
      Adds a key to the list of keys that will be tried against IErrorMessageSource to locate the error message string.
      ValidationError addKey​(IValidator<?> validator)
      Shortcut for adding a standard message key which is the simple name of the validator' class
      ValidationError addKey​(IValidator<?> validator, java.lang.String variation)
      Shortcut for adding a standard message key variation which is the simple name of the validator class followed by a dot and the variation
      java.io.Serializable getErrorMessage​(IErrorMessageSource messageSource)
      Retrieves the error message (usually user-facing).
      java.util.List<java.lang.String> getKeys()
      Gets error keys
      java.lang.String getMessage()
      Gets the default message that will be used when no message could be located via message keys.
      java.util.Map<java.lang.String,​java.lang.Object> getVariables()
      Retrieves the variables map for this error.
      void setKeys​(java.util.List<java.lang.String> keys)
      Sets error keys
      ValidationError setMessage​(java.lang.String message)
      Sets message that will be used when no message could be located via message keys.
      ValidationError setVariable​(java.lang.String name, java.lang.Object value)
      Sets a key and value in the variables map for use in substitution.
      ValidationError setVariables​(java.util.Map<java.lang.String,​java.lang.Object> vars)
      Sets the variables map for this error.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ValidationError

        public ValidationError()
        Constructs an empty error
      • ValidationError

        public ValidationError​(IValidator<?> validator)
        Constructs a validation error with the validator's standard key. Equivalent to calling addKey(IValidator)
        Parameters:
        validator - validator
      • ValidationError

        public ValidationError​(IValidator<?> validator,
                               java.lang.String variation)
        Constructs a validation error with a variation of validator's standard key. Equivalent to calling addKey(IValidator, String)
        Parameters:
        validator - validator
        variation - key variation
      • ValidationError

        public ValidationError​(java.lang.String message)
        Constructs a validation error with the specified message. Equivalent to calling setMessage(String)
        Parameters:
        message - message
    • Method Detail

      • addKey

        public ValidationError addKey​(java.lang.String key)
        Adds a key to the list of keys that will be tried against IErrorMessageSource to locate the error message string.
        Parameters:
        key - a message key to be added
        Returns:
        this ValidationError for chaining purposes
      • addKey

        public ValidationError addKey​(IValidator<?> validator)
        Shortcut for adding a standard message key which is the simple name of the validator' class
        Parameters:
        validator - validator
        Returns:
        this
      • addKey

        public ValidationError addKey​(IValidator<?> validator,
                                      java.lang.String variation)
        Shortcut for adding a standard message key variation which is the simple name of the validator class followed by a dot and the variation

        If the variation is empty only the validator's simple class name is used

        Parameters:
        validator - validator
        variation - key variation
        Returns:
        this
      • setVariable

        public ValidationError setVariable​(java.lang.String name,
                                           java.lang.Object value)
        Sets a key and value in the variables map for use in substitution.
        Parameters:
        name - a variable name
        value - a variable value
        Returns:
        this ValidationError for chaining purposes
      • getVariables

        public final java.util.Map<java.lang.String,​java.lang.Object> getVariables()
        Retrieves the variables map for this error. The caller is free to modify the contents.
        Returns:
        a Map of variables for this error
      • setVariables

        public final ValidationError setVariables​(java.util.Map<java.lang.String,​java.lang.Object> vars)
        Sets the variables map for this error.
        Parameters:
        vars - a variables map
        Returns:
        this ValidationError for chaining purposes
      • getMessage

        public final java.lang.String getMessage()
        Gets the default message that will be used when no message could be located via message keys.
        Returns:
        message the default message used when all keys yield no message
      • setMessage

        public final ValidationError setMessage​(java.lang.String message)
        Sets message that will be used when no message could be located via message keys.

        Note: No variable substitution is performed on the given message!

        Parameters:
        message - a default message to be used when all keys yield no message
        Returns:
        this ValidationError for chaining purposes
      • getKeys

        public java.util.List<java.lang.String> getKeys()
        Gets error keys
        Returns:
        keys
      • setKeys

        public void setKeys​(java.util.List<java.lang.String> keys)
        Sets error keys
        Parameters:
        keys -
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()