package edu.ualberta.med.biobank.validators;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.databinding.validation.ValidationStatus;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import edu.ualberta.med.biobank.gui.common.validators.AbstractValidator;
public class OrValidator extends AbstractValidator {
List<AbstractValidator> validators;
public OrValidator(List<AbstractValidator> validators, String message) {
super(message);
this.validators = new ArrayList<AbstractValidator>(validators);
}
@Override
public IStatus validate(Object value) {
for (AbstractValidator validator : this.validators) {
if (validator.validate(value).isOK()) {
hideDecoration();
return Status.OK_STATUS;
}
}
showDecoration();
return ValidationStatus.error(errorMessage);
}
}