javax.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 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.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeBuilderCustomizableContext` Represents a node whose context is configurable (i.e.
    `static interface` | `ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeBuilderDefinedContext` Represents a node whose context is known (i.e.
    `static interface` | `ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeContextBuilder` Represents refinement choices for a node which is in an `Iterator` or `Map`.
    `static interface` | `ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderCustomizableContext` Represents a node whose context is configurable (i.e.
    `static interface` | `ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext` Represents a node whose context is known (i.e.
    `static interface` | `ConstraintValidatorContext.ConstraintViolationBuilder.NodeContextBuilder` Represents refinement choices for a node which is in an `Iterator` or `Map`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeBuilderCustomizableContext` | `addBeanNode()` Adds a bean node (class-level) to the path the `ConstraintViolation` will be associated to.
    `ConstraintValidatorContext` | `addConstraintViolation()` Adds the new `ConstraintViolation` to be generated if the constraint validator marks the value as invalid.
    `ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext` | `addNode(String name)` Deprecated. since 1.1 - replaced by `addPropertyNode(String)`, `addBeanNode()` and `addParameterNode(int)`
    `ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext` | `addParameterNode(int index)` Adds a method parameter node to the path the `ConstraintViolation` will be associated to.
    `ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderCustomizableContext` | `addPropertyNode(String name)` Adds a property node to the path the `ConstraintViolation` will be associated to.

- - ### Method Detail

    - #### addNode

          ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext addNode(String name)

      Deprecated. since 1.1 - replaced by `addPropertyNode(String)`, `addBeanNode()` and `addParameterNode(int)`
      Adds a node to the path the `ConstraintViolation` 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(String name)

      Adds a property node to the path the `ConstraintViolation` 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:
        `IllegalArgumentException` - if the name is null
      Since:
        1.1

    - #### addBeanNode

          ConstraintValidatorContext.ConstraintViolationBuilder.LeafNodeBuilderCustomizableContext addBeanNode()

      Adds a bean node (class-level) to the path the `ConstraintViolation` will be associated to. Note that bean nodes are always leaf nodes.
      Returns:
        a builder representing the bean node
      Since:
        1.1

    - #### addParameterNode

          ConstraintValidatorContext.ConstraintViolationBuilder.NodeBuilderDefinedContext addParameterNode(int index)

      Adds a method parameter node to the path the `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.
      Parameters:
        `index` - the parameter index
      Returns:
        a builder representing the index-th parameter node
      Throws:
        `IllegalArgumentException` - if the index is not valid
      Since:
        1.1

    - #### addConstraintViolation

          ConstraintValidatorContext addConstraintViolation()

      Adds the new `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.
      Returns:
        the `ConstraintValidatorContext` instance the `ConstraintViolationBuilder` comes from

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.