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