T - the type of a provider-specific specialization of this contractpublic interface Configuration<T extends Configuration<T>>
ValidatorFactory.
 Usage:
 //provided by one of the Validation bootstrap methods
 Configuration<?> configuration =
     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:
Validation.byProvider(Class), find the first provider implementing
     the provider class requested and use itMETA-INF/validation.xml,
     find the first provider implementing the provider class requested and use itValidationProviderResolverImplementations are not meant to be thread-safe.
| Modifier and Type | Method and Description | 
|---|---|
T | 
addMapping(java.io.InputStream stream)
Add a stream describing constraint mapping in the Jakarta Bean Validation XML
 format. 
 | 
T | 
addProperty(java.lang.String name,
           java.lang.String value)
Adds a provider specific property. 
 | 
T | 
addValueExtractor(ValueExtractor<?> extractor)
Adds a value extractor. 
 | 
ValidatorFactory | 
buildValidatorFactory()
Build a  
ValidatorFactory implementation. | 
T | 
clockProvider(ClockProvider clockProvider)
Defines the clock provider. 
 | 
T | 
constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory)
Defines the constraint validator factory. 
 | 
BootstrapConfiguration | 
getBootstrapConfiguration()
Returns configuration information stored in the  
META-INF/validation.xml file. | 
ClockProvider | 
getDefaultClockProvider()
Returns an implementation of the  
ClockProvider
 interface following the default ClockProvider
 defined in the specification:
 
     returns a clock representing the current system time and default time
     zone.
  | 
ConstraintValidatorFactory | 
getDefaultConstraintValidatorFactory()
Returns 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()
Returns 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()
  | 
ParameterNameProvider | 
getDefaultParameterNameProvider()
Returns an implementation of the  
ParameterNameProvider
 interface following the default ParameterNameProvider
 defined in the specification:
 
     returns the actual parameter names as provided in the validated
     executable’s definition, if the class file of the executable contains
     parameter name information
     
     otherwise returns names in the form arg<PARAMETER_INDEX>,
     where PARAMETER_INDEX starts at 0 for the first parameter,
     e.g. | 
TraversableResolver | 
getDefaultTraversableResolver()
Returns 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()
Ignores data from the  
META-INF/validation.xml file if this
 method is called. | 
T | 
messageInterpolator(MessageInterpolator interpolator)
Defines the message interpolator used. 
 | 
T | 
parameterNameProvider(ParameterNameProvider parameterNameProvider)
Defines the parameter name provider. 
 | 
T | 
traversableResolver(TraversableResolver resolver)
Defines the traversable resolver used. 
 | 
T ignoreXmlConfiguration()
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.
this following the chaining method pattern.T messageInterpolator(MessageInterpolator interpolator)
 If null is passed, the default message interpolator is used
 (defined in XML or the specification default).
interpolator - message interpolator implementationthis following the chaining method patternT traversableResolver(TraversableResolver resolver)
 If null is passed, the default traversable resolver is used
 (defined in XML or the specification default).
resolver - traversable resolver implementationthis following the chaining method patternT constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory)
 If null is passed, the default constraint validator factory is used
 (defined in XML or the specification default).
constraintValidatorFactory - constraint factory implementationthis following the chaining method patternT parameterNameProvider(ParameterNameProvider parameterNameProvider)
 If null is passed, the default parameter name provider is used
 (defined in XML or the specification default).
parameterNameProvider - parameter name provider implementationthis following the chaining method pattern.T clockProvider(ClockProvider clockProvider)
 If null is passed, the default clock provider is used
 (defined in XML or the specification default).
clockProvider - clock provider implementationthis following the chaining method pattern.T addValueExtractor(ValueExtractor<?> extractor)
extractor - value extractor implementationthis following the chaining method pattern.ValueExtractorDeclarationException - if more than one extractor for
         the same type and type parameter is addedT addMapping(java.io.InputStream stream)
 The stream should be closed by the client API after the
 ValidatorFactory has been built. The Jakarta Bean Validation provider
 must not close the stream.
stream - XML mapping stream; the given stream should support the
        mark/reset contract (see InputStream.markSupported());
        if it doesn't, it will be wrapped into a stream supporting the
        mark/reset contract by the Jakarta Bean Validation providerthis following the chaining method patternjava.lang.IllegalArgumentException - if stream is nullT addProperty(java.lang.String name, java.lang.String value)
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(ACMEProvider.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.
name - property namevalue - property valuethis following the chaining method patternjava.lang.IllegalArgumentException - if name is nullMessageInterpolator getDefaultMessageInterpolator()
MessageInterpolator interface
 following the default MessageInterpolator defined in the
 specification:
 ValidationMessages resource bundle to load keysLocale.getDefault()MessageInterpolator implementation compliant with the
         specificationTraversableResolver getDefaultTraversableResolver()
TraversableResolver interface
 following the default TraversableResolver defined in the
 specification:
 TraversableResolver implementation compliant with the
         specificationConstraintValidatorFactory getDefaultConstraintValidatorFactory()
ConstraintValidatorFactory interface
 following the default ConstraintValidatorFactory defined in the
 specification:
 ConstraintValidatorConstraintValidatorFactory implementation compliant with the
         specificationParameterNameProvider getDefaultParameterNameProvider()
ParameterNameProvider
 interface following the default ParameterNameProvider
 defined in the specification:
 arg<PARAMETER_INDEX>,
     where PARAMETER_INDEX starts at 0 for the first parameter,
     e.g. arg0, arg1 etc.ParameterNameProvider implementation compliant with
         the specificationClockProvider getDefaultClockProvider()
ClockProvider
 interface following the default ClockProvider
 defined in the specification:
 ClockProvider implementation compliant with
         the specificationBootstrapConfiguration getBootstrapConfiguration()
META-INF/validation.xml file.
 
 Note:
 
 Implementations are encouraged to lazily build this object to delay parsing.
BootstrapConfiguration; this method never
         returns null; if there is no META-INF/validation.xml the
         different getters of the returned instance will return null
         respectively an empty set or mapValidatorFactory buildValidatorFactory()
ValidatorFactory implementation.ValidatorFactoryValidationException - if the ValidatorFactory cannot be built