package au.com.vaadinutils.validator.numberRange; public class IntegerRangeValidator extends RangeValidator<Integer> { private static final long serialVersionUID = 1L; public IntegerRangeValidator(String label, Integer minValue, Integer maxValue) { super(Integer.class, label + " is not a valid number", label + " must be between " + minValue + " and " + maxValue, minValue, maxValue, true, true); } public IntegerRangeValidator(Class<Integer> type, String parseErrorMessage, String rangeErrorMessage, Integer minValue, Integer maxValue, Boolean minInclusive, Boolean maxInclusive) { super(type, parseErrorMessage, rangeErrorMessage, minValue, maxValue, minInclusive, maxInclusive); } @Override protected Integer getObjectValue(String str) { Integer number = 0; if (str != null && !"".equalsIgnoreCase(str)) { try { number = Integer.parseInt(str); } catch (Exception e) { throw new InvalidValueException(parseErrorMessage); } } return number; } @Override protected boolean greaterThanMin(Integer num) { boolean isHigher = false; if (minValue != null) { if (minInclusive) { isHigher = (num >= minValue); } else { isHigher = (num > minValue); } } return isHigher; } @Override protected boolean lessThanMax(Integer num) { boolean isLower = false; if (maxValue != null) { if (maxInclusive) { isLower = (num <= maxValue); } else { isLower = (num < maxValue); } } return isLower; } }