package org.ovirt.engine.core.common.validation;
import java.lang.annotation.Annotation;
import java.util.List;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.ovirt.engine.core.common.config.Config;
import org.ovirt.engine.core.common.config.ConfigValues;
public abstract class ContainedInConfigValueListConstraint<A extends Annotation, T>
implements ConstraintValidator<A, T> {
private List<String> validValues;
@Override
public void initialize(A constraintAnnotation) {
validValues = Config.getValue(getConfigValue(constraintAnnotation));
}
@Override
public boolean isValid(T value, ConstraintValidatorContext context) {
if (value == null || validValues == null) {
return false;
}
return validValues.contains(value.toString());
}
public abstract ConfigValues getConfigValue(A constraintAnnotation);
}