Package org.bsc.async

Interface AsyncGenerator<E>

    • Method Detail

      • toCompletableFuture

        default CompletableFuture<Object> toCompletableFuture()
        Converts the AsyncGenerator to a CompletableFuture.
        Returns:
        a CompletableFuture representing the completion of the AsyncGenerator
      • collectAsync

        @Deprecated
        default <R extends List<E>> CompletableFuture<R> collectAsync​(R result,
                                                                      Consumer<E> consumer,
                                                                      Executor executor)
        Deprecated.
        Use async and then call AsyncGeneratorOperators.collectAsync(List, BiConsumer) collectAsync} for the desired functionality.
        Collects elements from the AsyncGenerator asynchronously into a list.
        Type Parameters:
        R - the type of the result list
        Parameters:
        result - the result list to collect elements into
        consumer - the consumer function for processing elements
        executor - the executor to use for the asynchronous collection
        Returns:
        a CompletableFuture representing the completion of the collection process
      • collectAsync

        @Deprecated
        default <R extends List<E>> CompletableFuture<R> collectAsync​(R result,
                                                                      Consumer<E> consumer)
        Deprecated.
        Use async and then call AsyncGeneratorOperators.collectAsync(List, BiConsumer) collectAsync} for the desired functionality.
        Collects elements from the AsyncGenerator asynchronously into a list.
        Type Parameters:
        R - the type of the result list
        Parameters:
        result - the result list to collect elements into
        consumer - the consumer function for processing elements
        Returns:
        a CompletableFuture representing the completion of the collection process
      • stream

        default Stream<E> stream()
        Returns a sequential Stream with the elements of this AsyncGenerator. Each CompletableFuture is resolved and then make available to the stream.
        Returns:
        a Stream of elements from the AsyncGenerator
      • iterator

        default Iterator<E> iterator()
        Returns an iterator over the elements of this AsyncGenerator. Each call to `next` retrieves the next "resolved" asynchronous element from the generator.
        Specified by:
        iterator in interface Iterable<E>
        Returns:
        an iterator over the elements of this AsyncGenerator
      • empty

        static <E> AsyncGenerator<E> empty()
        Returns an empty AsyncGenerator.
        Type Parameters:
        E - the type of elements
        Returns:
        an empty AsyncGenerator
      • map

        static <E,​U> AsyncGenerator<U> map​(Iterator<E> iterator,
                                                 Function<E,​CompletableFuture<U>> mapFunction)
        create a generator, mapping each element to an asynchronous counterpart.
        Type Parameters:
        E - the type of elements in the collection
        U - the type of elements in the CompletableFuture
        Parameters:
        iterator - the elements iterator
        mapFunction - the function to map elements to CompletableFuture
        Returns:
        an AsyncGenerator instance with mapped elements
      • collect

        static <E,​U> AsyncGenerator<U> collect​(Iterator<E> iterator,
                                                     BiConsumer<E,​Consumer<CompletableFuture<U>>> consumer)
        Collects asynchronous elements from an iterator.
        Type Parameters:
        E - the type of elements in the iterator
        U - the type of elements in the CompletableFuture
        Parameters:
        iterator - the iterator containing elements to collect
        consumer - the function to consume elements and add them to the accumulator
        Returns:
        an AsyncGenerator instance with collected elements
      • map

        static <E,​U> AsyncGenerator<U> map​(Collection<E> collection,
                                                 Function<E,​CompletableFuture<U>> mapFunction)
        create a generator, mapping each element to an asynchronous counterpart.
        Type Parameters:
        E - the type of elements in the collection
        U - the type of elements in the CompletableFuture
        Parameters:
        collection - the collection of elements to map
        mapFunction - the function to map elements to CompletableFuture
        Returns:
        an AsyncGenerator instance with mapped elements
      • collect

        static <E,​U> AsyncGenerator<U> collect​(Collection<E> collection,
                                                     BiConsumer<E,​Consumer<CompletableFuture<U>>> consumer)
        Collects asynchronous elements from a collection.
        Type Parameters:
        E - the type of elements in the iterator
        U - the type of elements in the CompletableFuture
        Parameters:
        collection - the iterator containing elements to collect
        consumer - the function to consume elements and add them to the accumulator
        Returns:
        an AsyncGenerator instance with collected elements