Interface TaskItem

  • All Known Implementing Classes:
    IndexableTaskItem

    public interface TaskItem
    Type representing a unit of work, upon invocation produces result of Indexable type.

    The TaskGroup holds a group of these TaskItems those depends on each other.

    • Method Detail

      • result

        Indexable result()
        Returns:
        the result of the task invocation
      • beforeGroupInvoke

        void beforeGroupInvoke()
        The method that gets called before invoking all the tasks in the TaskGroup this task belongs to.
      • isHot

        boolean isHot()
        Returns:
        true if the publisher returned by invokeAsync(cxt) is a hot observable, false if its a cold publisher.
      • invokeAsync

        Mono<Indexable> invokeAsync​(TaskGroup.InvocationContext context)
        The method that gets called to perform the unit of work asynchronously.
        Parameters:
        context - the context shared across the the all task items in the group this task item belongs to.
        Returns:
        a Mono upon subscription does the unit of work and produces result of type Indexable
      • invokeAfterPostRunAsync

        Mono<Void> invokeAfterPostRunAsync​(boolean isGroupFaulted)
        The method that gets called after invocation of "post run" task items depends on this TaskItem.

        This method will be invoked only if this TaskItem had "post run" dependents.

        Parameters:
        isGroupFaulted - true if one or more tasks in the group this TaskItem belongs to are in faulted state.
        Returns:
        a Flux representing any asynchronous work initiated