Package com.tangosol.util
Interface Streamer<T>
-
- All Superinterfaces:
Iterator<T>
- All Known Implementing Classes:
SimpleStreamer
public interface Streamer<T> extends Iterator<T>
Enables traversal of elements in the underlying data set using eitherIterator,Spliteratoror aStream, while allowing implementors to provide additional metadata, such as the size and other characteristics of the underlying data set.Similarly to the
Spliterator, theStreamerallows only a single traversal of the underlying data set. Moreover, aSpliteratoror aStreamretrieved from a partially consumedStreamerwill continue the traversal of the underlying data.Note, that the
removalof the underlying elements is not supported.- Since:
- 12.2.1
- Author:
- as 2015.05.06
-
-
Field Summary
Fields Modifier and Type Field Description static intALL_INCLUSIVECharacteristic value signifying that this Streamer includes all the values from the underlying data set.static intSIZEDCharacteristic value signifying that the value returned fromsize()prior to traversal represents a finite size that, in the absence of structural source modification, represents an exact count of the number of elements that would be encountered by a complete traversal.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description intcharacteristics()A bit mask representing the set of characteristics of thisStreamer.default booleanisAllInclusive()A convenience accessor to check if this streamer isALL_INCLUSIVE.default booleanisSized()A convenience accessor to check if this streamer isSIZED.default voidremove()This operation is not supported.longsize()Return the exact size of the data set thisStreamerwill iterate over, or negative integer if the exact size is unknown.default Spliterator<T>spliterator()Return aSpliteratorover the elements described by thisStreamer.default Stream<T>stream()Return aStreambased on thisStreamer.-
Methods inherited from interface java.util.Iterator
forEachRemaining, hasNext, next
-
-
-
-
Field Detail
-
SIZED
static final int SIZED
Characteristic value signifying that the value returned fromsize()prior to traversal represents a finite size that, in the absence of structural source modification, represents an exact count of the number of elements that would be encountered by a complete traversal.- See Also:
- Constant Field Values
-
ALL_INCLUSIVE
static final int ALL_INCLUSIVE
Characteristic value signifying that this Streamer includes all the values from the underlying data set.- See Also:
- Constant Field Values
-
-
Method Detail
-
size
long size()
Return the exact size of the data set thisStreamerwill iterate over, or negative integer if the exact size is unknown.- Returns:
- the exact size of the data set this
Streamerwill iterate over, or negative integer if the exact size is unknown
-
characteristics
int characteristics()
A bit mask representing the set of characteristics of thisStreamer.- Returns:
- a bit mask representing the set of characteristics of this
Streamer
-
spliterator
default Spliterator<T> spliterator()
Return aSpliteratorover the elements described by thisStreamer.- Returns:
- a
Spliteratorover the elements described by thisStreamer
-
stream
default Stream<T> stream()
Return aStreambased on thisStreamer.- Returns:
- a
Streambased on thisStreamer
-
isSized
default boolean isSized()
A convenience accessor to check if this streamer isSIZED.- Returns:
trueif this streamer isSIZED, false otherwise
-
isAllInclusive
default boolean isAllInclusive()
A convenience accessor to check if this streamer isALL_INCLUSIVE.- Returns:
trueif this streamer isALL_INCLUSIVE, false otherwise
-
-