All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sc.utils.beanvalidator.BeanValidators Maven / Gradle / Ivy

The newest version!

package com.sc.utils.beanvalidator;

import com.google.common.collect.Lists;
import com.google.common.collect.Maps;

import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.Validator;


public class BeanValidators
{

	
	public static void validateWithException(Validator validator, Object object, Class... groups)
			throws ConstraintViolationException {
		Set constraintViolations = validator.validate(object, groups);
		if (!constraintViolations.isEmpty()) {
			throw new ConstraintViolationException(constraintViolations);
		}
	}

	
	public static List extractMessage(ConstraintViolationException e) {
		return extractMessage(e.getConstraintViolations());
	}

	
	public static List extractMessage(Set constraintViolations) {
		List errorMessages = Lists.newArrayList();
		for (ConstraintViolation violation : constraintViolations) {
			errorMessages.add(violation.getMessage());
		}
		return errorMessages;
	}

	
	public static Map extractPropertyAndMessage(ConstraintViolationException e) {
		return extractPropertyAndMessage(e.getConstraintViolations());
	}

	
	public static Map extractPropertyAndMessage(Set constraintViolations) {
		Map errorMessages = Maps.newHashMap();
		for (ConstraintViolation violation : constraintViolations) {
			errorMessages.put(violation.getPropertyPath().toString(), violation.getMessage());
		}
		return errorMessages;
	}

	
	public static List extractPropertyAndMessageAsList(ConstraintViolationException e) {
		return extractPropertyAndMessageAsList(e.getConstraintViolations(), " ");
	}

	
	public static List extractPropertyAndMessageAsList(Set constraintViolations) {
		return extractPropertyAndMessageAsList(constraintViolations, " ");
	}

	
	public static List extractPropertyAndMessageAsList(ConstraintViolationException e, String separator) {
		return extractPropertyAndMessageAsList(e.getConstraintViolations(), separator);
	}

	
	public static List extractPropertyAndMessageAsList(Set constraintViolations,
			String separator) {
		List errorMessages = Lists.newArrayList();
		for (ConstraintViolation violation : constraintViolations) {
			errorMessages.add(violation.getPropertyPath() + separator + violation.getMessage());
		}
		return errorMessages;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy