Add ValidatorService and ValidatorServiceImpl

This commit is contained in:
Tim
2025-05-08 14:09:41 +02:00
parent fc8149504e
commit 8df458c287
2 changed files with 39 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
package de.htwsaar.webshop.service;
public interface ValidatorService {
<T> boolean isInvalid(T object);
}

View File

@@ -0,0 +1,34 @@
package de.htwsaar.webshop.service.impl;
import de.htwsaar.webshop.service.ValidatorService;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.Set;
@Service
@Slf4j
public class ValidatorServiceImpl implements ValidatorService {
private final Validator validator;
public ValidatorServiceImpl() {
validator = Validation.buildDefaultValidatorFactory().getValidator();
}
/**
* Jakarta Validator
*
* @param validatable any Validatable
* @return whether the Object is Invalid
* @param <T> any Validatable
*/
@Override
public <T> boolean isInvalid(T validatable) {
Set<ConstraintViolation<T>> violations = validator.validate(validatable);
violations.forEach((violation) -> log.warn("[Validator] Invalid {}: {}", validatable, violation.getMessage()));
return !violations.isEmpty();
}
}