Interface Publisher<V>

    • Method Detail

      • execute

        static <V,​E extends java.lang.Exception> Publisher<V> execute​(CheckedSupplier<V,​E> action)
        Execute an action returning a single value on the common ForkJoinPool, and pass the result to any subscribers.

        Subscribers who only begin subscribing after the operation has been completed will receive the result of the operation.

        Type Parameters:
        V - returned value type
        E - exception thrown
        Parameters:
        action - the action to perform
        Returns:
        a publisher
        Since:
        4.0.0
      • execute

        static <V,​E extends java.lang.Exception> Publisher<V> execute​(CheckedSupplier<V,​E> action,
                                                                            java.util.concurrent.Executor executor)
        Execute an action returning a single value on the provided Executor, and pass the result to any subscribers.

        Subscribers who only begin subscribing after the operation has been completed will receive the result of the operation.

        Type Parameters:
        V - returned value type
        E - exception thrown
        Parameters:
        action - the action to perform
        executor - the executor to perform this operation on
        Returns:
        a publisher
        Since:
        4.0.0
      • subscribe

        Disposable subscribe​(Subscriber<? super V> subscriber)
        Subscribe to updates from this Publisher. If this is already closed, the Subscriber will receive an error event with an IllegalStateException, and the returned Disposable will be a no-op.
        Parameters:
        subscriber - the listener to register
        Returns:
        a disposable that can be used to cancel this subscription
        Since:
        4.0.0
      • hasSubscribers

        boolean hasSubscribers()
        Return whether or not this Publisher has any subscribers.

        In a concurrent environment, this value could change from the time of calling.

        Returns:
        if there are subscribers
        Since:
        4.0.0
      • map

        default <R> Publisher<R> map​(CheckedFunction<? super V,​? extends R,​TransactionFailedException> mapper)
        Create a new publisher that will transform events published.
        Type Parameters:
        R - output value type
        Parameters:
        mapper - transformer function
        Returns:
        a new publisher
        Since:
        4.0.0
      • cache

        default Publisher.Cached<Vcache()
        Return a publisher that will track its most recent value. The provided processor won't have a value until one is submitted to this publisher.
        Returns:
        a publisher based on this one
        Since:
        4.0.0
      • cache

        default Publisher.Cached<Vcache​(@Nullable V initialValue)
        Create a cached publisher with an initial value.
        Parameters:
        initialValue - value to initialize the returned publisher with
        Returns:
        publisher that will cache future responses
        Since:
        4.0.0
      • executor

        java.util.concurrent.Executor executor()
        Get the executor used to handle published events.
        Returns:
        the executor
        Since:
        4.0.0