Package jakarta.validation
Interface ConstraintValidatorContext.ConstraintViolationBuilder
-
- Enclosing interface:
- ConstraintValidatorContext
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 theaddConstraintViolation()
methods available in one of the interfaces of the fluent API.If another method is called after
addConstraintViolation()
onConstraintViolationBuilder
or any of its associated objects anIllegalStateException
is raised.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ConstraintValidatorContext.ConstraintViolationBuilder.ContainerElementNodeBuilderCustomizableContext
Represents a container element node whose context is configurable (i.e. index, key and isInIterable) and that is not necessarily a leaf node (i.e. subnodes can be added).static interface
ConstraintValidatorContext.ConstraintViolationBuilder.ContainerElementNodeBuilderDefinedContext
Represents a container element node whose context is known (i.e. index, key and isInIterable) and that is not necessarily a leaf node (i.e. subnodes can be added).static interface
ConstraintValidatorContext.ConstraintViolationBuilder.ContainerElementNodeContextBuilder
Represents refinement choices for a container element node.static interface
ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeBuilderCustomizableContext
Represents a node whose context is configurable (i.e. index, key and isInIterable) and that is a leaf node (i.e. no subnode can be added).static interface
ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeBuilderDefinedContext
Represents a node whose context is known (i.e. index, key and isInIterable) and that is a leaf node (i.e. no subnode can be added).static interface
ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeContextBuilder
Represents refinement choices for a node which is in an iterable, e.g. array,Iterable
orMap
.static interface
ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderCustomizableContext
Represents a node whose context is configurable (i.e. index, key and isInIterable) and that is not necessarily a leaf node (i.e. subnodes can be added).static interface
ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext
Represents a node whose context is known (i.e. index, key and isInIterable) and that is not necessarily a leaf node (i.e. subnodes can be added).static interface
ConstraintValidatorContext.ConstraintViolationBuilder.NodeContextBuilder
Represents refinement choices for a node which is in an iterable, e.g. array,Iterable
orMap
.
-
Method Summary
-
-
-
Method Detail
-
addNode
ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext addNode(java.lang.String name)
Deprecated.Adds a node to the path theConstraintViolation
will be associated to.name
describes a single property. In particular, dot (.) is not allowed.- Parameters:
name
- property name- Returns:
- a builder representing node
name
-
addPropertyNode
ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderCustomizableContext addPropertyNode(java.lang.String name)
Adds a property node to the path theConstraintViolation
will be associated to.name
describes a single property. In particular, dot (.) is not allowed.- Parameters:
name
- property name- Returns:
- a builder representing node
name
- Throws:
java.lang.IllegalArgumentException
- if the name is null- Since:
- 1.1
-
addBeanNode
ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeBuilderCustomizableContext addBeanNode()
Adds a bean node (class-level) to the path theConstraintViolation
will be associated to. Note that bean nodes are always leaf nodes.- Returns:
- a builder representing the bean node
- Since:
- 1.1
-
addContainerElementNode
ConstraintValidatorContext.ConstraintViolationBuilder.ContainerElementNodeBuilderCustomizableContext addContainerElementNode(java.lang.String name, java.lang.Class<?> containerType, java.lang.Integer typeArgumentIndex)
Adds a container element node to the path theConstraintViolation
will be associated to.- Parameters:
name
- the node namecontainerType
- the type of the containertypeArgumentIndex
- the index of the type argument- Returns:
- a builder representing the container element node
- Throws:
java.lang.IllegalArgumentException
- if the index is not valid- Since:
- 2.0
-
addParameterNode
ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext addParameterNode(int index)
Adds a method parameter node to the path theConstraintViolation
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.- Parameters:
index
- the parameter index- Returns:
- a builder representing the index-th parameter node
- Throws:
java.lang.IllegalArgumentException
- if the index is not valid- Since:
- 1.1
-
addConstraintViolation
ConstraintValidatorContext addConstraintViolation()
Adds the newConstraintViolation
to be generated if the constraint validator marks the value as invalid.Methods of this
ConstraintViolationBuilder
instance and its nested objects throwIllegalStateException
from now on.- Returns:
- the
ConstraintValidatorContext
instance theConstraintViolationBuilder
comes from
-
-