Top Description Fields Constructors Methods
org.hibernate.validator.internal.engine.constraintvalidation

public abstract Class ConstraintTree<A extends java.lang.annotation.Annotation>

extends Object
Class Inheritance
Known Direct Subclasses
org.hibernate.validator.internal.engine.constraintvalidation.SimpleConstraintTree, org.hibernate.validator.internal.engine.constraintvalidation.ComposingConstraintTree
Imports
java.lang.annotation.Annotation, java.lang.invoke.MethodHandles, java.lang.reflect.Type, java.util.ArrayList, .Collection, .List, .Optional, jakarta.validation.ConstraintDeclarationException, .ConstraintValidator, .ValidationException, org.hibernate.validator.internal.engine.valuecontext.ValueContext, org.hibernate.validator.internal.engine.validationcontext.ValidationContext, org.hibernate.validator.internal.metadata.descriptor.ConstraintDescriptorImpl, org.hibernate.validator.internal.util.logging.Log, .LoggerFactory

Due to constraint composition a single constraint annotation can lead to a whole constraint tree being validated. This class encapsulates such a tree.
Authors
Hardy Ferentschik, Federico Mancini, Dag Hovland, Kevin Pollet <[email protected]> (C) 2012 SERLI, Guillaume Smet, Marko Bekhta

Field Summary

Modifier and TypeField and Description
private volatile ConstraintValidator<A, ?>
protected final ConstraintDescriptorImpl<A>
descriptor

The constraint descriptor for the constraint represented by this constraint tree.

private static final Log
private final Type

Constructor Summary

AccessConstructor and Description
protected
ConstraintTree(ConstraintValidatorManager constraintValidatorManager, ConstraintDescriptorImpl<A> descriptor, Type validatedValueType)

Method Summary

Modifier and TypeMethod and Description
public final ConstraintDescriptorImpl<A>
private ValidationException
getExceptionForNullValidator(Type validatedValueType, String path)

protected final ConstraintValidator<A, ?>
getInitializedConstraintValidator(ValidationContext<?> validationContext, ValueContext<?, ?> valueContext)

public final Type
public static <U extends Annotation> ConstraintTree<U>
of(ConstraintValidatorManager constraintValidatorManager, ConstraintDescriptorImpl<U> composingDescriptor, Type validatedValueType)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
public final boolean
validateConstraints(ValidationContext<?> validationContext, ValueContext<?, ?> valueContext)

protected abstract void
validateConstraints(ValidationContext<?> validationContext, ValueContext<?, ?> valueContext, Collection<ConstraintValidatorContextImpl> violatedConstraintValidatorContexts)

protected final <V> Optional<ConstraintValidatorContextImpl>

Returns:

an Optional#empty() if there is no violation or a corresponding ConstraintValidatorContextImpl otherwise.
validateSingleConstraint
(ValueContext<?, ?> valueContext, ConstraintValidatorContextImpl constraintValidatorContext, ConstraintValidator<A, V> validator)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

defaultInitializedConstraintValidatorback to summary
private volatile ConstraintValidator<A, ?> defaultInitializedConstraintValidator
descriptorback to summary
protected final ConstraintDescriptorImpl<A> descriptor

The constraint descriptor for the constraint represented by this constraint tree.

LOGback to summary
private static final Log LOG
validatedValueTypeback to summary
private final Type validatedValueType

Constructor Detail

ConstraintTreeback to summary
protected ConstraintTree(ConstraintValidatorManager constraintValidatorManager, ConstraintDescriptorImpl<A> descriptor, Type validatedValueType)

Method Detail

getDescriptorback to summary
public final ConstraintDescriptorImpl<A> getDescriptor()
getExceptionForNullValidatorback to summary
private ValidationException getExceptionForNullValidator(Type validatedValueType, String path)
getInitializedConstraintValidatorback to summary
protected final ConstraintValidator<A, ?> getInitializedConstraintValidator(ValidationContext<?> validationContext, ValueContext<?, ?> valueContext)
getValidatedValueTypeback to summary
public final Type getValidatedValueType()
ofback to summary
public static <U extends Annotation> ConstraintTree<U> of(ConstraintValidatorManager constraintValidatorManager, ConstraintDescriptorImpl<U> composingDescriptor, Type validatedValueType)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override
validateConstraintsback to summary
public final boolean validateConstraints(ValidationContext<?> validationContext, ValueContext<?, ?> valueContext)
validateConstraintsback to summary
protected abstract void validateConstraints(ValidationContext<?> validationContext, ValueContext<?, ?> valueContext, Collection<ConstraintValidatorContextImpl> violatedConstraintValidatorContexts)
validateSingleConstraintback to summary
protected final <V> Optional<ConstraintValidatorContextImpl> validateSingleConstraint(ValueContext<?, ?> valueContext, ConstraintValidatorContextImpl constraintValidatorContext, ConstraintValidator<A, V> validator)
Returns:Optional<ConstraintValidatorContextImpl>

an Optional#empty() if there is no violation or a corresponding ConstraintValidatorContextImpl otherwise.