package org.springframework.data.rest.webmvc.support; import java.util.ArrayList; import java.util.List; import java.util.Locale; import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.context.MessageSource; /** * @author Jon Brisbin */ public class ConstraintViolationExceptionMessage { private final ConstraintViolationException cve; private final List<ConstraintViolationMessage> messages = new ArrayList<ConstraintViolationMessage>(); public ConstraintViolationExceptionMessage(ConstraintViolationException cve, MessageSource msgSrc, Locale locale) { this.cve = cve; for (ConstraintViolation<?> cv : cve.getConstraintViolations()) { messages.add(new ConstraintViolationMessage(cv, msgSrc, locale)); } } @JsonProperty("cause") public String getCause() { return cve.getMessage(); } @JsonProperty("messages") public List<ConstraintViolationMessage> getMessages() { return messages; } }