/** * */ package org.javabuilders.handler.validation.validator; import org.javabuilders.BuildResult; import org.javabuilders.NamedObjectProperty; import org.javabuilders.handler.validation.ValidationMessage; import org.javabuilders.handler.validation.ValidationMessageList; /** * Max length validator * @author Jacek Furmankiewicz * */ public class MaxLengthValidator extends AbstractValidator { private Integer maxLength=0; /** * @param property * @param label * @param messageFormat * @param result */ public MaxLengthValidator(NamedObjectProperty property, String label, String messageFormat, BuildResult result, Integer maxLength) { super(property, label, messageFormat, result); this.maxLength = maxLength; } /* (non-Javadoc) * @see org.javabuilders.handler.validation.ICustomValidator#validate(java.lang.Object, org.javabuilders.handler.validation.ValidationMessageList) */ public void validate(Object value, ValidationMessageList list) { String sValue = getStringValue(value); if (sValue != null && sValue.length() > maxLength) { //non-strings, just check for null list.add(new ValidationMessage(getProperty(),getMessage(getLabel(),maxLength))); } } /** * @return the maxLength */ public Integer getMaxLength() { return maxLength; } /** * @param maxLength the maxLength to set */ public void setMaxLength(Integer maxLength) { this.maxLength = maxLength; } }