Class PublisherReducers


  • public class PublisherReducers
    extends java.lang.Object
    Static factory method class to provide various reducers and finalizers for use with distributed Publisher. Note that these functions are all serializable by Infinispan assuming that any passed arguments are as well.
    Since:
    10.0
    Author:
    wburns
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> accumulate​(java.util.function.BiConsumer<E,​E> biConsumer)  
      static java.util.function.Function<org.reactivestreams.Publisher<java.lang.Long>,​java.util.concurrent.CompletionStage<java.lang.Long>> add()  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> allMatch​(java.util.function.Predicate<? super E> predicate)  
      static java.util.function.Function<org.reactivestreams.Publisher<java.lang.Boolean>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> and()  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> anyMatch​(java.util.function.Predicate<? super E> predicate)  
      static <I,​E>
      java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E>>
      collect​(java.util.function.Supplier<E> supplier, java.util.function.BiConsumer<E,​? super I> consumer)  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> collectorFinalizer​(java.util.stream.Collector<?,​E,​?> collector)  
      static <I,​E>
      java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E>>
      collectorReducer​(java.util.stream.Collector<? super I,​E,​?> collector)  
      static java.util.function.Function<org.reactivestreams.Publisher<?>,​java.util.concurrent.CompletionStage<java.lang.Long>> count()  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> findFirst()  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> max​(java.util.Comparator<? super E> comparator)  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> min​(java.util.Comparator<? super E> comparator)  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> noneMatch​(java.util.function.Predicate<? super E> predicate)  
      static java.util.function.Function<org.reactivestreams.Publisher<java.lang.Boolean>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> or()  
      static <I,​E>
      java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E>>
      reduce​(E identity, java.util.function.BiFunction<E,​? super I,​E> biFunction)
      Provides a reduction where the initial value must be the identity value that is not modified via the provided biFunction.
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> reduce​(java.util.function.BinaryOperator<E> operator)  
      static <I,​E>
      java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E>>
      reduceWith​(java.util.concurrent.Callable<? extends E> initialSupplier, java.util.function.BiFunction<E,​? super I,​E> biFunction)  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E[]>,​java.util.concurrent.CompletionStage<E[]>> toArrayFinalizer()  
      static <E> java.util.function.Function<org.reactivestreams.Publisher<E[]>,​java.util.concurrent.CompletionStage<E[]>> toArrayFinalizer​(java.util.function.IntFunction<E[]> generator)  
      static <I> java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<java.lang.Object[]>> toArrayReducer()  
      static <I extends E,​E>
      java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E[]>>
      toArrayReducer​(java.util.function.IntFunction<E[]> generator)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • and

        public static java.util.function.Function<org.reactivestreams.Publisher<java.lang.Boolean>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> and()
      • allMatch

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> allMatch​(java.util.function.Predicate<? super E> predicate)
      • anyMatch

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> anyMatch​(java.util.function.Predicate<? super E> predicate)
      • collect

        public static <I,​E> java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E>> collect​(java.util.function.Supplier<E> supplier,
                                                                                                                                                      java.util.function.BiConsumer<E,​? super I> consumer)
      • collectorReducer

        public static <I,​E> java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E>> collectorReducer​(java.util.stream.Collector<? super I,​E,​?> collector)
      • collectorFinalizer

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> collectorFinalizer​(java.util.stream.Collector<?,​E,​?> collector)
      • accumulate

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> accumulate​(java.util.function.BiConsumer<E,​E> biConsumer)
      • findFirst

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> findFirst()
      • max

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> max​(java.util.Comparator<? super E> comparator)
      • min

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> min​(java.util.Comparator<? super E> comparator)
      • noneMatch

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> noneMatch​(java.util.function.Predicate<? super E> predicate)
      • or

        public static java.util.function.Function<org.reactivestreams.Publisher<java.lang.Boolean>,​java.util.concurrent.CompletionStage<java.lang.Boolean>> or()
      • reduce

        public static <I,​E> java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E>> reduce​(E identity,
                                                                                                                                                     java.util.function.BiFunction<E,​? super I,​E> biFunction)
        Provides a reduction where the initial value must be the identity value that is not modified via the provided biFunction. Failure to do so will cause unexpected results.

        If the initial value needs to be modified, you should use reduceWith(Callable, BiFunction) instead.

        Type Parameters:
        I - input type
        E - output reduced type
        Parameters:
        identity - initial identity value to use (this value must not be modified by the provide biFunction)
        biFunction - biFunction used to reduce the values into a single one
        Returns:
        function that will map a publisher of the input type to a completion stage of the output type
      • reduceWith

        public static <I,​E> java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E>> reduceWith​(java.util.concurrent.Callable<? extends E> initialSupplier,
                                                                                                                                                         java.util.function.BiFunction<E,​? super I,​E> biFunction)
      • reduce

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E>,​java.util.concurrent.CompletionStage<E>> reduce​(java.util.function.BinaryOperator<E> operator)
      • count

        public static java.util.function.Function<org.reactivestreams.Publisher<?>,​java.util.concurrent.CompletionStage<java.lang.Long>> count()
      • add

        public static java.util.function.Function<org.reactivestreams.Publisher<java.lang.Long>,​java.util.concurrent.CompletionStage<java.lang.Long>> add()
      • toArrayReducer

        public static <I> java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<java.lang.Object[]>> toArrayReducer()
      • toArrayReducer

        public static <I extends E,​E> java.util.function.Function<org.reactivestreams.Publisher<I>,​java.util.concurrent.CompletionStage<E[]>> toArrayReducer​(java.util.function.IntFunction<E[]> generator)
      • toArrayFinalizer

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E[]>,​java.util.concurrent.CompletionStage<E[]>> toArrayFinalizer()
      • toArrayFinalizer

        public static <E> java.util.function.Function<org.reactivestreams.Publisher<E[]>,​java.util.concurrent.CompletionStage<E[]>> toArrayFinalizer​(java.util.function.IntFunction<E[]> generator)