org.hibernate.validator.internal.constraintvalidators.bv.time.futureorpresent.AbstractFutureOrPresentInstantBasedValidator Maven / Gradle / Ivy
/*
* Hibernate Validator, declare and validate application constraints
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or .
*/
package org.hibernate.validator.internal.constraintvalidators.bv.time.futureorpresent;
import java.time.Duration;
import java.time.Instant;
import jakarta.validation.constraints.FutureOrPresent;
import org.hibernate.validator.internal.constraintvalidators.bv.time.AbstractInstantBasedTimeValidator;
/**
* Base class for all {@code @FutureOrPresent} validators that use an {@link Instant} to be compared to the time reference.
*
* @author Alaa Nassef
* @author Guillaume Smet
*/
public abstract class AbstractFutureOrPresentInstantBasedValidator extends AbstractInstantBasedTimeValidator {
@Override
protected boolean isValid(int result) {
return result >= 0;
}
@Override
protected Duration getEffectiveTemporalValidationTolerance(Duration absoluteTemporalValidationTolerance) {
return absoluteTemporalValidationTolerance.negated();
}
}