@Override public ValidationResult validate(final String subject, final String input) { try { return new ValidationResult.Builder().subject(subject).input(input).explanation("Valid URL").valid(true).build(); } catch (final Exception e) { return new ValidationResult.Builder().subject(subject).input(input).explanation("Not a valid URL").valid(false).build(); } } };
public ValidationResult build() { return new ValidationResult(this); } }
public static final Validator TYPE_VALIDATOR(Class<?> clz) { return new TypeValidator(clz); }
@Override public ValidationResult validate(final String subject, final String value) { final String[] filenames = value.split(","); for (final String filename : filenames) { final ValidationResult result = StandardValidators.FILE_EXISTS_VALIDATOR.validate(subject, filename.trim()); if (!result.isValid()) { return result; } } return new ValidationResult.Builder().subject(subject).input(value).valid(true).build(); } }
public static Validator createDirectoryExistsValidator(final boolean allowExpressionLanguage, final boolean createDirectoryIfMissing) { return new DirectoryExistsValidator(allowExpressionLanguage, createDirectoryIfMissing); }
@Override public ValidationResult validate(final String subject, final String input) { return new ValidationResult.Builder().subject(subject).input(input).valid(true).build(); } };
@Override public ValidationResult validate(final String subject, final String input) { try { new URI(input); return new ValidationResult.Builder().subject(subject).input(input).explanation("Valid URI").valid(true).build(); } catch (final Exception e) { return new ValidationResult.Builder().subject(subject).input(input).explanation("Not a valid URI").valid(false).build(); } } };
@Override public ValidationResult validate(final String subject, final String value) { String reason = null; try { value.split(","); } catch (final Exception e) { reason = "not a comma separated list"; } return new ValidationResult.Builder().subject(subject).input(value).explanation(reason).valid(reason == null).build(); } };
@Override public ValidationResult validate(final String subject, final String value) { String reason = null; try { final double intVal = Double.parseDouble(value); } catch (final NumberFormatException e) { reason = "not a valid double"; } catch (final NullPointerException e) { reason = "null is not a valid double"; } return new ValidationResult.Builder().subject(subject).input(value).explanation(reason).valid(reason == null).build(); } };
@Override public ValidationResult validate(final String subject, final String value) { return new ValidationResult.Builder().subject(subject).input(value).valid(value != null && !value.isEmpty()).explanation(subject + " cannot be empty").build(); } };
@Override public ValidationResult validate(final String subject, final String value) { String reason = null; try { final MessageDigest digest = MessageDigest.getInstance(value); } catch (final NoSuchAlgorithmException nsae) { reason = "'" + value + "' is not a supported algorithme by this JVM."; } catch (final NullPointerException npe) { reason = "null is not a supported algorithm"; } return new ValidationResult.Builder().subject(subject).input(value).explanation(reason).valid(reason == null).build(); } };
@Override public ValidationResult validate(final String subject, final String input) { return new ValidationResult.Builder().subject(subject).explanation(String.format("'%s' is not a supported property", subject)).input(input).build(); } };
@Override public ValidationResult validate(final String subject, final String value) { String reason = null; try { final float intVal = Float.parseFloat(value); } catch (final NumberFormatException e) { reason = "not a valid double"; } catch (final NullPointerException e) { reason = "null is not a valid double"; } return new ValidationResult.Builder().subject(subject).input(value).explanation(reason).valid(reason == null).build(); } };
@Override public ValidationResult validate(final String subject, final String input) { String reason = null; try { final long longVal = Long.parseLong(input); if (longVal < minimum || (!inclusive && longVal == minimum) | longVal > maximum || (!inclusive && longVal == maximum)) { reason = "Value must be between " + minimum + " and " + maximum + " (" + (inclusive ? "inclusive" : "exclusive") + ")"; } } catch (final NumberFormatException e) { reason = "not a valid integer"; } return new ValidationResult.Builder().subject(subject).input(input).explanation(reason).valid(reason == null).build(); }
@Override public ValidationResult validate(final String subject, final String value) { final boolean valid = "true".equalsIgnoreCase(value) || "false".equalsIgnoreCase(value); final String explanation = valid ? null : "Value must be 'true' or 'false'"; return new ValidationResult.Builder().subject(subject).input(value).valid(valid).explanation(explanation).build(); } };
@Override public ValidationResult validate(final String subject, final String value) { return new ValidationResult.Builder().subject(subject).input(value) .valid(value != null && !value.trim().isEmpty()) .explanation(subject + " must contain at least one character that is not white space").build(); } };
@Override public ValidationResult validate(final String subject, final String value) { final String substituted = value; final File file = new File(substituted); final boolean valid = file.exists(); final String explanation = valid ? null : "File " + file + " does not exist"; return new ValidationResult.Builder().subject(subject).input(value).valid(valid).explanation(explanation).build(); } }
@Override public ValidationResult validate(final String subject, final String value) { String reason = null; try { if (!Charset.isSupported(value)) { reason = "Character Set is not supported by this JVM."; } } catch (final UnsupportedCharsetException uce) { reason = "Character Set is not supported by this JVM."; } catch (final IllegalArgumentException iae) { reason = "Character Set value cannot be null."; } return new ValidationResult.Builder().subject(subject).input(value).explanation(reason).valid(reason == null).build(); } };
@Override public ValidationResult validate(final String subject, final String value) { String reason = null; try { if (value == null) { reason = "null is not a valid long"; } else { Long.parseLong(value); } } catch (final NumberFormatException e) { reason = "not a valid Long"; } return new ValidationResult.Builder().subject(subject).input(value).explanation(reason).valid(reason == null).build(); } };
@Override public ValidationResult validate(String subject, String input) { String reason = null; try { Class<?> c = Class.forName(input); if (!clz.isAssignableFrom(c)) { reason = c.getCanonicalName() + " does not inherit from " + input; } } catch (ClassNotFoundException e) { reason = "Could not find class " + input; } return new ValidationResult.Builder().subject(subject).input(input).explanation(reason).valid(reason == null).build(); } }