public class ConstraintValidatorContextImpl extends Object implements HibernateConstraintValidatorContext
Modifier and Type | Class and Description |
---|---|
protected class |
ConstraintValidatorContextImpl.ConstraintViolationBuilderImpl |
protected class |
ConstraintValidatorContextImpl.NodeBuilder |
ConstraintValidatorContext.ConstraintViolationBuilder
Constructor and Description |
---|
ConstraintValidatorContextImpl(ClockProvider clockProvider,
PathImpl propertyPath,
ConstraintDescriptor<?> constraintDescriptor,
Object constraintValidatorPayload,
ExpressionLanguageFeatureLevel defaultConstraintExpressionLanguageFeatureLevel,
ExpressionLanguageFeatureLevel defaultCustomViolationExpressionLanguageFeatureLevel) |
Modifier and Type | Method and Description |
---|---|
HibernateConstraintValidatorContext |
addExpressionVariable(String name,
Object value)
Allows to set an additional expression variable which will be available as an EL variable during interpolation.
|
HibernateConstraintValidatorContext |
addMessageParameter(String name,
Object value)
Allows to set an additional named parameter which can be interpolated in the constraint violation message.
|
HibernateConstraintViolationBuilder |
buildConstraintViolationWithTemplate(String messageTemplate) |
void |
disableDefaultConstraintViolation() |
ClockProvider |
getClockProvider() |
ConstraintDescriptor<?> |
getConstraintDescriptor() |
<C> C |
getConstraintValidatorPayload(Class<C> type)
Returns an instance of the specified type or
null if the current constraint validator payload isn't of
the given type. |
List<ConstraintViolationCreationContext> |
getConstraintViolationCreationContexts() |
protected PathImpl |
getCopyOfBasePath() |
String |
getDefaultConstraintMessageTemplate() |
<T> T |
unwrap(Class<T> type) |
HibernateConstraintValidatorContext |
withDynamicPayload(Object violationContext)
Allows to set an object that may further describe the violation.
|
public ConstraintValidatorContextImpl(ClockProvider clockProvider, PathImpl propertyPath, ConstraintDescriptor<?> constraintDescriptor, Object constraintValidatorPayload, ExpressionLanguageFeatureLevel defaultConstraintExpressionLanguageFeatureLevel, ExpressionLanguageFeatureLevel defaultCustomViolationExpressionLanguageFeatureLevel)
public final void disableDefaultConstraintViolation()
disableDefaultConstraintViolation
in interface ConstraintValidatorContext
public final String getDefaultConstraintMessageTemplate()
getDefaultConstraintMessageTemplate
in interface ConstraintValidatorContext
public HibernateConstraintViolationBuilder buildConstraintViolationWithTemplate(String messageTemplate)
buildConstraintViolationWithTemplate
in interface ConstraintValidatorContext
buildConstraintViolationWithTemplate
in interface HibernateConstraintValidatorContext
public <T> T unwrap(Class<T> type)
unwrap
in interface ConstraintValidatorContext
public HibernateConstraintValidatorContext addExpressionVariable(String name, Object value)
HibernateConstraintValidatorContext
ConstraintViolationBuilder
.
To create multiple constraint violations with different variable values, this method can be called
between successive calls to ConstraintValidatorContext.ConstraintViolationBuilder.addConstraintViolation()
.
For example:
public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
HibernateConstraintValidatorContext context = constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class );
context.addExpressionVariable( "foo", "bar" );
context.buildConstraintViolationWithTemplate( "${foo}" )
.addConstraintViolation();
context.addExpressionVariable( "foo", "snafu" );
context.buildConstraintViolationWithTemplate( "${foo}" )
.addConstraintViolation();
return false;
}
addExpressionVariable
in interface HibernateConstraintValidatorContext
name
- the name under which to bind the expression variable, cannot be null
value
- the value to be bound to the specified namepublic HibernateConstraintValidatorContext addMessageParameter(String name, Object value)
HibernateConstraintValidatorContext
ConstraintViolationBuilder
.
To create multiple constraint violations with different variable values, this method can be called
between successive calls to ConstraintViolationBuilder#addConstraintViolation()
.
For example:
public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
HibernateConstraintValidatorContext context = constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class );
context.addMessageParameter( "foo", "bar" );
context.buildConstraintViolationWithTemplate( "{foo}" )
.addConstraintViolation();
context.addMessageParameter( "foo", "snafu" );
context.buildConstraintViolationWithTemplate( "{foo}" )
.addConstraintViolation();
return false;
}
addMessageParameter
in interface HibernateConstraintValidatorContext
name
- the name under which to bind the parameter, cannot be null
value
- the value to be bound to the specified namepublic ClockProvider getClockProvider()
getClockProvider
in interface ConstraintValidatorContext
public HibernateConstraintValidatorContext withDynamicPayload(Object violationContext)
HibernateConstraintValidatorContext
javax.validation.ConstraintViolation
has to be serialized.withDynamicPayload
in interface HibernateConstraintValidatorContext
violationContext
- an object representing additional information about the violationpublic <C> C getConstraintValidatorPayload(Class<C> type)
HibernateConstraintValidatorContext
null
if the current constraint validator payload isn't of
the given type.getConstraintValidatorPayload
in interface HibernateConstraintValidatorContext
type
- the type of payload to retrievenull
if the current constraint validator payload isn't of
the given typeBaseHibernateValidatorConfiguration.constraintValidatorPayload(Object)
public final ConstraintDescriptor<?> getConstraintDescriptor()
public final List<ConstraintViolationCreationContext> getConstraintViolationCreationContexts()
protected final PathImpl getCopyOfBasePath()
Copyright © 2007-2021 Red Hat, Inc. All Rights Reserved