package org.jvalue.ods.utils;
import com.google.inject.Injector;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorFactory;
/**
* Use Guice DI for creating {@link javax.validation.ConstraintValidator} instances.
*/
public final class GuiceConstraintValidatorFactory implements ConstraintValidatorFactory {
private final Injector injector;
public GuiceConstraintValidatorFactory(Injector injector) {
this.injector = injector;
}
@Override
public <T extends ConstraintValidator<?,?>> T getInstance(Class<T> validatorClass) {
return injector.getInstance(validatorClass);
}
@Override
public void releaseInstance(ConstraintValidator<?,?> instance) {
// not using any caching at the moment
}
}