Class ValidatorBuilderTemporal<V extends Comparable<?>,PARENT,SELF extends ValidatorBuilderTemporal<V,PARENT,SELF>>

java.lang.Object
io.github.mmm.validation.main.ObjectValidatorBuilder<V,PARENT,SELF>
io.github.mmm.validation.main.ComparableValidatorBuilder<V,PARENT,SELF>
io.github.mmm.validation.temporal.ValidatorBuilderTemporal<V,PARENT,SELF>
Type Parameters:
V - the generic type of the value to validate.
PARENT - the generic type of the parent builder.
SELF - the generic type of this builder itself (this).
All Implemented Interfaces:
io.github.mmm.base.lang.Builder<Validator<? super V>>, ValidatorRegistry<V,SELF>
Direct Known Subclasses:
ValidatorBuilderInstant, ValidatorBuilderLocalDate, ValidatorBuilderLocalDateTime, ValidatorBuilderLocalTime, ValidatorBuilderOffsetDateTime, ValidatorBuilderOffsetTime, ValidatorBuilderZonedDateTime

public abstract class ValidatorBuilderTemporal<V extends Comparable<?>,PARENT,SELF extends ValidatorBuilderTemporal<V,PARENT,SELF>> extends ComparableValidatorBuilder<V,PARENT,SELF>
Validator builder for date and time values.
Since:
1.0.0
  • Constructor Details

    • ValidatorBuilderTemporal

      public ValidatorBuilderTemporal(PARENT parent)
      The constructor.
      Parameters:
      parent - the parent builder.
  • Method Details

    • parse

      protected abstract V parse(String value)
      Parameters:
      value - the value as String.
      Returns:
      the parsed value.
    • range

      public SELF range(String min, String max)
      Description copied from class: ObjectValidatorBuilder
      This method allows to define a range in a generic way. If you have a properly typed builder please use more specific methods such as ComparableValidatorBuilder.range(io.github.mmm.base.range.Range) instead.
      Specified by:
      range in class ObjectValidatorBuilder<V extends Comparable<?>,PARENT,SELF extends ValidatorBuilderTemporal<V,PARENT,SELF>>
      Parameters:
      min - the minimum value allowed or null for no lower bound.
      max - the maximum value allowed or null for no upper bound.
      Returns:
      this build instance for fluent API calls.
    • past

      public abstract SELF past()
      Adds a validator that checks that the date/time is in the past.
      Returns:
      this build instance for fluent API calls.
    • future

      public abstract SELF future()
      Adds a validator that checks that the date/time is in the future.
      Returns:
      this build instance for fluent API calls.
    • after

      public abstract SELF after(V value)
      Adds a validator that checks that the date/time is after the given value.
      Parameters:
      value - the date/time to compare.
      Returns:
      this build instance for fluent API calls.
    • after

      public abstract SELF after(Supplier<V> valueSource)
      Adds a validator that checks that the date/time is after the given value.
      Parameters:
      valueSource - the Supplier of the date/time to compare.
      Returns:
      this build instance for fluent API calls.
    • before

      public abstract SELF before(V value)
      Adds a validator that checks that the date/time is before the given value.
      Parameters:
      value - the date/time to compare.
      Returns:
      this build instance for fluent API calls.
    • before

      public abstract SELF before(Supplier<V> valueSource)
      Adds a validator that checks that the date/time is before the given value.
      Parameters:
      valueSource - the Supplier of the date/time to compare.
      Returns:
      this build instance for fluent API calls.