public class MessageSpliterator<Message extends PMessage<Message,Field>,Field extends PField> extends Object implements Spliterator<Message>
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
Constructor and Description |
---|
MessageSpliterator(InputStream in,
Serializer serializer,
PMessageDescriptor<Message,Field> descriptor)
Make a self-closing message spliterator.
|
MessageSpliterator(InputStream in,
Serializer serializer,
PMessageDescriptor<Message,Field> descriptor,
Closeable closer)
Make a spliterator with specific closing function.
|
Modifier and Type | Method and Description |
---|---|
int |
characteristics()
Ordered, non-null and immutable.
|
long |
estimateSize()
We mostly never know the number of messages in a message stream
until the last message has been read.
|
Comparator<? super Message> |
getComparator()
Messages are comparable.
|
long |
getExactSizeIfKnown()
We mostly never know the number of messages in a message stream
until the last message has been read.
|
boolean |
tryAdvance(Consumer<? super Message> action) |
Spliterator<Message> |
trySplit()
Normally we cannot split the stream.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEachRemaining, hasCharacteristics
public MessageSpliterator(@Nonnull InputStream in, @Nonnull Serializer serializer, @Nonnull PMessageDescriptor<Message,Field> descriptor)
in
- Input stream to read from.serializer
- Serializer to use.descriptor
- The message descriptor of contained messages.public MessageSpliterator(@Nonnull InputStream in, @Nonnull Serializer serializer, @Nonnull PMessageDescriptor<Message,Field> descriptor, @Nullable Closeable closer)
in
- Input stream to read from.serializer
- Serializer to use.descriptor
- The message descriptor of contained messages.closer
- The stream closer function. If null nothing is
done when closing the spliterator.public boolean tryAdvance(Consumer<? super Message> action)
tryAdvance
in interface Spliterator<Message extends PMessage<Message,Field>>
public Spliterator<Message> trySplit()
public long estimateSize()
estimateSize
in interface Spliterator<Message extends PMessage<Message,Field>>
public long getExactSizeIfKnown()
getExactSizeIfKnown
in interface Spliterator<Message extends PMessage<Message,Field>>
public int characteristics()
characteristics
in interface Spliterator<Message extends PMessage<Message,Field>>
public Comparator<? super Message> getComparator()
getComparator
in interface Spliterator<Message extends PMessage<Message,Field>>
Copyright © 2015–2018 morimekta.net. All rights reserved.