Package org.infinispan.commons.util
Class SpliteratorMapper<E,S>
- java.lang.Object
-
- org.infinispan.commons.util.SpliteratorMapper<E,S>
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.util.Spliterator<S>
,CloseableSpliterator<S>
- Direct Known Subclasses:
CloseableSpliteratorMapper
public class SpliteratorMapper<E,S> extends java.lang.Object implements CloseableSpliterator<S>
A spliterator that has been mapped from another spliterator. This is nice to only lazily convert these values, so that you can convert across multiple threads or if the entire spliterator is not consumed.This spliterator will always throw an
IllegalStateException
upon invocation ofSpliterator.getComparator()
since there is no trivial way of converting this with a mapper.- Since:
- 9.0
- Author:
- wburns
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface java.util.Spliterator
java.util.Spliterator.OfDouble, java.util.Spliterator.OfInt, java.util.Spliterator.OfLong, java.util.Spliterator.OfPrimitive<T extends java.lang.Object,T_CONS extends java.lang.Object,T_SPLITR extends java.util.Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.function.Function<? super E,? extends S>
mapper
protected java.util.Spliterator<E>
spliterator
-
Constructor Summary
Constructors Constructor Description SpliteratorMapper(java.util.Spliterator<E> spliterator, java.util.function.Function<? super E,? extends S> mapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
characteristics()
void
close()
long
estimateSize()
void
forEachRemaining(java.util.function.Consumer<? super S> action)
long
getExactSizeIfKnown()
boolean
hasCharacteristics(int characteristics)
boolean
tryAdvance(java.util.function.Consumer<? super S> action)
java.util.Spliterator<S>
trySplit()
-
-
-
Method Detail
-
tryAdvance
public boolean tryAdvance(java.util.function.Consumer<? super S> action)
- Specified by:
tryAdvance
in interfacejava.util.Spliterator<E>
-
trySplit
public java.util.Spliterator<S> trySplit()
- Specified by:
trySplit
in interfacejava.util.Spliterator<E>
-
estimateSize
public long estimateSize()
- Specified by:
estimateSize
in interfacejava.util.Spliterator<E>
-
characteristics
public int characteristics()
- Specified by:
characteristics
in interfacejava.util.Spliterator<E>
-
forEachRemaining
public void forEachRemaining(java.util.function.Consumer<? super S> action)
- Specified by:
forEachRemaining
in interfacejava.util.Spliterator<E>
-
getExactSizeIfKnown
public long getExactSizeIfKnown()
- Specified by:
getExactSizeIfKnown
in interfacejava.util.Spliterator<E>
-
hasCharacteristics
public boolean hasCharacteristics(int characteristics)
- Specified by:
hasCharacteristics
in interfacejava.util.Spliterator<E>
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceCloseableSpliterator<E>
-
-