PROG_LAB5-7/src/main/java/me/zinch/validator/ValidateResult.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());
}
}