Class AbstractValidator<T>

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractValidator​(java.lang.String errorMessage)
      Constructs a validator with the given error message.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.String getMessage​(T value)
      Returns the error message for the given value.
      protected ValidationResult toResult​(T value, boolean isValid)
      A helper method for creating a Result from a value and a validity flag.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.function.BiFunction

        andThen
    • Constructor Detail

      • AbstractValidator

        protected AbstractValidator​(java.lang.String errorMessage)
        Constructs a validator with the given error message. The substring "{0}" is replaced by the value that failed validation.
        Parameters:
        errorMessage - the message to be included in a failed result, not null
    • Method Detail

      • getMessage

        protected java.lang.String getMessage​(T value)
        Returns the error message for the given value.
        Parameters:
        value - an invalid value
        Returns:
        the formatted error message
      • toResult

        protected ValidationResult toResult​(T value,
                                            boolean isValid)
        A helper method for creating a Result from a value and a validity flag. If the flag is true, returns Result.ok, otherwise yields Result.error bearing the error message returned by getMessage(Object).

        For instance, the following apply method only accepts even numbers:

         @Override
         public Result<T> apply(Integer value) {
             return toResult(value, value % 2 == 0);
         }
         
        Parameters:
        value - the validated value
        isValid - whether the value is valid or not
        Returns:
        the validation result