paypay/paypayopa-sdk-java

View on GitHub
src/main/java/jp/ne/paypay/Validator.java

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
package jp.ne.paypay;

import jakarta.validation.ConstraintViolation;
import jakarta.validation.Validation;
import jakarta.validation.ValidatorFactory;
import java.util.Set;

public class Validator {
    private static jakarta.validation.Validator validator = null;
    private static Validator validatorInstance = null;

    private jakarta.validation.Validator getValidator() {
        if (validator == null) {
            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
            validator = factory.getValidator();
        }
        return validator;
    }

    public static Validator getInstance() {
        if (validatorInstance == null) {
            validatorInstance = new Validator();
        }
        return validatorInstance;
    }

    public String validate(Object object) {
        StringBuilder messageBuilder = new StringBuilder();
        Set<ConstraintViolation<Object>> violations = getValidator().validate(object);
        if (violations.isEmpty())
            return null;
        for (final ConstraintViolation<Object> violation : violations) {
            messageBuilder.append(violation.getMessage());
        }
        return messageBuilder.toString();
    }
}