org.unlaxer.SortedRanges Maven / Gradle / Ivy
package org.unlaxer;
import java.util.NavigableSet;
import java.util.TreeSet;
import java.util.function.Predicate;
import java.util.stream.Stream;
public class SortedRanges{
NavigableSet ranges;
public SortedRanges() {
super();
this.ranges = new TreeSet();
}
public NavigableSet navigableSet(){
return ranges;
}
public Stream stream(){
return ranges.stream();
}
public boolean add(Range range) {
return ranges.add(range);
}
public NavigableSet matches(Predicate rangePredicate){
NavigableSet matches = new TreeSet();
stream()
.filter(rangePredicate)
.forEach(matches::add);
return matches;
}
public NavigableSet matches(int index){
return matches(range->range.match(index));
}
public NavigableSet smallers(int index){
return matches(range->range.smallerThan(index));
}
public NavigableSet biggers(int index){
return matches(range->range.biggerThan(index));
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy