Interface ValidationProvider<T extends Configuration<T>>

  • Type Parameters:
    T - the provider specific Configuration subclass which typically host provider's additional configuration methods


    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.

    • 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