Class TimeTriggerBuilder

java.lang.Object
com.inet.taskplanner.server.api.trigger.TimeTriggerBuilder

public class TimeTriggerBuilder extends Object
This can be used to easily create TimeTrigger definition.

Example usage:

TaskDefinition task = new TaskDefinition( "mytask" );
//from tomorrow on each workday at 8:30
TriggerDefinition timeTrigger = new TimeTriggerBuilder().withStartDate( ZonedDateTime.now().plusDays( 1 ) ).withHourAndMinute( 8, 30 ).withRepeating( RepeatInterval.WORKDAYS ).create();
task.addTrigger( timeTrigger );

// .. add jobs and actions ...

TaskPlanner.getInstance().addTask( task, userID );

Since:
taskplanner 3.0
  • Constructor Details

    • TimeTriggerBuilder

      public TimeTriggerBuilder()
  • Method Details

    • withStartDate

      public TimeTriggerBuilder withStartDate(@Nonnull ZonedDateTime startDateAndTime)
      Set the start date and time to the given date.

      The trigger will start at this point in time or later depending on the repeat interval.

      The hour and minute of this date define the time of day when the task will be executed for all future executions. For many repeat intervals, the start date also has an impact on future executions, like on weekly interval it determines the day of week for all future executions.

      Parameters:
      startDateAndTime - Date and time to use as start point
      Returns:
      this builder instance
      Throws:
      IllegalArgumentException - if given startDateAndTime is null.
      Since:
      taskplanner 3.0
    • withHourAndMinute

      public TimeTriggerBuilder withHourAndMinute(int hour, int minute) throws DateTimeException
      Set the hour and minute of the day when the trigger must start the task.
      The hour and minute are part of the start date and determine the time of day when the task is triggered.
      Parameters:
      hour - hour of the day when to trigger (0..23)
      minute - minute of the hour when to trigger (0..59)
      Returns:
      this builder instance
      Throws:
      DateTimeException - if given hour or minute are invalid
      Since:
      taskplanner 3.0
      See Also:
    • withRepeating

      public TimeTriggerBuilder withRepeating(@Nonnull RepeatInterval repeatInterval)
      Set the repeating interval. The default value is RepeatInterval.NONE. See RepeatInterval for details about each interval.
      Parameters:
      repeatInterval - the desired repeat interval for this trigger
      Returns:
      this builder instance
      Throws:
      IllegalArgumentException - if given repeatInterval is null.
      Since:
      taskplanner 3.0
    • withMonthlyDay

      public TimeTriggerBuilder withMonthlyDay(@Nonnull MonthlyDay monthlyDay)
      If you have set the repeat interval to RepeatInterval.MONTHLY, then you can configure the day of the month on which the task must be executed.
      The default value is MonthlyDay.INITIAL, which means the day from the startDate is used. For other repeating intervals other than RepeatInterval.MONTHLY, this setting has no effect.
      Parameters:
      monthlyDay - the day of the month when execution is desired
      Returns:
      this builder instance
      Throws:
      IllegalArgumentException - if given monthlyDay is null.
      Since:
      taskplanner 3.0
      See Also:
    • create

      public TriggerDefinition create()
      Finishes the configuration of the time trigger and creates a TriggerDefinition that can be added to tasks.
      Returns:
      a new TriggerDefinition with settings from this builder.
      Since:
      taskplanner 3.0