Class IsValidRelativeDurationValidator

java.lang.Object
energy.eddie.dataneeds.validation.duration.IsValidRelativeDurationValidator
All Implemented Interfaces:
jakarta.validation.ConstraintValidator<IsValidRelativeDuration,RelativeDuration>

public class IsValidRelativeDurationValidator extends Object implements jakarta.validation.ConstraintValidator<IsValidRelativeDuration,RelativeDuration>
  • Constructor Details

    • IsValidRelativeDurationValidator

      public IsValidRelativeDurationValidator(Clock clock)
  • Method Details

    • isValid

      public boolean isValid(RelativeDuration duration, jakarta.validation.ConstraintValidatorContext context)
      Validates whether the passed duration is valid. The following table lists valid combinations:
      Valid and invalid durations
      Start End CalendarUnit Result
      null null null Open Start; Open End
      null x null Open Start; Fixed End
      x null null Fixed Start; Open End
      x null x Sticky start; Open End
      x x null Fixed Start; Fixed End
      x x x Sticky start; Fixed End
      Note that if both start and end are provided, start must be before or equal to end. As start and end dates are both inclusive, to only fetch data for one day, start may be equal to end.
      An appropriate error message will be added to the context explaining why the validation failed.
      Specified by:
      isValid in interface jakarta.validation.ConstraintValidator<IsValidRelativeDuration,RelativeDuration>
      Parameters:
      duration - object to validate
      context - context in which the constraint is evaluated
      Returns:
      True if the duration is valid, false otherwise.