package edu.ualberta.med.biobank.mvp.presenter.validation;
import com.google.gwt.user.client.ui.HasValue;
import com.pietschy.gwt.pectin.client.condition.DelegatingCondition;
import com.pietschy.gwt.pectin.client.form.validation.Validator;
public class ValueValidationBuilder<T> {
private final ValidationTree validationTree;
private final HasValue<T> source;
ValueValidationBuilder(ValidationTree validationTree, HasValue<T> source) {
this.validationTree = validationTree;
this.source = source;
}
public DelegatingConditionBuilder using(Validator<? super T> validator) {
ValueValidation<T> validation =
validationTree.getValueValidation(source);
DelegatingCondition condition = new DelegatingCondition(true);
validation.add(validator, condition);
return new DelegatingConditionBuilder(condition);
}
}