All Downloads are FREE. Search and download functionalities are using the official Maven repository.

restx.validation.ValidatorFactory Maven / Gradle / Ivy

There is a newer version: 1.2.0-rc2
Show newest version
package restx.validation;

import org.hibernate.validator.HibernateValidator;
import org.hibernate.validator.HibernateValidatorConfiguration;
import restx.factory.Module;
import restx.factory.Name;
import restx.factory.Provides;

import javax.inject.Named;
import javax.validation.Validation;
import javax.validation.Validator;

/**
 * User: xavierhanin
 * Date: 2/3/13
 * Time: 9:48 PM
 */
@Module
public class ValidatorFactory {
    public static final String VALIDATOR_NAME = "hibernate.validator";
    public static final String IGNORE_XML_CONFIGURATION_NAME = "hibernate.validator.ignore.xml.configuration";
    public static final Name VALIDATOR = Name.of(Validator.class, VALIDATOR_NAME);

    @Provides @Named(VALIDATOR_NAME)
    public Validator validator(@Named(IGNORE_XML_CONFIGURATION_NAME) Boolean ignoreXmlConfiguration) {
        HibernateValidatorConfiguration config = Validation.byProvider(HibernateValidator.class).configure();
        if(ignoreXmlConfiguration) {
            config.ignoreXmlConfiguration();
        }
        return config.buildValidatorFactory().getValidator();
    }

    // Perf improvement to greatly fasten startup time
    @Provides @Named(IGNORE_XML_CONFIGURATION_NAME)
    public Boolean ignoreXmlConfigurationFlag(){
        return Boolean.TRUE;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy