public class

LocalValidatorFactoryBean

extends SpringValidatorAdapter
implements InitializingBean ApplicationContextAware
java.lang.Object
   ↳ org.springframework.validation.beanvalidation.SpringValidatorAdapter
     ↳ org.springframework.validation.beanvalidation.LocalValidatorFactoryBean

Class Overview

This is the central class for javax.validation (JSR-303) setup in a Spring application context: It bootstraps a javax.validation.ValidationFactory and exposes it through the Spring Validator interface as well as through the JSR-303 javax.validation.Validator interface and the javax.validation.ValidatorFactory interface itself.

When talking to an instance of this bean through the Spring or JSR-303 Validator interfaces, you'll be talking to the default Validator of the underlying ValidatorFactory. This is very convenient in that you don't have to perform yet another call on the factory, assuming that you will almost always use the default Validator anyway. This can also be injected directly into any target dependency of type Validator!

See Also
  • javax.validation.ValidatorFactory
  • javax.validation.Validator
  • javax.validation.Validation#buildDefaultValidatorFactory()
  • javax.validation.ValidatorFactory#getValidator()

Summary

Public Constructors
LocalValidatorFactoryBean()
Public Methods
void afterPropertiesSet()
Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
ConstraintValidatorFactory getConstraintValidatorFactory()
MessageInterpolator getMessageInterpolator()
TraversableResolver getTraversableResolver()
Map<StringString> getValidationPropertyMap()
Allow Map access to the bean validation properties to be passed to the validation provider, with the option to add or override specific entries.
Validator getValidator()
void setApplicationContext(ApplicationContext applicationContext)
Set the ApplicationContext that this object runs in.
void setConstraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory)
Specify a custom ConstraintValidatorFactory to use for this ValidatorFactory.
void setMappingLocations(Resource[] mappingLocations)
Specify resource locations to load XML constraint mapping files from, if any.
void setMessageInterpolator(MessageInterpolator messageInterpolator)
Specify a custom MessageInterpolator to use for this ValidatorFactory and its exposed default Validator.
void setProviderClass(Class<? extends ValidationProvider> providerClass)
Specify the desired provider class, if any.
void setTraversableResolver(TraversableResolver traversableResolver)
Specify a custom TraversableResolver to use for this ValidatorFactory and its exposed default Validator.
void setValidationMessageSource(MessageSource messageSource)
Specify a custom Spring MessageSource for resolving validation messages, instead of relying on JSR-303's default "ValidationMessages.properties" bundle in the classpath.
void setValidationProperties(Properties jpaProperties)
Specify bean validation properties to be passed to the validation provider.
void setValidationPropertyMap(Map<StringString> validationProperties)
Specify bean validation properties to be passed to the validation provider as a Map.
ValidatorContext usingContext()
[Expand]
Inherited Methods
From class org.springframework.validation.beanvalidation.SpringValidatorAdapter
From class java.lang.Object
From interface org.springframework.beans.factory.InitializingBean
From interface org.springframework.context.ApplicationContextAware
From interface org.springframework.validation.Validator

Public Constructors

public LocalValidatorFactoryBean ()

Public Methods

public void afterPropertiesSet ()

Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

public ConstraintValidatorFactory getConstraintValidatorFactory ()

public MessageInterpolator getMessageInterpolator ()

public TraversableResolver getTraversableResolver ()

public Map<StringString> getValidationPropertyMap ()

Allow Map access to the bean validation properties to be passed to the validation provider, with the option to add or override specific entries.

Useful for specifying entries directly, for example via "validationPropertyMap[myKey]".

public Validator getValidator ()

public void setApplicationContext (ApplicationContext applicationContext)

Set the ApplicationContext that this object runs in. Normally this call will be used to initialize the object.

Invoked after population of normal bean properties but before an init callback such as afterPropertiesSet() or a custom init-method. Invoked after setResourceLoader(ResourceLoader), setApplicationEventPublisher(ApplicationEventPublisher) and MessageSourceAware, if applicable.

Parameters
applicationContext the ApplicationContext object to be used by this object

public void setConstraintValidatorFactory (ConstraintValidatorFactory constraintValidatorFactory)

Specify a custom ConstraintValidatorFactory to use for this ValidatorFactory.

Default is a SpringConstraintValidatorFactory, delegating to the containing ApplicationContext for creating autowired ConstraintValidator instances.

public void setMappingLocations (Resource[] mappingLocations)

Specify resource locations to load XML constraint mapping files from, if any.

public void setMessageInterpolator (MessageInterpolator messageInterpolator)

Specify a custom MessageInterpolator to use for this ValidatorFactory and its exposed default Validator.

public void setProviderClass (Class<? extends ValidationProvider> providerClass)

Specify the desired provider class, if any.

If not specified, JSR-303's default search mechanism will be used.

See Also
  • javax.validation.Validation#byProvider(Class)
  • javax.validation.Validation#byDefaultProvider()

public void setTraversableResolver (TraversableResolver traversableResolver)

Specify a custom TraversableResolver to use for this ValidatorFactory and its exposed default Validator.

public void setValidationMessageSource (MessageSource messageSource)

Specify a custom Spring MessageSource for resolving validation messages, instead of relying on JSR-303's default "ValidationMessages.properties" bundle in the classpath. This may refer to a Spring context's shared "messageSource" bean, or to some special MessageSource setup for validation purposes only.

NOTE: This feature requires Hibernate Validator 4.1 or higher on the classpath. You may nevertheless use a different validation provider but Hibernate Validator's ResourceBundleMessageInterpolator class must be accessible during configuration.

Specify either this property or "messageInterpolator", not both. If you would like to build a custom MessageInterpolator, consider deriving from Hibernate Validator's ResourceBundleMessageInterpolator and passing in a Spring MessageSourceResourceBundleLocator when constructing your interpolator.

See Also

public void setValidationProperties (Properties jpaProperties)

Specify bean validation properties to be passed to the validation provider.

Can be populated with a String "value" (parsed via PropertiesEditor) or a "props" element in XML bean definitions.

See Also
  • javax.validation.Configuration#addProperty(String, String)

public void setValidationPropertyMap (Map<StringString> validationProperties)

Specify bean validation properties to be passed to the validation provider as a Map.

Can be populated with a "map" or "props" element in XML bean definitions.

See Also
  • javax.validation.Configuration#addProperty(String, String)

public ValidatorContext usingContext ()