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

fi.evolver.utils.spliterator.MatcherSpliterator Maven / Gradle / Ivy

There is a newer version: 3.5.0
Show newest version
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 action) {
		if (!matcher.find())
			return false;

		action.accept(NullSafetyUtils.denull(matcher.group(group), ""));
		return true;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy