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

com.moon.validator.impl.AllInStringsValidator Maven / Gradle / Ivy

package com.moon.validator.impl;

import com.moon.validator.annotation.AllInStrings;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

/**
 * @author benshaoye
 */
public class AllInStringsValidator extends CollectValidator implements ConstraintValidator {

    private String delimiter;
    private boolean ignoreSpace;

    public AllInStringsValidator() { super(hashSet(), true); }

    @Override
    protected String getDelimiter() { return delimiter; }

    @Override
    protected String preTransformItem(String value) { return ignoreSpace ? value.trim() : value; }

    @Override
    protected boolean afterPreTransformTest(String value) { return true; }

    @Override
    public void initialize(AllInStrings annotation) {
        this.delimiter = annotation.delimiter();
        this.ignoreSpace = annotation.trimmed();
        initialArgs(annotation.nullable(), annotation.values(), value -> value);
    }

    @Override
    public boolean isValid(Object value, ConstraintValidatorContext context) {
        return doValidateValue(value);
    }

    @Override
    protected Class getSupportedAnnotation() { return AllInStrings.class; }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy