All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.validator.internal.engine.validationcontext.BaseBeanValidationContext Maven / Gradle / Ivy

There is a newer version: 8.0.1.Final
Show newest version
/*
 * 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 javax.validation.Path;
import javax.validation.TraversableResolver;
import javax.validation.Validator;

import org.hibernate.validator.internal.engine.ValidatorImpl;
import org.hibernate.validator.internal.engine.path.PathImpl;
import org.hibernate.validator.internal.engine.valuecontext.ValueContext;
import org.hibernate.validator.internal.metadata.aggregated.BeanMetaData;
import org.hibernate.validator.internal.metadata.core.MetaConstraint;

/**
 * Interface that exposes contextual information required for a validation call related to a bean.
 * 

* Provides ability to collect failing constraints and gives access to resources like constraint validator factory, * traversable resolver, etc. * * @author Hardy Ferentschik * @author Emmanuel Bernard * @author Gunnar Morling * @author Guillaume Smet */ public interface BaseBeanValidationContext extends ValidationContext { T getRootBean(); Class getRootBeanClass(); BeanMetaData getRootBeanMetaData(); TraversableResolver getTraversableResolver(); boolean isBeanAlreadyValidated(Object value, Class group, PathImpl path); void markCurrentBeanAsProcessed(ValueContext valueContext); boolean hasMetaConstraintBeenProcessed(Object bean, Path path, MetaConstraint metaConstraint); void markConstraintProcessed(Object bean, Path path, MetaConstraint metaConstraint); /** * @return {@code true} if current validation context can and should process passed meta constraint. Is used in * {@link ValidatorImpl} to check if validation is required in case of calls to * {@link Validator#validateValue(Class, String, Object, Class[])} or * {@link Validator#validateProperty(Object, String, Class[])}. In these cases, as we iterate through all meta * constraints of the bean, we expect those that are not defined for the validated property. */ default boolean appliesTo(MetaConstraint metaConstraint) { return true; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy