Class AbstractEpochBasedTimeValidator<C extends Annotation,T>
java.lang.Object
org.hibernate.validator.internal.constraintvalidators.bv.time.AbstractEpochBasedTimeValidator<C,T>
- All Implemented Interfaces:
ConstraintValidator<C,,T> HibernateConstraintValidator<C,T>
- Direct Known Subclasses:
AbstractFutureEpochBasedValidator,AbstractFutureOrPresentEpochBasedValidator,AbstractPastEpochBasedValidator,AbstractPastOrPresentEpochBasedValidator
public abstract class AbstractEpochBasedTimeValidator<C extends Annotation,T>
extends Object
implements HibernateConstraintValidator<C,T>
Base class for all time validators that use an epoch to be compared to the time reference.
- Author:
- Alaa Nassef, Guillaume Smet
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract DurationgetEffectiveTemporalValidationTolerance(Duration absoluteTemporalValidationTolerance) Returns the temporal validation tolerance to apply.protected abstract longgetEpochMillis(T value, Clock reference) Returns the millisecond based instant measured from Epoch.voidinitialize(ConstraintDescriptor<C> constraintDescriptor, HibernateConstraintValidatorInitializationContext initializationContext) Initializes the validator in preparation forConstraintValidator.isValid(Object, ConstraintValidatorContext)calls.protected abstract booleanisValid(int result) Returns whether the result of the comparison between the validated value and the time reference is considered valid.booleanisValid(T value, ConstraintValidatorContext context) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.validation.ConstraintValidator
initialize
-
Field Details
-
referenceClock
-
-
Constructor Details
-
AbstractEpochBasedTimeValidator
public AbstractEpochBasedTimeValidator()
-
-
Method Details
-
initialize
public void initialize(ConstraintDescriptor<C> constraintDescriptor, HibernateConstraintValidatorInitializationContext initializationContext) Description copied from interface:HibernateConstraintValidatorInitializes the validator in preparation forConstraintValidator.isValid(Object, ConstraintValidatorContext)calls. It is an alternative toConstraintValidator.initialize(Annotation)method. Should be used if any additional information except annotation is needed to initialize a validator. Note, when usingHibernateConstraintValidatoruser should only override one of the methods, eitherHibernateConstraintValidator.initialize(ConstraintDescriptor, HibernateConstraintValidatorInitializationContext)orConstraintValidator.initialize(Annotation). Both methods will be called during initialization, starting withHibernateConstraintValidator.initialize(ConstraintDescriptor, HibernateConstraintValidatorInitializationContext).- Specified by:
initializein interfaceHibernateConstraintValidator<C extends Annotation,T> - Parameters:
constraintDescriptor- a constraint descriptor for a given constraint declarationinitializationContext- an initialization context for a currentConstraintValidatorFactory
-
isValid
- Specified by:
isValidin interfaceConstraintValidator<C extends Annotation,T>
-
getEffectiveTemporalValidationTolerance
protected abstract Duration getEffectiveTemporalValidationTolerance(Duration absoluteTemporalValidationTolerance) Returns the temporal validation tolerance to apply. -
getEpochMillis
Returns the millisecond based instant measured from Epoch. In the case of partials requiring a time reference, we use theClockprovided by theClockProvider. -
isValid
protected abstract boolean isValid(int result) Returns whether the result of the comparison between the validated value and the time reference is considered valid.
-