javax.validation
Interface Configuration<T extends Configuration<T>>


public interface Configuration<T extends Configuration<T>>

Receives configuration information, selects the appropriate Bean Validation provider and builds the appropriate ValidatorFactory.

Usage:

 Configuration<?> configuration = //provided by one of the Validation bootstrap methods
     ValidatorFactory = configuration
         .messageInterpolator( new CustomMessageInterpolator() )
         .buildValidatorFactory();
 

By default, the configuration information is retrieved from META-INF/validation.xml. It is possible to override the configuration retrieved from the XML file by using one or more of the Configuration methods.

The ValidationProviderResolver is specified at configuration time (see ValidationProvider). If none is explicitly requested, the default ValidationProviderResolver is used.

The provider is selected in the following way:

Implementations are not meant to be thread-safe.

Author:
Emmanuel Bernard

Method Summary
 T addMapping(java.io.InputStream stream)
          Add a stream describing constraint mapping in the Bean Validation XML format.
 T addProperty(java.lang.String name, java.lang.String value)
          Add a provider specific property.
 ValidatorFactory buildValidatorFactory()
          Build a ValidatorFactory implementation.
 T constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory)
          Defines the constraint validator factory.
 ConstraintValidatorFactory getDefaultConstraintValidatorFactory()
          Return an implementation of the ConstraintValidatorFactory interface following the default ConstraintValidatorFactory defined in the specification: uses the public no-arg constructor of the ConstraintValidator
 MessageInterpolator getDefaultMessageInterpolator()
          Return an implementation of the MessageInterpolator interface following the default MessageInterpolator defined in the specification: use the ValidationMessages resource bundle to load keys use Locale.getDefault()
 TraversableResolver getDefaultTraversableResolver()
          Return an implementation of the TraversableResolver interface following the default TraversableResolver defined in the specification: if Java Persistence is available in the runtime environment, a property is considered reachable if Java Persistence considers the property as loaded if Java Persistence is not available in the runtime environment, all properties are considered reachable all properties are considered cascadable.
 T ignoreXmlConfiguration()
          Ignore data from the META-INF/validation.xml file if this method is called.
 T messageInterpolator(MessageInterpolator interpolator)
          Defines the message interpolator used.
 T traversableResolver(TraversableResolver resolver)
          Defines the traversable resolver used.
 

Method Detail

ignoreXmlConfiguration

T ignoreXmlConfiguration()
Ignore data from the META-INF/validation.xml file if this method is called. This method is typically useful for containers that parse META-INF/validation.xml themselves and pass the information via the Configuration methods.

Returns:
this following the chaining method pattern.

messageInterpolator

T messageInterpolator(MessageInterpolator interpolator)
Defines the message interpolator used. Has priority over the configuration based message interpolator. If null is passed, the default message interpolator is used (defined in XML or the specification default).

Parameters:
interpolator - message interpolator implementation.
Returns:
this following the chaining method pattern.

traversableResolver

T traversableResolver(TraversableResolver resolver)
Defines the traversable resolver used. Has priority over the configuration based traversable resolver. If null is passed, the default traversable resolver is used (defined in XML or the specification default).

Parameters:
resolver - traversable resolver implementation.
Returns:
this following the chaining method pattern.

constraintValidatorFactory

T constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory)
Defines the constraint validator factory. Has priority over the configuration based constraint factory. If null is passed, the default constraint validator factory is used (defined in XML or the specification default).

Parameters:
constraintValidatorFactory - constraint factory inmplementation.
Returns:
this following the chaining method pattern.

addMapping

T addMapping(java.io.InputStream stream)
Add a stream describing constraint mapping in the Bean Validation XML format.

The stream should be closed by the client API after the ValidatorFactory has been built. The Bean Validation provider must not close the stream.

Parameters:
stream - XML mapping stream.
Returns:
this following the chaining method pattern.
Throws:
java.lang.IllegalArgumentException - if stream is null

addProperty

T addProperty(java.lang.String name,
              java.lang.String value)
Add a provider specific property. This property is equivalent to XML configuration properties. If the underlying provider does not know how to handle the property, it must silently ignore it.

Note: Using this non type-safe method is generally not recommended.

It is more appropriate to use, if available, the type-safe equivalent provided by a specific provider via its Configuration subclass. ValidatorFactory factory = Validation.byProvider(ACMEPrivoder.class) .configure() .providerSpecificProperty(ACMEState.FAST) .buildValidatorFactory(); This method is typically used by containers parsing META-INF/validation.xml themselves and injecting the state to the Configuration object.

If a property with a given name is defined both via this method and in the XML configuration, the value set programmatically has priority. If null is passed as a value, the value defined in XML is used. If no value is defined in XML, the property is considered unset.

Parameters:
name - property name.
value - property value.
Returns:
this following the chaining method pattern.
Throws:
java.lang.IllegalArgumentException - if name is null

getDefaultMessageInterpolator

MessageInterpolator getDefaultMessageInterpolator()
Return an implementation of the MessageInterpolator interface following the default MessageInterpolator defined in the specification:
  • use the ValidationMessages resource bundle to load keys
  • use Locale.getDefault()

Returns:
default MessageInterpolator implementation compliant with the specification

getDefaultTraversableResolver

TraversableResolver getDefaultTraversableResolver()
Return an implementation of the TraversableResolver interface following the default TraversableResolver defined in the specification:
  • if Java Persistence is available in the runtime environment, a property is considered reachable if Java Persistence considers the property as loaded
  • if Java Persistence is not available in the runtime environment, all properties are considered reachable
  • all properties are considered cascadable.

Returns:
default TraversableResolver implementation compliant with the specification

getDefaultConstraintValidatorFactory

ConstraintValidatorFactory getDefaultConstraintValidatorFactory()
Return an implementation of the ConstraintValidatorFactory interface following the default ConstraintValidatorFactory defined in the specification:
  • uses the public no-arg constructor of the ConstraintValidator

Returns:
default ConstraintValidatorFactory implementation compliant with the specification

buildValidatorFactory

ValidatorFactory buildValidatorFactory()
Build a ValidatorFactory implementation.

Returns:
ValidatorFactory
Throws:
ValidationException - if the ValidatorFactory cannot be built


Submit a bug or feature

Copyright © 2009, 2010, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.

Generated on 4-June-2010 04:34