public static class MethodValidationConfiguration.Builder extends Object
Constructor and Description |
---|
Builder() |
Builder(MethodValidationConfiguration template) |
Modifier and Type | Method and Description |
---|---|
MethodValidationConfiguration.Builder |
allowMultipleCascadedValidationOnReturnValues(boolean allow)
Define whether more than one constraint on a return value may be marked for cascading validation are allowed.
|
MethodValidationConfiguration.Builder |
allowOverridingMethodAlterParameterConstraint(boolean allow)
Define whether overriding methods that override constraints should throw a
ConstraintDefinitionException . |
MethodValidationConfiguration.Builder |
allowParallelMethodsDefineParameterConstraints(boolean allow)
Define whether parallel methods that define constraints should throw a
ConstraintDefinitionException . |
MethodValidationConfiguration |
build() |
boolean |
isAllowMultipleCascadedValidationOnReturnValues() |
boolean |
isAllowOverridingMethodAlterParameterConstraint() |
boolean |
isAllowParallelMethodsDefineParameterConstraints() |
public Builder()
public Builder(MethodValidationConfiguration template)
public MethodValidationConfiguration.Builder allowOverridingMethodAlterParameterConstraint(boolean allow)
ConstraintDefinitionException
.
The default value is false
, i.e. do not allow.
See Section 5.6.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."
allow
- flag determining whether validation will allow overriding to alter parameter constraints.this
following the chaining method patternpublic MethodValidationConfiguration.Builder allowMultipleCascadedValidationOnReturnValues(boolean allow)
false
, i.e. do not allow.
"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."allow
- flag determining whether validation will allow multiple cascaded validation on return values.this
following the chaining method patternpublic MethodValidationConfiguration.Builder allowParallelMethodsDefineParameterConstraints(boolean allow)
ConstraintDefinitionException
. The
default value is false
, i.e. do not allow.
See Section 5.6.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."allow
- flag determining whether validation will allow parameter constraints in parallel hierarchiesthis
following the chaining method patternpublic boolean isAllowOverridingMethodAlterParameterConstraint()
public boolean isAllowMultipleCascadedValidationOnReturnValues()
public boolean isAllowParallelMethodsDefineParameterConstraints()
public MethodValidationConfiguration build()
Copyright © 2021 JBoss by Red Hat. All rights reserved.