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

stalkr.html.parser.SearchTextValueParser Maven / Gradle / Ivy

package stalkr.html.parser;

import lombok.AllArgsConstructor;
import lombok.val;

import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.regex.Pattern;

/**
 * Created by ronei.gebert on 11/08/2017.
 */
@AllArgsConstructor
public class SearchTextValueParser implements BiFunction {

    Pattern pattern;
    int groupIndex;
    BiFunction parser;

    @Override
    public Object apply(String text, Boolean required) {
        val matcher = pattern.matcher( text );
        if ( !matcher.find() ) {
            if ( !required ) return null;
            throw new RuntimeException("Text not found for pattern [" + pattern.pattern() + "] and text [" + text + "]");
        }
        return parser.apply( matcher.group(groupIndex), required );
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy