package cms.model.validator;
import cms.model.model.IEntity;
import java.util.HashMap;
import org.slim3.controller.ControllerConstants;
import org.slim3.controller.validator.Errors;
import org.slim3.controller.validator.Validators;
import org.slim3.util.BeanUtil;
public abstract class AbstractValidator implements IValidator {
protected boolean add = false;
protected Validators validators;
protected HashMap<String, Object> input = new HashMap<String, Object>();
public boolean validateAdd(IEntity entity) throws ValidatorException {
add = true;
return validate(entity);
}
public boolean validateEdit(IEntity entity) throws ValidatorException {
return validate(entity);
}
protected boolean validate(IEntity entity) throws ValidatorException {
input.put(ControllerConstants.ERRORS_KEY, new Errors());
BeanUtil.copy(entity, input);
validators = new Validators(input);
if (!validateFields() || !validators.validate()) {
throw new ValidatorException(validators.getErrors());
}
return validators.validate();
}
protected abstract boolean validateFields();
protected boolean isAdd() {
return add;
}
protected boolean isEdit() {
return !add;
}
}