package restx.validation; import com.google.common.base.Joiner; import com.google.common.base.Optional; import javax.validation.ConstraintViolation; import javax.validation.Validator; import javax.validation.groups.Default; import java.util.Set; /** * User: xavierhanin * Date: 2/3/13 * Time: 9:57 PM */ public class Validations { /** * @deprecated Kept for backward compat. Use checkValid(Optional<Validator>, T, Class...) instead */ @Deprecated public static <T> T checkValid(Validator validator, T o) { return checkValid(Optional.of(validator), o); } public static <T> T checkValid(Optional<Validator> validator, T o, Class... groups) { if(o != null && validator.isPresent()) { if(groups == null || groups.length==0) { groups = new Class[]{ Default.class }; } Set<ConstraintViolation<T>> violations = validator.get().validate(o, groups); if (!violations.isEmpty()) { throw new MethodArgumentNotValidException(violations); } } return o; } }