Original - original stream typepublic class DistributedDoubleCacheStream<Original> extends AbstractCacheStream<Original,Double,DoubleStream,DoubleCacheStream> implements DoubleCacheStream
DoubleStream that utilizes a lazily evaluated distributed back end execution. Note this
class is only able to be created using CacheStream.mapToDouble(ToDoubleFunction) or similar
methods from the CacheStream interface.DoubleStream.BuilderBaseCacheStream.SegmentCompletionListenercloseRunnable, cpm, distributedBatchSize, dm, executor, includeLoader, intermediateOperations, invocationContext, iteratorOperation, keyPartitioner, keysToFilter, localAddress, parallel, parallelDistribution, partition, registry, rehashAware, segmentCompletionListener, segmentsToFilter, stateTransferLock, supplier, timeout, timeoutUnit, toKeyFunction| Modifier | Constructor and Description |
|---|---|
protected |
DistributedDoubleCacheStream(AbstractCacheStream other)
This constructor is to be used only when a user calls a map or flat map method changing to a DoubleStream
from a CacheStream, Stream, IntStream, LongStream etc.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
allMatch(DoublePredicate predicate) |
boolean |
anyMatch(DoublePredicate predicate) |
OptionalDouble |
average() |
CacheStream<Double> |
boxed() |
protected <R> DistributedCacheStream<Original,R> |
cacheStream() |
<R> R |
collect(Supplier<R> supplier,
ObjDoubleConsumer<R> accumulator,
BiConsumer<R,R> combiner) |
long |
count() |
DoubleCacheStream |
disableRehashAware()
Disables tracking of rehash events that could occur to the underlying cache.
|
DoubleCacheStream |
distinct() |
DoubleCacheStream |
distributedBatchSize(int batchSize)
Controls how many keys are returned from a remote node when using a stream terminal operation with a distributed
cache to back this stream.
|
DoubleCacheStream |
filter(DoublePredicate predicate) |
DoubleCacheStream |
filter(SerializableDoublePredicate predicate)
Same as
DoubleCacheStream.filter(DoublePredicate) except that the DoublePredicate must also
implement Serializable |
DoubleCacheStream |
filterKeys(Set<?> keys)
Filters which entries are returned by only returning ones that map to the given key.
|
DoubleCacheStream |
filterKeySegments(IntSet segments)
Filters which entries are returned by what segment they are present in.
|
DoubleCacheStream |
filterKeySegments(Set<Integer> segments)
Filters which entries are returned by what segment they are present in.
|
OptionalDouble |
findAny() |
OptionalDouble |
findFirst() |
DoubleCacheStream |
flatMap(DoubleFunction<? extends DoubleStream> mapper) |
DoubleCacheStream |
flatMap(SerializableDoubleFunction<? extends DoubleStream> mapper)
Same as
DoubleCacheStream.flatMap(DoubleFunction) except that the DoubleFunction must also
implement Serializable |
void |
forEach(DoubleConsumer action) |
<K,V> void |
forEach(ObjDoubleConsumer<Cache<K,V>> action)
Same as
DoubleStream.forEach(DoubleConsumer) except that it takes an ObjDoubleConsumer that
provides access to the underlying Cache that is backing this stream. |
void |
forEach(SerializableDoubleConsumer action)
Same as
DoubleStream.forEach(DoubleConsumer) except that the DoubleConsumer must also
implement Serializable |
<K,V> void |
forEach(SerializableObjDoubleConsumer<Cache<K,V>> action)
Same as
DoubleCacheStream.forEach(ObjDoubleConsumer) except that the BiConsumer must also implement
Serializable |
void |
forEachOrdered(DoubleConsumer action) |
protected Log |
getLog() |
protected DistributedIntCacheStream<Original> |
intCacheStream() |
PrimitiveIterator.OfDouble |
iterator() |
DoubleCacheStream |
limit(long maxSize) |
protected DistributedLongCacheStream<Original> |
longCacheStream() |
DoubleCacheStream |
map(DoubleUnaryOperator mapper) |
DoubleCacheStream |
map(SerializableDoubleUnaryOperator mapper)
Same as
DoubleCacheStream.map(DoubleUnaryOperator) except that the DoubleUnaryOperator must also
implement Serializable |
IntCacheStream |
mapToInt(DoubleToIntFunction mapper) |
IntCacheStream |
mapToInt(SerializableDoubleToIntFunction mapper)
Same as
DoubleCacheStream.mapToInt(DoubleToIntFunction) except that the DoubleToIntFunction must also
implement Serializable |
LongCacheStream |
mapToLong(DoubleToLongFunction mapper) |
LongCacheStream |
mapToLong(SerializableDoubleToLongFunction mapper)
Same as
DoubleCacheStream.mapToLong(DoubleToLongFunction) except that the DoubleToLongFunction must also
implement Serializable |
<U> CacheStream<U> |
mapToObj(DoubleFunction<? extends U> mapper) |
<U> CacheStream<U> |
mapToObj(SerializableDoubleFunction<? extends U> mapper)
Same as
DoubleCacheStream.mapToObj(DoubleFunction) except that the DoubleFunction must also
implement Serializable |
OptionalDouble |
max() |
OptionalDouble |
min() |
boolean |
noneMatch(DoublePredicate predicate) |
DoubleCacheStream |
parallelDistribution()
This would enable sending requests to all other remote nodes when a terminal operator is performed.
|
DoubleCacheStream |
peek(DoubleConsumer action) |
DoubleCacheStream |
peek(SerializableDoubleConsumer action)
Same as
DoubleCacheStream.flatMap(DoubleFunction) except that the DoubleFunction must also
implement Serializable |
OptionalDouble |
reduce(DoubleBinaryOperator op) |
double |
reduce(double identity,
DoubleBinaryOperator op) |
DoubleCacheStream |
segmentCompletionListener(BaseCacheStream.SegmentCompletionListener listener)
Allows registration of a segment completion listener that is notified when a segment has completed
processing.
|
DoubleCacheStream |
sequentialDistribution()
This would disable sending requests to all other remote nodes compared to one at a time.
|
DoubleCacheStream |
skip(long n) |
DoubleCacheStream |
sorted() |
Spliterator.OfDouble |
spliterator() |
double |
sum() |
DoubleSummaryStatistics |
summaryStatistics() |
DoubleCacheStream |
timeout(long timeout,
TimeUnit unit)
Sets a given time to wait for a remote operation to respond by.
|
double[] |
toArray() |
protected DoubleCacheStream |
unwrap() |
addIntermediateOperation, addIntermediateOperation, addIntermediateOperationMap, close, composeWithExceptions, isParallel, isPrimaryOwner, onClose, parallel, sequential, unorderedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitallMatch, anyMatch, collect, noneMatch, onClose, parallel, reduce, reduce, sequential, unorderedbuilder, concat, empty, generate, iterate, of, ofclose, isParallelprotected DistributedDoubleCacheStream(AbstractCacheStream other)
other - other instance of AbstractCacheStream to copy details fromprotected Log getLog()
getLog in class AbstractCacheStream<Original,Double,DoubleStream,DoubleCacheStream>protected DoubleCacheStream unwrap()
unwrap in class AbstractCacheStream<Original,Double,DoubleStream,DoubleCacheStream>public DoubleCacheStream filter(DoublePredicate predicate)
DoubleCacheStreamfilter in interface DoubleStreamfilter in interface DoubleCacheStreampublic DoubleCacheStream filter(SerializableDoublePredicate predicate)
DoubleCacheStreamDoubleCacheStream.filter(DoublePredicate) except that the DoublePredicate must also
implement Serializable
The compiler will pick this overload for lambda parameters, making them Serializable
filter in interface DoubleCacheStreampredicate - a non-interfering, stateless
predicate to apply to each element to determine if it
should be includedpublic DoubleCacheStream map(DoubleUnaryOperator mapper)
DoubleCacheStreammap in interface DoubleStreammap in interface DoubleCacheStreampublic DoubleCacheStream map(SerializableDoubleUnaryOperator mapper)
DoubleCacheStreamDoubleCacheStream.map(DoubleUnaryOperator) except that the DoubleUnaryOperator must also
implement Serializable
The compiler will pick this overload for lambda parameters, making them Serializable
map in interface DoubleCacheStreammapper - a non-interfering, stateless
function to apply to each elementpublic <U> CacheStream<U> mapToObj(DoubleFunction<? extends U> mapper)
DoubleCacheStreammapToObj in interface DoubleStreammapToObj in interface DoubleCacheStreampublic <U> CacheStream<U> mapToObj(SerializableDoubleFunction<? extends U> mapper)
DoubleCacheStreamDoubleCacheStream.mapToObj(DoubleFunction) except that the DoubleFunction must also
implement Serializable
The compiler will pick this overload for lambda parameters, making them Serializable
mapToObj in interface DoubleCacheStreamU - the element type of the new streammapper - a non-interfering, stateless
function to apply to each elementpublic IntCacheStream mapToInt(DoubleToIntFunction mapper)
DoubleCacheStreammapToInt in interface DoubleStreammapToInt in interface DoubleCacheStreampublic IntCacheStream mapToInt(SerializableDoubleToIntFunction mapper)
DoubleCacheStreamDoubleCacheStream.mapToInt(DoubleToIntFunction) except that the DoubleToIntFunction must also
implement Serializable
The compiler will pick this overload for lambda parameters, making them Serializable
mapToInt in interface DoubleCacheStreammapper - a non-interfering, stateless
function to apply to each elementpublic LongCacheStream mapToLong(DoubleToLongFunction mapper)
DoubleCacheStreammapToLong in interface DoubleStreammapToLong in interface DoubleCacheStreampublic LongCacheStream mapToLong(SerializableDoubleToLongFunction mapper)
DoubleCacheStreamDoubleCacheStream.mapToLong(DoubleToLongFunction) except that the DoubleToLongFunction must also
implement Serializable
The compiler will pick this overload for lambda parameters, making them Serializable
mapToLong in interface DoubleCacheStreammapper - a non-interfering, stateless
function to apply to each elementpublic DoubleCacheStream flatMap(DoubleFunction<? extends DoubleStream> mapper)
DoubleCacheStreamflatMap in interface DoubleStreamflatMap in interface DoubleCacheStreampublic DoubleCacheStream flatMap(SerializableDoubleFunction<? extends DoubleStream> mapper)
DoubleCacheStreamDoubleCacheStream.flatMap(DoubleFunction) except that the DoubleFunction must also
implement Serializable
The compiler will pick this overload for lambda parameters, making them Serializable
flatMap in interface DoubleCacheStreammapper - a non-interfering, stateless
function to apply to each element which produces a
DoubleStream of new valuespublic DoubleCacheStream distinct()
DoubleCacheStreamdistinct in interface DoubleStreamdistinct in interface DoubleCacheStreampublic DoubleCacheStream sorted()
DoubleCacheStreamsorted in interface DoubleStreamsorted in interface DoubleCacheStreampublic DoubleCacheStream peek(DoubleConsumer action)
DoubleCacheStreampeek in interface DoubleStreampeek in interface DoubleCacheStreampublic DoubleCacheStream peek(SerializableDoubleConsumer action)
DoubleCacheStreamDoubleCacheStream.flatMap(DoubleFunction) except that the DoubleFunction must also
implement Serializable
The compiler will pick this overload for lambda parameters, making them Serializable
peek in interface DoubleCacheStreamaction - a non-interfering action to perform on the elements as
they are consumed from the streampublic DoubleCacheStream limit(long maxSize)
DoubleCacheStreamlimit in interface DoubleStreamlimit in interface DoubleCacheStreampublic DoubleCacheStream skip(long n)
DoubleCacheStreamskip in interface DoubleStreamskip in interface DoubleCacheStreampublic CacheStream<Double> boxed()
DoubleCacheStreamboxed in interface DoubleStreamboxed in interface DoubleCacheStreampublic void forEach(DoubleConsumer action)
forEach in interface DoubleStreampublic void forEach(SerializableDoubleConsumer action)
DoubleCacheStreamDoubleStream.forEach(DoubleConsumer) except that the DoubleConsumer must also
implement Serializable
The compiler will pick this overload for lambda parameters, making them Serializable
forEach in interface DoubleCacheStreamaction - a non-interfering action to perform on the elementspublic <K,V> void forEach(ObjDoubleConsumer<Cache<K,V>> action)
DoubleCacheStreamDoubleStream.forEach(DoubleConsumer) except that it takes an ObjDoubleConsumer that
provides access to the underlying Cache that is backing this stream.
Note that the CacheAware interface is not supported for injection using this method as the cache
is provided in the consumer directly.
forEach in interface DoubleCacheStreamK - key type of the cacheV - value type of the cacheaction - consumer to be ran for each element in the streampublic <K,V> void forEach(SerializableObjDoubleConsumer<Cache<K,V>> action)
DoubleCacheStreamDoubleCacheStream.forEach(ObjDoubleConsumer) except that the BiConsumer must also implement
SerializableforEach in interface DoubleCacheStreamK - key type of the cacheV - value type of the cacheaction - consumer to be ran for each element in the streampublic void forEachOrdered(DoubleConsumer action)
forEachOrdered in interface DoubleStreampublic double[] toArray()
toArray in interface DoubleStreampublic double reduce(double identity,
DoubleBinaryOperator op)
reduce in interface DoubleStreampublic OptionalDouble reduce(DoubleBinaryOperator op)
reduce in interface DoubleStreampublic <R> R collect(Supplier<R> supplier, ObjDoubleConsumer<R> accumulator, BiConsumer<R,R> combiner)
collect in interface DoubleStreampublic double sum()
sum in interface DoubleStreampublic OptionalDouble min()
min in interface DoubleStreampublic OptionalDouble max()
max in interface DoubleStreampublic OptionalDouble average()
average in interface DoubleStreampublic DoubleSummaryStatistics summaryStatistics()
summaryStatistics in interface DoubleStreampublic boolean anyMatch(DoublePredicate predicate)
anyMatch in interface DoubleStreampublic boolean allMatch(DoublePredicate predicate)
allMatch in interface DoubleStreampublic boolean noneMatch(DoublePredicate predicate)
noneMatch in interface DoubleStreampublic OptionalDouble findFirst()
findFirst in interface DoubleStreampublic OptionalDouble findAny()
findAny in interface DoubleStreampublic PrimitiveIterator.OfDouble iterator()
iterator in interface BaseStream<Double,DoubleStream>iterator in interface DoubleStreampublic Spliterator.OfDouble spliterator()
spliterator in interface BaseStream<Double,DoubleStream>spliterator in interface DoubleStreampublic long count()
count in interface DoubleStreampublic DoubleCacheStream sequentialDistribution()
DoubleCacheStreamParallel distribution is enabled by default except for CacheStream.iterator() and
CacheStream.spliterator()
sequentialDistribution in interface BaseCacheStream<Double,DoubleStream>sequentialDistribution in interface DoubleCacheStreampublic DoubleCacheStream parallelDistribution()
BaseCacheStreamParallel distribution is enabled by default except for CacheStream.iterator() and
CacheStream.spliterator()
parallelDistribution in interface BaseCacheStream<Double,DoubleStream>parallelDistribution in interface DoubleCacheStreampublic DoubleCacheStream filterKeySegments(Set<Integer> segments)
DoubleCacheStreamCacheStream.filter(Predicate) method as this can control what nodes are
asked for data and what entries are read from the underlying CacheStore if present.filterKeySegments in interface BaseCacheStream<Double,DoubleStream>filterKeySegments in interface DoubleCacheStreamsegments - The segments to use for this stream operation. Any segments not in this set will be ignored.public DoubleCacheStream filterKeySegments(IntSet segments)
BaseCacheStreamCacheStream.filter(Predicate) method as this can control what nodes are
asked for data and what entries are read from the underlying CacheStore if present.filterKeySegments in interface BaseCacheStream<Double,DoubleStream>segments - The segments to use for this stream operation. Any segments not in this set will be ignored.public DoubleCacheStream filterKeys(Set<?> keys)
DoubleCacheStreamCacheStream.filter(Predicate) if the filter is holding references to the same
keys.filterKeys in interface BaseCacheStream<Double,DoubleStream>filterKeys in interface DoubleCacheStreamkeys - The keys that this stream will only operate on.public DoubleCacheStream distributedBatchSize(int batchSize)
DoubleCacheStreamCacheStream.iterator(), CacheStream.spliterator(),
CacheStream.forEach(Consumer). Please see those methods for additional information on how this value
may affect them.
This value may be used in the case of a a terminal operator that doesn't track keys if an intermediate
operation is performed that requires bringing keys locally to do computations. Examples of such intermediate
operations are CacheStream.sorted(), CacheStream.sorted(Comparator),
CacheStream.distinct(), CacheStream.limit(long), CacheStream.skip(long)
This value is always ignored when this stream is backed by a cache that is not distributed as all values are already local.
distributedBatchSize in interface BaseCacheStream<Double,DoubleStream>distributedBatchSize in interface DoubleCacheStreambatchSize - The size of each batch. This defaults to the state transfer chunk size.public DoubleCacheStream segmentCompletionListener(BaseCacheStream.SegmentCompletionListener listener)
DoubleCacheStreamThis method is designed for the sole purpose of use with the CacheStream.iterator() to allow for
a user to track completion of segments as they are returned from the iterator. Behavior of other methods
is not specified. Please see CacheStream.iterator() for more information.
Multiple listeners may be registered upon multiple invocations of this method. The ordering of notified listeners is not specified.
This is only used if this stream did not invoke BaseCacheStream.disableRehashAware() and has no
flat map based operations. If this is done no segments will be notified.
segmentCompletionListener in interface BaseCacheStream<Double,DoubleStream>segmentCompletionListener in interface DoubleCacheStreamlistener - The listener that will be called back as segments are completed.public DoubleCacheStream disableRehashAware()
DoubleCacheStreamMost terminal operations will run faster with rehash awareness disabled even without a rehash occuring. However if a rehash occurs with this disabled be prepared to possibly receive only a subset of values.
disableRehashAware in interface BaseCacheStream<Double,DoubleStream>disableRehashAware in interface DoubleCacheStreampublic DoubleCacheStream timeout(long timeout, TimeUnit unit)
DoubleCacheStreamIf a timeout does occur then a TimeoutException is thrown from the terminal
operation invoking thread or on the next call to the Iterator or Spliterator.
Note that if a rehash occurs this timeout value is reset for the subsequent retry if rehash aware is enabled.
timeout in interface BaseCacheStream<Double,DoubleStream>timeout in interface DoubleCacheStreamtimeout - the maximum time to waitunit - the time unit of the timeout argumentprotected <R> DistributedCacheStream<Original,R> cacheStream()
protected DistributedIntCacheStream<Original> intCacheStream()
protected DistributedLongCacheStream<Original> longCacheStream()
Copyright © 2022 JBoss by Red Hat. All rights reserved.