
fi.evolver.utils.spliterator.MatcherSpliterator Maven / Gradle / Ivy
package fi.evolver.utils.spliterator;
import java.util.Spliterators.AbstractSpliterator;
import java.util.function.Consumer;
import java.util.regex.Matcher;
import fi.evolver.utils.NullSafetyUtils;
public class MatcherSpliterator extends AbstractSpliterator {
private final Matcher matcher;
private final int group;
public MatcherSpliterator(Matcher matcher, int group) {
super((long) matcher.regionEnd() - matcher.regionStart(), ORDERED);
this.matcher = matcher;
this.group = group;
}
@Override
public boolean tryAdvance(Consumer super String> action) {
if (!matcher.find())
return false;
action.accept(NullSafetyUtils.denull(matcher.group(group), ""));
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy