Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.hibernate.validator.internal.engine.validationcontext.ValidationContextBuilder Maven / Gradle / Ivy
Go to download
Hibernate's Jakarta Bean Validation reference implementation.
/*
* 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.lang.reflect.Executable;
import jakarta.validation.ConstraintValidatorFactory;
import jakarta.validation.TraversableResolver;
import org.hibernate.validator.constraintvalidation.HibernateConstraintValidatorInitializationContext;
import org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorManager;
import org.hibernate.validator.internal.engine.path.PathImpl;
import org.hibernate.validator.internal.metadata.aggregated.BeanMetaData;
/**
* Builder for creating {@link AbstractValidationContext}s suited for the different kinds of validation.
*
* @author Gunnar Morling
* @author Marko Bekhta
*/
public class ValidationContextBuilder {
private final ConstraintValidatorManager constraintValidatorManager;
private final ConstraintValidatorFactory constraintValidatorFactory;
private final TraversableResolver traversableResolver;
private final HibernateConstraintValidatorInitializationContext constraintValidatorInitializationContext;
private final ValidatorScopedContext validatorScopedContext;
public ValidationContextBuilder(
ConstraintValidatorManager constraintValidatorManager,
ConstraintValidatorFactory constraintValidatorFactory,
ValidatorScopedContext validatorScopedContext,
TraversableResolver traversableResolver,
HibernateConstraintValidatorInitializationContext constraintValidatorInitializationContext) {
this.constraintValidatorManager = constraintValidatorManager;
this.constraintValidatorFactory = constraintValidatorFactory;
this.traversableResolver = traversableResolver;
this.constraintValidatorInitializationContext = constraintValidatorInitializationContext;
this.validatorScopedContext = validatorScopedContext;
}
public BaseBeanValidationContext forValidate(Class rootBeanClass, BeanMetaData rootBeanMetaData, T rootBean) {
return new BeanValidationContext<>(
constraintValidatorManager,
constraintValidatorFactory,
validatorScopedContext,
traversableResolver,
constraintValidatorInitializationContext,
rootBean,
rootBeanClass,
rootBeanMetaData
);
}
public BaseBeanValidationContext forValidateProperty(Class rootBeanClass, BeanMetaData rootBeanMetaData, T rootBean, PathImpl propertyPath) {
return new PropertyValidationContext<>(
constraintValidatorManager,
constraintValidatorFactory,
validatorScopedContext,
traversableResolver,
constraintValidatorInitializationContext,
rootBean,
rootBeanClass,
rootBeanMetaData,
propertyPath.getLeafNode().getName()
);
}
public BaseBeanValidationContext forValidateValue(Class rootBeanClass, BeanMetaData rootBeanMetaData, PathImpl propertyPath) {
return new PropertyValidationContext<>(
constraintValidatorManager,
constraintValidatorFactory,
validatorScopedContext,
traversableResolver,
constraintValidatorInitializationContext,
null, //root bean
rootBeanClass,
rootBeanMetaData,
propertyPath.getLeafNode().getName()
);
}
public ExecutableValidationContext forValidateParameters(
Class rootBeanClass,
BeanMetaData rootBeanMetaData,
T rootBean,
Executable executable,
Object[] executableParameters) {
return new ParameterExecutableValidationContext<>(
constraintValidatorManager,
constraintValidatorFactory,
validatorScopedContext,
traversableResolver,
constraintValidatorInitializationContext,
rootBean,
rootBeanClass,
rootBeanMetaData,
executable,
rootBeanMetaData.getMetaDataFor( executable ),
executableParameters
);
}
public ExecutableValidationContext forValidateReturnValue(
Class rootBeanClass,
BeanMetaData rootBeanMetaData,
T rootBean,
Executable executable,
Object executableReturnValue) {
return new ReturnValueExecutableValidationContext<>(
constraintValidatorManager,
constraintValidatorFactory,
validatorScopedContext,
traversableResolver,
constraintValidatorInitializationContext,
rootBean,
rootBeanClass,
rootBeanMetaData,
executable,
rootBeanMetaData.getMetaDataFor( executable ),
executableReturnValue
);
}
}