public abstract class AbstractInstantBasedTimeValidator<C extends java.lang.annotation.Annotation,T> extends java.lang.Object implements HibernateConstraintValidator<C,T>
Instant
to be compared to the time reference.Modifier and Type | Field and Description |
---|---|
protected java.time.Clock |
referenceClock |
Constructor and Description |
---|
AbstractInstantBasedTimeValidator() |
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 java.time.Instant |
getInstant(T value)
Returns the
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 java.time.Instant getInstant(T value)
Instant
measured from Epoch.protected abstract boolean isValid(int result)
Copyright © 2007-2022 Red Hat, Inc. All Rights Reserved