Interface BlockingTask

  • All Superinterfaces:
    Task
    All Known Implementing Classes:
    BackgroundTask, ForegroundTask

    public interface BlockingTask
    extends Task
    Defines a task that blocks the code execution when ran. The task under execution must be thread-safe.
    • Method Detail

      • run

        default <T> boolean run​(Predicate<T> predicate,
                                T payload)
        Run the task
        Type Parameters:
        T - The type of the payload passed to the predicate when testing the task
        Parameters:
        predicate - the task as a predicate. The result of the predicate is used to check if the task has completed or not. The predicate must return true if the execution has completed or false otherwise. Failures on the task should be handled on the predicate using the payload as wrapper for In/Out if necessary
        payload - a payload to be passed to the task
        Returns:
        true if the task has completed successfully or false if: 1) the budget is exhausted or 2) the task was interrupted.
      • run

        boolean run​(BooleanSupplier supplier)
        Run the task
        Parameters:
        supplier - the task as a boolean supplier. The result is used to check if the task has completed or not. The supplier must return true if the execution has completed or false otherwise.
        Returns:
        true if the task has completed successfully or false if: 1) the budget is exhausted or 2) the task was interrupted.