public abstract class AbstractEpochBasedTimeValidator<C extends java.lang.annotation.Annotation,T> extends java.lang.Object implements HibernateConstraintValidator<C,T>
Modifier and Type | Field and Description |
---|---|
protected java.time.Clock |
referenceClock |
Constructor and Description |
---|
AbstractEpochBasedTimeValidator() |
Modifier and Type | Method and Description |
---|---|
protected abstract java.time.Duration |
getEffectiveTemporalValidationTolerance(java.time.Duration absoluteTemporalValidationTolerance)
Returns the temporal validation tolerance to apply.
|
protected abstract long |
getEpochMillis(T value,
java.time.Clock reference)
Returns the millisecond based instant measured from Epoch.
|
void |
initialize(javax.validation.metadata.ConstraintDescriptor<C> constraintDescriptor,
HibernateConstraintValidatorInitializationContext initializationContext)
Initializes the validator in preparation for
ConstraintValidator.isValid(Object, ConstraintValidatorContext) calls. |
protected abstract boolean |
isValid(int result)
Returns whether the result of the comparison between the validated value and the time reference is considered
valid.
|
boolean |
isValid(T value,
javax.validation.ConstraintValidatorContext context) |
public void initialize(javax.validation.metadata.ConstraintDescriptor<C> constraintDescriptor, HibernateConstraintValidatorInitializationContext initializationContext)
HibernateConstraintValidator
ConstraintValidator.isValid(Object, ConstraintValidatorContext)
calls.
It is an alternative to ConstraintValidator.initialize(Annotation)
method. Should be used if any additional information
except annotation is needed to initialize a validator.
Note, when using HibernateConstraintValidator
user should only override one of the methods, either
HibernateConstraintValidator.initialize(ConstraintDescriptor, HibernateConstraintValidatorInitializationContext)
or ConstraintValidator.initialize(Annotation)
.
Both methods will be called during initialization, starting with
HibernateConstraintValidator.initialize(ConstraintDescriptor, HibernateConstraintValidatorInitializationContext)
.initialize
in interface HibernateConstraintValidator<C extends java.lang.annotation.Annotation,T>
constraintDescriptor
- a constraint descriptor for a given constraint declarationinitializationContext
- an initialization context for a current ConstraintValidatorFactory
public boolean isValid(T value, javax.validation.ConstraintValidatorContext context)
protected abstract java.time.Duration getEffectiveTemporalValidationTolerance(java.time.Duration absoluteTemporalValidationTolerance)
protected abstract long getEpochMillis(T value, java.time.Clock reference)
Clock
provided by the ClockProvider
.protected abstract boolean isValid(int result)
Copyright © 2007-2022 Red Hat, Inc. All Rights Reserved