All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.gov.service.payments.commons.api.validation.MapValueAsStringLengthValidator Maven / Gradle / Ivy

There is a newer version: 1.0.20241120144934
Show newest version
package uk.gov.service.payments.commons.api.validation;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.Map;
import java.util.Objects;

public class MapValueAsStringLengthValidator implements ConstraintValidator> {

    private int max;
    private int min;

    @Override
    public void initialize(MapValueLength constraintAnnotation) {
        max = constraintAnnotation.max();
        min = constraintAnnotation.min();
    }

    @Override
    public boolean isValid(Map theMap, ConstraintValidatorContext context) {
        if (theMap == null) {
            return true;
        }

        return theMap.values().stream()
                .filter(Objects::nonNull)
                .map(Object::toString)
                .noneMatch(value -> value.length() < min || value.length() > max);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy