public class ValidatorContextImpl extends Object implements HibernateValidatorContext
Constructor and Description |
---|
ValidatorContextImpl(ValidatorFactoryImpl validatorFactory) |
Modifier and Type | Method and Description |
---|---|
HibernateValidatorContext |
addValueExtractor(ValueExtractor<?> extractor)
Adds a value extractor to be used by the
Validator . |
HibernateValidatorContext |
allowMultipleCascadedValidationOnReturnValues(boolean allow)
Define whether more than one constraint on a return value may be marked for cascading validation are allowed.
|
HibernateValidatorContext |
allowOverridingMethodAlterParameterConstraint(boolean allow)
Define whether overriding methods that override constraints should throw a
ConstraintDefinitionException . |
HibernateValidatorContext |
allowParallelMethodsDefineParameterConstraints(boolean allow)
Define whether parallel methods that define constraints should throw a
ConstraintDefinitionException . |
HibernateValidatorContext |
clockProvider(ClockProvider clockProvider)
Defines the
ClockProvider implementation used by the Validator . |
HibernateValidatorContext |
constraintValidatorFactory(ConstraintValidatorFactory factory)
Defines the constraint validator factory implementation used by the
Validator . |
HibernateValidatorContext |
constraintValidatorPayload(Object dynamicPayload)
Define a payload passed to the constraint validators.
|
HibernateValidatorContext |
enableTraversableResolverResultCache(boolean enabled)
Define whether the per validation call caching of
TraversableResolver results is enabled. |
HibernateValidatorContext |
failFast(boolean failFast)
En- or disables the fail fast mode.
|
Validator |
getValidator()
Returns an initialized
Validator instance respecting the defined state. |
HibernateValidatorContext |
messageInterpolator(MessageInterpolator messageInterpolator)
Defines the message interpolator implementation used by the
Validator . |
HibernateValidatorContext |
parameterNameProvider(ParameterNameProvider parameterNameProvider)
Defines the parameter name provider implementation used by the
Validator . |
HibernateValidatorContext |
temporalValidationTolerance(Duration temporalValidationTolerance)
Define the temporal validation tolerance i.e.
|
HibernateValidatorContext |
traversableResolver(TraversableResolver traversableResolver)
Defines the traversable resolver implementation used by the
Validator . |
public ValidatorContextImpl(ValidatorFactoryImpl validatorFactory)
public HibernateValidatorContext messageInterpolator(MessageInterpolator messageInterpolator)
ValidatorContext
Validator
.
If not set or if null
is passed as a parameter,
the message interpolator of the ValidatorFactory
is used.
messageInterpolator
in interface ValidatorContext
messageInterpolator
in interface HibernateValidatorContext
messageInterpolator
- the MessageInterpolator
used by the
Validator
public HibernateValidatorContext traversableResolver(TraversableResolver traversableResolver)
ValidatorContext
Validator
.
If not set or if null
is passed as a parameter,
the traversable resolver of the ValidatorFactory
is used.
traversableResolver
in interface ValidatorContext
traversableResolver
in interface HibernateValidatorContext
traversableResolver
- the TraversableResolver
used by the
Validator
public HibernateValidatorContext constraintValidatorFactory(ConstraintValidatorFactory factory)
ValidatorContext
Validator
.
If not set or if null
is passed as a parameter,
the constraint validator factory of the ValidatorFactory
is used.constraintValidatorFactory
in interface ValidatorContext
constraintValidatorFactory
in interface HibernateValidatorContext
factory
- the ConstraintValidatorFactory
used by the Validator
public HibernateValidatorContext parameterNameProvider(ParameterNameProvider parameterNameProvider)
ValidatorContext
Validator
. If not set or if null
is passed as a parameter,
the parameter name provider of the ValidatorFactory
is used.parameterNameProvider
in interface ValidatorContext
parameterNameProvider
in interface HibernateValidatorContext
parameterNameProvider
- parameter name provider implementation.public HibernateValidatorContext clockProvider(ClockProvider clockProvider)
ValidatorContext
ClockProvider
implementation used by the Validator
.
If not set or if null
is passed as a parameter,
the clock provider of the ValidatorFactory
is used.clockProvider
in interface ValidatorContext
clockProvider
in interface HibernateValidatorContext
clockProvider
- ClockProvider
implementationpublic HibernateValidatorContext addValueExtractor(ValueExtractor<?> extractor)
ValidatorContext
Validator
. Has
priority over any extractor for the same type and type parameter
detected through the service loader, given in the XML configuration or
configured for the validator factory.addValueExtractor
in interface ValidatorContext
addValueExtractor
in interface HibernateValidatorContext
extractor
- value extractor implementationpublic HibernateValidatorContext failFast(boolean failFast)
HibernateValidatorContext
failFast
in interface HibernateValidatorContext
failFast
- true
to enable fail fast, false
otherwise.this
following the chaining method patternpublic HibernateValidatorContext allowOverridingMethodAlterParameterConstraint(boolean allow)
HibernateValidatorContext
ConstraintDefinitionException
.
The default value is false
, i.e. do not allow.
See Section 4.5.5 of the JSR 380 specification, specifically
"In sub types (be it sub classes/interfaces or interface implementations), no parameter constraints may be declared on overridden or implemented methods, nor may parameters be marked for cascaded validation. This would pose a strengthening of preconditions to be fulfilled by the caller."
allowOverridingMethodAlterParameterConstraint
in interface HibernateValidatorContext
allow
- flag determining whether validation will allow overriding to alter parameter constraints.this
following the chaining method patternpublic HibernateValidatorContext allowMultipleCascadedValidationOnReturnValues(boolean allow)
HibernateValidatorContext
false
, i.e. do not allow.
See Section 4.5.5 of the JSR 380 specification, specifically
"One must not mark a method return value for cascaded validation more than once in a line of a class hierarchy. In other words, overriding methods on sub types (be it sub classes/interfaces or interface implementations) cannot mark the return value for cascaded validation if the return value has already been marked on the overridden method of the super type or interface."
allowMultipleCascadedValidationOnReturnValues
in interface HibernateValidatorContext
allow
- flag determining whether validation will allow multiple cascaded validation on return values.this
following the chaining method patternpublic HibernateValidatorContext allowParallelMethodsDefineParameterConstraints(boolean allow)
HibernateValidatorContext
ConstraintDefinitionException
. The
default value is false
, i.e. do not allow.
See Section 4.5.5 of the JSR 380 specification, specifically
"If a sub type overrides/implements a method originally defined in several parallel types of the hierarchy (e.g. two interfaces not extending each other, or a class and an interface not implemented by said class), no parameter constraints may be declared for that method at all nor parameters be marked for cascaded validation. This again is to avoid an unexpected strengthening of preconditions to be fulfilled by the caller."
allowParallelMethodsDefineParameterConstraints
in interface HibernateValidatorContext
allow
- flag determining whether validation will allow parameter constraints in parallel hierarchiesthis
following the chaining method patternpublic HibernateValidatorContext enableTraversableResolverResultCache(boolean enabled)
HibernateValidatorContext
TraversableResolver
results is enabled. The default
value is true
, i.e. the caching is enabled.
This behavior was initially introduced to cache the JPATraversableResolver
results but the map lookups it
introduces can be counterproductive when the TraversableResolver
calls are very fast.
enableTraversableResolverResultCache
in interface HibernateValidatorContext
enabled
- flag determining whether per validation call caching is enabled for TraversableResolver
results.this
following the chaining method patternpublic HibernateValidatorContext temporalValidationTolerance(Duration temporalValidationTolerance)
HibernateValidatorContext
temporalValidationTolerance
in interface HibernateValidatorContext
temporalValidationTolerance
- the tolerancethis
following the chaining method patternpublic HibernateValidatorContext constraintValidatorPayload(Object dynamicPayload)
HibernateValidatorContext
constraintValidatorPayload
in interface HibernateValidatorContext
dynamicPayload
- the payload passed to constraint validatorsthis
following the chaining method patternpublic Validator getValidator()
ValidatorContext
Validator
instance respecting the defined state.
Validator
instances can be pooled and shared by the implementation.getValidator
in interface ValidatorContext
Validator
Copyright © 2021 JBoss by Red Hat. All rights reserved.