
inet.ipaddr.format.AddressSeriesSpliterator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ipaddress Show documentation
Show all versions of ipaddress Show documentation
Library for handling IP addresses, both IPv4 and IPv6
package inet.ipaddr.format;
import java.math.BigInteger;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.ToLongFunction;
import inet.ipaddr.AddressComponent;
import inet.ipaddr.format.AddressDivisionGroupingBase.AddressItemRangeSpliterator;
import inet.ipaddr.format.AddressDivisionGroupingBase.IteratorProvider;
import inet.ipaddr.format.AddressDivisionGroupingBase.SplitterSink;
import inet.ipaddr.format.util.AddressComponentSpliterator;
/**
* AddressSeriesSpliterator provides a Spliterator implementation for address components,
* in which the items providing the iteration are the same type as the items that are the result of the iteration.
*
* @author seancfoley
*
* @param
*/
class AddressSeriesSpliterator
extends AddressItemRangeSpliterator implements AddressComponentSpliterator {
AddressSeriesSpliterator(
T forIteration,
Predicate> splitter,
IteratorProvider iteratorProvider,
Function sizer /* can be null */,
Predicate downSizer,
ToLongFunction longSizer /* not to be used if sizer not null */) {
super(forIteration, splitter, iteratorProvider, sizer, downSizer, longSizer);
}
AddressSeriesSpliterator(
T forIteration,
Predicate> splitter,
IteratorProvider iteratorProvider,
boolean isLowest,
Function sizer /* can be null */,
Predicate downSizer,
ToLongFunction longSizer /* not to be used if sizer not null */) {
super(forIteration, splitter, iteratorProvider, isLowest, false, sizer, downSizer, longSizer);
}
@Override
protected AddressSeriesSpliterator createSpliterator(
T split,
boolean isLowest,
Function sizer,
Predicate downSizer,
ToLongFunction longSizer) {
return new AddressSeriesSpliterator(split, splitter, iteratorProvider, isLowest, sizer, downSizer, longSizer);
}
@Override
public AddressSeriesSpliterator trySplit() {
return (AddressSeriesSpliterator) super.trySplit();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy