Top Description Fields Constructors Methods
org.hibernate.validator.internal.constraintvalidators.bv.time

public abstract Class AbstractInstantBasedTimeValidator<C extends java.lang.annotation.Annotation, T>

extends Object
implements HibernateConstraintValidator<C extends Annotation, T>
Class Inheritance
All Implemented Interfaces
org.hibernate.validator.constraintvalidation.HibernateConstraintValidator, jakarta.validation.ConstraintValidator
Known Direct Subclasses
org.hibernate.validator.internal.constraintvalidators.bv.time.future.AbstractFutureInstantBasedValidator, org.hibernate.validator.internal.constraintvalidators.bv.time.futureorpresent.AbstractFutureOrPresentInstantBasedValidator, org.hibernate.validator.internal.constraintvalidators.bv.time.past.AbstractPastInstantBasedValidator, org.hibernate.validator.internal.constraintvalidators.bv.time.pastorpresent.AbstractPastOrPresentInstantBasedValidator
Imports
java.lang.annotation.Annotation, java.lang.invoke.MethodHandles, java.time.Clock, .Duration, .Instant, jakarta.validation.ConstraintValidatorContext, jakarta.validation.metadata.ConstraintDescriptor, org.hibernate.validator.constraintvalidation.HibernateConstraintValidator, .HibernateConstraintValidatorInitializationContext, org.hibernate.validator.internal.util.logging.Log, .LoggerFactory

Base class for all time validators that use an Instant to be compared to the time reference.
Authors
Alaa Nassef, Guillaume Smet

Field Summary

Modifier and TypeField and Description
private static final Log
protected Clock

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected abstract Duration
getEffectiveTemporalValidationTolerance(Duration absoluteTemporalValidationTolerance)

Returns the temporal validation tolerance to apply.

protected abstract Instant
getInstant(T value)

Returns the Instant measured from Epoch.

public void
initialize(ConstraintDescriptor<C>
a constraint descriptor for a given constraint declaration
constraintDescriptor
,
HibernateConstraintValidatorInitializationContext
an initialization context for a current ConstraintValidatorFactory
initializationContext
)

Overrides default org.hibernate.validator.constraintvalidation.HibernateConstraintValidator.initialize.

Initializes the validator in preparation for isValid(Object, ConstraintValidatorContext) calls.
public boolean
isValid(T
object to validate
value
,
ConstraintValidatorContext
context in which the constraint is evaluated
context
)

Implements jakarta.validation.ConstraintValidator.isValid.

Implements the validation logic.
protected abstract boolean
isValid(int result)

Returns whether the result of the comparison between the validated value and the time reference is considered valid.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

LOGback to summary
private static final Log LOG
referenceClockback to summary
protected Clock referenceClock

Constructor Detail

AbstractInstantBasedTimeValidatorback to summary
public AbstractInstantBasedTimeValidator()

Method Detail

getEffectiveTemporalValidationToleranceback to summary
protected abstract Duration getEffectiveTemporalValidationTolerance(Duration absoluteTemporalValidationTolerance)

Returns the temporal validation tolerance to apply.

getInstantback to summary
protected abstract Instant getInstant(T value)

Returns the Instant measured from Epoch.

initializeback to summary
public void initialize(ConstraintDescriptor<C> constraintDescriptor, HibernateConstraintValidatorInitializationContext initializationContext)

Overrides default org.hibernate.validator.constraintvalidation.HibernateConstraintValidator.initialize.

Doc from org.hibernate.validator.constraintvalidation.HibernateConstraintValidator.initialize.

Initializes the validator in preparation for isValid(Object, ConstraintValidatorContext) calls. It is an alternative to 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 initialize(ConstraintDescriptor, HibernateConstraintValidatorInitializationContext) or initialize(Annotation). Both methods will be called during initialization, starting with initialize(ConstraintDescriptor, HibernateConstraintValidatorInitializationContext).

Parameters
constraintDescriptor:ConstraintDescriptor<C>

a constraint descriptor for a given constraint declaration

initializationContext:HibernateConstraintValidatorInitializationContext

an initialization context for a current ConstraintValidatorFactory

Annotations
@Override
isValidback to summary
public boolean isValid(T value, ConstraintValidatorContext context)

Implements jakarta.validation.ConstraintValidator.isValid.

Doc from jakarta.validation.ConstraintValidator.isValid.

Implements the validation logic. The state of value must not be altered.

This method can be accessed concurrently, thread-safety must be ensured by the implementation.

Parameters
value:T

object to validate

context:ConstraintValidatorContext

context in which the constraint is evaluated

Returns:boolean

false if value does not pass the constraint

Annotations
@Override
isValidback to summary
protected abstract boolean isValid(int result)

Returns whether the result of the comparison between the validated value and the time reference is considered valid.