public static interface ConstraintValidatorContext.ConstraintViolationBuilder
ConstraintViolation
builder allowing to optionally associate
the violation report to a sub path.
To create the ConstraintViolation
, one must call either one of
the addConstraintViolation()
methods available in one of the
interfaces of the fluent API.
If another method is called after addConstraintViolation()
on
ConstraintViolationBuilder
or any of its associated objects
an IllegalStateException
is raised.
ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext addNode(String name)
addPropertyNode(String)
,
addBeanNode()
and addParameterNode(int)
ConstraintViolation
will be associated to.
name
describes a single property. In particular,
dot (.) is not allowed.
name
- property namename
ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderCustomizableContext addPropertyNode(String name)
ConstraintViolation
will be associated to.
name
describes a single property. In particular,
dot (.) is not allowed.
name
- property namename
IllegalArgumentException
- if the name is nullConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeBuilderCustomizableContext addBeanNode()
ConstraintViolation
will be associated to.
Note that bean nodes are always leaf nodes.ConstraintValidatorContext.ConstraintViolationBuilder.ContainerElementNodeBuilderCustomizableContext addContainerElementNode(String name, Class<?> containerType, Integer typeArgumentIndex)
ConstraintViolation
will be associated to.name
- the node namecontainerType
- the type of the containertypeArgumentIndex
- the index of the type argumentIllegalArgumentException
- if the index is not validConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext addParameterNode(int index)
ConstraintViolation
will be associated to.
The parameter index must be valid (i.e. within the boundaries of the method
parameter indexes). May only be called from within cross-parameter validators.index
- the parameter indexIllegalArgumentException
- if the index is not validConstraintValidatorContext addConstraintViolation()
ConstraintViolation
to be generated if the
constraint validator marks the value as invalid.
Methods of this ConstraintViolationBuilder
instance and its nested
objects throw IllegalStateException
from now on.
ConstraintValidatorContext
instance the
ConstraintViolationBuilder
comes fromComments to: bean-validation-dev@eclipse.org.
Copyright © 2019,2020 Eclipse Foundation.
Use is subject to EFSL; this spec is based on material that is licensed under the Apache License, version 2.0.