Package one.util.streamex
Class WithFirstSpliterator<T,R>
- java.lang.Object
-
- one.util.streamex.Internals.CloneableSpliterator<R,WithFirstSpliterator<T,R>>
-
- one.util.streamex.WithFirstSpliterator<T,R>
-
- All Implemented Interfaces:
java.lang.Cloneable
,java.util.function.Consumer<T>
,java.util.Spliterator<R>
final class WithFirstSpliterator<T,R> extends Internals.CloneableSpliterator<R,WithFirstSpliterator<T,R>> implements java.util.function.Consumer<T>
-
-
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 private java.util.function.Consumer<? super R>
action
private T
first
private java.util.concurrent.locks.ReentrantLock
lock
private java.util.function.BiFunction<? super T,? super T,? extends R>
mapper
private WithFirstSpliterator<T,R>
prefix
private java.util.Spliterator<T>
source
private int
state
private static int
STATE_EMPTY
private static int
STATE_FIRST_READ
private static int
STATE_INIT
private static int
STATE_NONE
-
Constructor Summary
Constructors Constructor Description WithFirstSpliterator(java.util.Spliterator<T> source, java.util.function.BiFunction<? super T,? super T,? extends R> mapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(T x)
private void
acquire()
int
characteristics()
private void
doInit()
long
estimateSize()
void
forEachRemaining(java.util.function.Consumer<? super R> action)
private void
release()
boolean
tryAdvance(java.util.function.Consumer<? super R> action)
java.util.Spliterator<R>
trySplit()
-
Methods inherited from class one.util.streamex.Internals.CloneableSpliterator
doClone
-
-
-
-
Field Detail
-
STATE_NONE
private static final int STATE_NONE
- See Also:
- Constant Field Values
-
STATE_FIRST_READ
private static final int STATE_FIRST_READ
- See Also:
- Constant Field Values
-
STATE_INIT
private static final int STATE_INIT
- See Also:
- Constant Field Values
-
STATE_EMPTY
private static final int STATE_EMPTY
- See Also:
- Constant Field Values
-
lock
private java.util.concurrent.locks.ReentrantLock lock
-
source
private java.util.Spliterator<T> source
-
prefix
private WithFirstSpliterator<T,R> prefix
-
first
private volatile T first
-
state
private volatile int state
-
action
private java.util.function.Consumer<? super R> action
-
-
Method Detail
-
acquire
private void acquire()
-
release
private void release()
-
tryAdvance
public boolean tryAdvance(java.util.function.Consumer<? super R> action)
- Specified by:
tryAdvance
in interfacejava.util.Spliterator<T>
-
doInit
private void doInit()
-
forEachRemaining
public void forEachRemaining(java.util.function.Consumer<? super R> action)
- Specified by:
forEachRemaining
in interfacejava.util.Spliterator<T>
-
trySplit
public java.util.Spliterator<R> trySplit()
- Specified by:
trySplit
in interfacejava.util.Spliterator<T>
-
estimateSize
public long estimateSize()
- Specified by:
estimateSize
in interfacejava.util.Spliterator<T>
-
characteristics
public int characteristics()
- Specified by:
characteristics
in interfacejava.util.Spliterator<T>
-
-