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

com.fastchar.core.FastValidators Maven / Gradle / Ivy

package com.fastchar.core;

import com.fastchar.annotation.AFastPriority;
import com.fastchar.interfaces.IFastParamConverter;
import com.fastchar.interfaces.IFastScannerAccepter;
import com.fastchar.interfaces.IFastValidator;
import com.fastchar.utils.FastClassUtils;
import com.fastchar.validators.FastRegularValidator;

import java.util.*;

public final class FastValidators {

    FastValidators() {
    }

    public FastValidators putRegular(String key, String regular) {
        FastRegularValidator.REGULARS.put(key, regular);
        return this;
    }

    public Object validate(String paramName, Object paramValue, String... validators) {
        List iFastValidators = FastChar.getOverrides().singleInstances(false, IFastValidator.class);
        for (IFastValidator iFastValidator : iFastValidators) {
            if (iFastValidator != null) {
                for (String s : validators) {
                    String valid = iFastValidator.validate(s, paramName, paramValue);
                    if (valid != null) {
                        return valid;
                    }
                }
            }
        }
        return null;
    }

    public Set pluckKeys(String... validators) {
        Set keys = new HashSet<>();
        List iFastValidators = FastChar.getOverrides().singleInstances(false, IFastValidator.class);
        for (IFastValidator iFastValidator : iFastValidators) {
            if (iFastValidator != null) {
                for (String s : validators) {
                    keys.addAll(iFastValidator.pluckKeys(s));
                }
            }
        }
        return keys;
    }


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy