org.hibernate.validator.internal.engine.validationcontext.ValidationContext 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.engine.validationcontext;
import java.util.Set;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import javax.validation.ConstraintValidatorFactory;
import javax.validation.ConstraintViolation;
import javax.validation.metadata.ConstraintDescriptor;
import org.hibernate.validator.constraintvalidation.HibernateConstraintValidatorInitializationContext;
import org.hibernate.validator.internal.engine.valuecontext.ValueContext;
import org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree;
import org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorContextImpl;
import org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorManager;
import org.hibernate.validator.internal.engine.constraintvalidation.ConstraintViolationCreationContext;
import org.hibernate.validator.internal.engine.path.PathImpl;
import org.hibernate.validator.internal.metadata.descriptor.ConstraintDescriptorImpl;
/**
* Context object interface keeping track of all required data for operations inside {@link ConstraintTree}
* and its subclasses.
*
* Allows to collect all failing constraints, creates {@link ConstraintValidatorContext}s based on the constraint
* descriptors, and exposes other resources needed to initialize a new {@link ConstraintValidator}.
*
* @author Hardy Ferentschik
* @author Emmanuel Bernard
* @author Gunnar Morling
* @author Guillaume Smet
* @author Marko Bekhta
*/
public interface ValidationContext {
boolean isFailFastModeEnabled();
ConstraintValidatorManager getConstraintValidatorManager();
HibernateConstraintValidatorInitializationContext getConstraintValidatorInitializationContext();
ConstraintValidatorFactory getConstraintValidatorFactory();
void addConstraintFailure(
ValueContext valueContext,
ConstraintViolationCreationContext constraintViolationCreationContext,
ConstraintDescriptor descriptor
);
Set> getFailingConstraints();
ConstraintValidatorContextImpl createConstraintValidatorContextFor(ConstraintDescriptorImpl constraintDescriptor, PathImpl path);
}