package de.unioninvestment.eai.portal.portlet.crud.scripting.model;
import groovy.lang.Closure;
import com.vaadin.ui.Field;
import de.unioninvestment.eai.portal.support.vaadin.validation.FieldValidator;
/**
* FieldValidator that delegates validation to a {@link Closure} via
* {@link ScriptValidator}.
*
* @author cmj
*
*/
public class ScriptFieldValidator implements FieldValidator {
private Closure<?> closure;
private String message;
private ScriptTable table;
public ScriptFieldValidator(ScriptTable scriptTable, Closure<?> closure, String message) {
this.table = scriptTable;
this.closure = closure;
this.message = message;
}
@Override
public void apply(Field<?> field) {
field.addValidator(new ScriptValidator(table, closure, message));
}
}