/**
*
*/
package br.com.caelum.vraptor.validator;
import javax.annotation.PostConstruct;
import javax.validation.MessageInterpolator;
import javax.validation.Validation;
import javax.validation.ValidatorFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import br.com.caelum.vraptor.ioc.ApplicationScoped;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.ComponentFactory;
/**
* Factory for JSR303 MessageInterpolator
* @author Lucas Cavalcanti
* @since 3.1.3
*
*/
@Component
@ApplicationScoped
public class MessageInterpolatorFactory implements ComponentFactory<MessageInterpolator> {
private static final Logger logger = LoggerFactory.getLogger(MessageInterpolatorFactory.class);
private MessageInterpolator interpolator;
@PostConstruct
public void createInterpolator() {
interpolator = getValidatorFactory().getMessageInterpolator();
logger.debug("Initializing Bean Validator MessageInterpolator");
}
public MessageInterpolator getInstance() {
return interpolator;
}
private ValidatorFactory getValidatorFactory() {
return Validation.byDefaultProvider()
.configure()
.buildValidatorFactory();
}
}