Add ValidatorService and ValidatorServiceImpl
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
package de.htwsaar.webshop.service;
|
||||
|
||||
public interface ValidatorService {
|
||||
<T> boolean isInvalid(T object);
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user