/* * Copyright 2009 Andrew Pietsch * * Licensed under the Apache License, Version 2.0 (the "License"); you * may not use this file except in compliance with the License. You may * obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.dragome.forms.bindings.client.form.validation.validator; import java.util.List; import com.dragome.forms.bindings.client.form.validation.ListValidator; import com.dragome.forms.bindings.client.form.validation.message.ErrorMessage; import com.dragome.model.interfaces.IndexedValidationResultCollector; /** * Created by IntelliJ IDEA. * User: andrew * Date: Jun 20, 2008 * Time: 5:35:18 PM * To change this template use File | Settings | File Templates. */ public class NoNullElementsValidator<T> implements ListValidator<T> { public boolean stopAtFirstError= false; public NoNullElementsValidator() { } public NoNullElementsValidator(boolean stopAtFirstError) { this.stopAtFirstError= stopAtFirstError; } public void validate(List<? extends T> values, IndexedValidationResultCollector collector) { if (values != null) { for (int i= 0; i < values.size(); i++) { T value= values.get(i); if (value == null) { collector.add(i, createErrorMessageForIndex(i)); if (stopAtFirstError) { return; } } } } } protected ErrorMessage createErrorMessageForIndex(int i) { return new ErrorMessage(getErrorTextForIndex(i)); } protected String getErrorTextForIndex(int index) { return "The value at position " + index + " is null"; } }