/** * Get the queued error messages. * @return List */ public List<ValidationListener.Error> getErrorMessages() { if (defaultDisabled && errorMessages.isEmpty()) { throw new ValidationException( "At least one custom message must be created if the default error message gets disabled."); } List<ValidationListener.Error> returnedErrorMessages = new ArrayList<ValidationListener.Error>(errorMessages); if (!defaultDisabled) { returnedErrorMessages.add(new ValidationListener.Error( getDefaultConstraintMessageTemplate(), validationContext.getPropertyPath(), null)); } return returnedErrorMessages; }
/** * Add an Error to the property-keyed map of Errors maintained for this Error's owner. * @param error * @see {@link Error#getOwner()} */ protected void addToOwnerBucket(Error error) { if (error.getOwner() == null) { return; } Map<String, List<Error>> errors = errorsByOwner.get(error.getOwner()); if (errors == null) { errors = new HashMap<String, List<Error>>(); errorsByOwner.put(error.getOwner(), errors); } List<Error> list = errors.get(error.getPropertyName()); if (list == null) { list = new ArrayList<Error>(); errors.put(error.getPropertyName(), list); } list.add(error); }
/** * Add an Error to the set of Errors shared by a particular "reason." * @param error * @see {@link Error#getReason()} */ protected void addToReasonBucket(Error error) { if (error.getReason() == null) { return; } List<Error> errors = errorsByReason.get(error.getReason()); if (errors == null) { errors = new ArrayList<Error>(); errorsByReason.put(error.getReason(), errors); } errors.add(error); }
/** * Add an error message to this {@link ConstraintValidatorContext}. * @param messageTemplate * @param propertyPath */ public void addError(String messageTemplate, Path propertyPath) { errorMessages.add(new ValidationListener.Error(messageTemplate, propertyPath, null)); } }
/** * Create an Error object. * @param reason * @param owner * @param propertyName * @return new {@link Error} */ protected Error createError(String reason, Object owner, String propertyName) { return new Error(reason, owner, propertyName); }