Class DeferredTask

java.lang.Object
com.cdarobotics.cdalib.tasks.Task
com.cdarobotics.cdalib.tasks.DeferredTask

public class DeferredTask extends Task
A task that defers building its inner task until init() is called at runtime. Use this when the task depends on state that isn't known at construction time (e.g., obelisk pattern from AprilTag detection).
  • Constructor Details

    • DeferredTask

      public DeferredTask(Supplier<Task> taskSupplier)
      Parameters:
      taskSupplier - builds the inner task lazily, when init() is first called.
  • Method Details

    • init

      public void init()
      Description copied from class: Task
      Called once before the first Task.run(). Set up state and issue starting commands here.
      Specified by:
      init in class Task
    • run

      public boolean run()
      Description copied from class: Task
      Called every loop after Task.init().
      Specified by:
      run in class Task
      Returns:
      true when the task is finished, false to keep running.
    • toString

      @NonNull public String toString()
      Specified by:
      toString in class Task