javax.validation.spi

## Interface ValidationProvider<T extends Configuration<T>>

-     public interface ValidationProvider<T extends Configuration<T>>

  Contract between the validation bootstrap mechanism and the provider engine.

  Implementations must have a public no-arg constructor. The construction of a provider should be as "lightweight" as possible. `T` represents the provider specific Configuration subclass which typically host provider's additional configuration methods.
  Author:
    Emmanuel Bernard, Hardy Ferentschik

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ValidatorFactory` | `buildValidatorFactory(ConfigurationState configurationState)` Build a `ValidatorFactory` using the current provider implementation.
    `Configuration<?>` | `createGenericConfiguration(BootstrapState state)` Returns a `Configuration` instance.
    `T` | `createSpecializedConfiguration(BootstrapState state)` Returns a `Configuration` instance implementing `T`, the `Configuration` sub-interface.

- - ### Method Detail

    - #### createSpecializedConfiguration

          T createSpecializedConfiguration(BootstrapState state)

      Returns a `Configuration` instance implementing `T`, the `Configuration` sub-interface. The returned `Configuration` instance must use the current provider (`this`) to build the `ValidatorFactory` instance.
      Parameters:
        `state` - bootstrap state
      Returns:
        specific `Configuration` implementation

    - #### createGenericConfiguration

          Configuration<?> createGenericConfiguration(BootstrapState state)

      Returns a `Configuration` instance. This instance is not bound to use the current provider. The choice of provider follows the algorithm described in `Configuration`

      The `ValidationProviderResolver` used by `Configuration` is provided by `state`. If null, the default `ValidationProviderResolver` is used.
      Parameters:
        `state` - bootstrap state
      Returns:
        non specialized Configuration implementation

    - #### buildValidatorFactory

          ValidatorFactory buildValidatorFactory(ConfigurationState configurationState)

      Build a `ValidatorFactory` using the current provider implementation.

      The `ValidatorFactory` is assembled and follows the configuration passed via `ConfigurationState`.

      The returned `ValidatorFactory` is properly initialized and ready for use.
      Parameters:
        `configurationState` - the configuration descriptor
      Returns:
        the instantiated `ValidatorFactory`
      Throws:
        `ValidationException` - if the `ValidatorFactory` cannot be built

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