33 lines
840 B
Java
33 lines
840 B
Java
package me.zinch.validator;
|
|
|
|
import jakarta.validation.ConstraintViolation;
|
|
import jakarta.validation.ValidationException;
|
|
|
|
import java.util.Set;
|
|
|
|
/**
|
|
* Represents the result of a validation process.
|
|
* @param <T> the type of object being validated
|
|
*/
|
|
public class ValidateResult<T> {
|
|
private final Set<ConstraintViolation<T>> violations;
|
|
private final boolean isValid;
|
|
|
|
public ValidateResult(Set<ConstraintViolation<T>> violations) {
|
|
this.violations = violations;
|
|
this.isValid = violations.isEmpty();
|
|
}
|
|
|
|
public String getMessage() {
|
|
return String.join("\n", violations.stream().map(ConstraintViolation::getMessage).toList());
|
|
}
|
|
|
|
public boolean isValid() {
|
|
return isValid;
|
|
}
|
|
|
|
public void throwIfNotValid() throws ValidationException {
|
|
if (!isValid) throw new ValidationException(getMessage());
|
|
}
|
|
}
|