/** * Gets validation mode which is determined by whether min, max, or both values are provided * * @return validation mode */ public final Mode getMode() { final R min = getMinimum(); final R max = getMaximum(); if (min == null && max != null) { return Mode.MAXIMUM; } else if (max == null && min != null) { return Mode.MINIMUM; } else if ((min == null && max == null) || max.equals(min)) { return Mode.EXACT; } else { return Mode.RANGE; } }
/** * Gets validation mode which is determined by whether min, max, or both values are provided * * @return validation mode */ public final Mode getMode() { final R min = getMinimum(); final R max = getMaximum(); if (min == null && max != null) { return Mode.MAXIMUM; } else if (max == null && min != null) { return Mode.MINIMUM; } else if ((min == null && max == null) || max.equals(min)) { return Mode.EXACT; } else { return Mode.RANGE; } }
@Override public void validate(IValidatable<V> validatable) { R value = getValue(validatable); final R min = getMinimum(); final R max = getMaximum(); if ((min != null && value.compareTo(min) < 0) || (max != null && value.compareTo(max) > 0)) { Mode mode = getMode(); ValidationError error = new ValidationError(this, mode.getVariation()); if (min != null) { error.setVariable("minimum", min); } if (max != null) { error.setVariable("maximum", max); } if (mode == Mode.EXACT) { error.setVariable("exact", max); } validatable.error(decorate(error, validatable)); } }
@Override public void validate(IValidatable<V> validatable) { R value = getValue(validatable); final R min = getMinimum(); final R max = getMaximum(); if ((min != null && value.compareTo(min) < 0) || (max != null && value.compareTo(max) > 0)) { Mode mode = getMode(); ValidationError error = new ValidationError(this, mode.getVariation()); if (min != null) { error.setVariable("minimum", min); } if (max != null) { error.setVariable("maximum", max); } if (mode == Mode.EXACT) { error.setVariable("exact", max); } validatable.error(decorate(error, validatable)); } }