/** * A helper method for creating a {@code Result} from a value and a validity * flag. If the flag is true, returns {@code Result.ok}, otherwise yields * {@code Result.error} bearing the error message returned by * {@link #getMessage(T)}. * <p> * For instance, the following {@code apply} method only accepts even * numbers: * * <pre> * @Override * public Result<T> apply(Integer value) { * return toResult(value, value % 2 == 0); * } * </pre> * * @param value * the validated value * @param isValid * whether the value is valid or not * @return the validation result */ protected ValidationResult toResult(T value, boolean isValid) { return isValid ? ValidationResult.ok() : ValidationResult.error(getMessage(value)); } }
@Override protected boolean isValidValue(String value) { if(value == null || value.isEmpty()) { super.setErrorMessage("Input value must not be empty!"); return false; } try { Integer.parseInt(value); } catch (Exception e) { super.setErrorMessage("Input value must be a number!"); return false; } return true; }
@Override protected boolean isValidValue(String value) { if(value == null || value.isEmpty()) { super.setErrorMessage("Input value must not be empty!"); return false; } try { Long.parseLong(value); } catch (Exception e) { super.setErrorMessage("Input value must be a number!"); return false; } return true; }
@Override protected boolean isValidValue(String value) { try { CronExpression.validateExpression(value); } catch (Exception e) { super.setErrorMessage("Invalid cron expression: " + e.getMessage()); return false; } return true; }