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

io.github.minorg.whoisclient.parser.WhoisPatternFieldParser Maven / Gradle / Ivy

The newest version!
package io.github.minorg.whoisclient.parser;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

import com.google.common.base.Optional;

abstract class WhoisPatternFieldParser implements WhoisFieldParser {
    protected WhoisPatternFieldParser(final String[] patternStrings) {
        patterns = new Pattern[patternStrings.length];
        for (int patternI = 0; patternI < patternStrings.length; patternI++) {
            try {
                patterns[patternI] = Pattern.compile(patternStrings[patternI], Pattern.CASE_INSENSITIVE);
            } catch (final PatternSyntaxException e) {
                throw new IllegalStateException(e);
            }
        }
    }

    protected final Optional _match(final String raw) {
        for (final Pattern pattern : patterns) {
            final Matcher matcher = pattern.matcher(raw);
            if (matcher.find()) {
                return Optional.of(matcher);
            }
        }
        return Optional.absent();
    }

    private final Pattern[] patterns;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy