Class SchedulerConfigBuilder<T>

java.lang.Object
eu.rarogsoftware.rarog.platform.api.task.SchedulerConfigBuilder<T>

public class SchedulerConfigBuilder<T> extends Object
Convenient builder for ScheduleConfig
  • Constructor Details

    • SchedulerConfigBuilder

      public SchedulerConfigBuilder()
  • Method Details

    • initialDelay

      public SchedulerConfigBuilder<T> initialDelay(Duration initialDelay)
      Initial delay for running scheduled task. If zero then start as soon as possible. Default: Duration.ZERO
      Parameters:
      initialDelay - initial delay duration
      Returns:
      this builder
    • period

      public SchedulerConfigBuilder<T> period(Duration period)
      Set how often task should repeat. If zero together with repeatAfter then do not repeat task. Default: Duration.ZERO. It's mutually exclusive with repeatAfter. The last set is final.
      Parameters:
      period - task period
      Returns:
      this builder
    • repeatAfter

      public SchedulerConfigBuilder<T> repeatAfter(Duration repeatAfter)
      Set delay for next execution. If zero together with period then do not repeat task. Default: Duration.ZERO. It's mutually exclusive with period. The last set is final.
      Parameters:
      repeatAfter - task delay for next repeat
      Returns:
      this builder
    • repeatCount

      public SchedulerConfigBuilder<T> repeatCount(int repeatCount)
      Set count of repeats for task. Task will execute specified amount if not cancelled earlier.
      Parameters:
      repeatCount - number of task repeats
      Returns:
      this builder
    • unlimitedRepeats

      public SchedulerConfigBuilder<T> unlimitedRepeats()
      Task will repeat until cancelled.
      Returns:
      this builder
    • executionCondition

      public SchedulerConfigBuilder<T> executionCondition(Predicate<ExecutionInfo<T>> executionCondition)
      Condition for executing task. If condition returns false then task is not executed and repeat count is not increased. If not set, task will execute each time when it is scheduled.
      Parameters:
      executionCondition - execution condition predicate
      Returns:
      this builder
    • cancelCondition

      public SchedulerConfigBuilder<T> cancelCondition(Predicate<ExecutionInfo<T>> cancelCondition)
      Condition for cancelling task after execution. If not set then task will not automatically cancel itself.
      Parameters:
      cancelCondition - cancel condition predicate
      Returns:
      this builder
    • build

      public ScheduleConfig<T> build()
      Build new instance of config
      Returns:
      fully build ScheduleConfig