Class TimeTriggerForCustomSettings

java.lang.Object
com.inet.taskplanner.server.api.trigger.time.AbstractTimeTrigger
com.inet.taskplanner.server.api.trigger.time.TimeTriggerForCustomSettings
All Implemented Interfaces:
Trigger

public class TimeTriggerForCustomSettings extends com.inet.taskplanner.server.api.trigger.time.AbstractTimeTrigger
Trigger implementation for the CUSTOM settings of the time trigger.

As there is only one trigger in the GUi and configuration, the TimeTriggerFactory will validate and create this kind of trigger in addition to the normal TimeTrigger.

As this is only indirectly supported in the public api, there is no Builder for this trigger. Use TimeTrigger with TimeTriggerBuilder whenever possible.

Since:
taskplanner 22.4
  • Field Details

  • Constructor Details

    • TimeTriggerForCustomSettings

      public TimeTriggerForCustomSettings(TriggerDefinition definition)
      Create the trigger for given definition
      Parameters:
      definition - definition with settings for custom repeat.
      Since:
      taskplanner 22.4
  • Method Details

    • calculateNextExecutionTime

      protected Optional<ZonedDateTime> calculateNextExecutionTime(ZonedDateTime lastExecutiontime)
      Specified by:
      calculateNextExecutionTime in class com.inet.taskplanner.server.api.trigger.time.AbstractTimeTrigger
    • getTriggerDescribingStringForLog

      protected String getTriggerDescribingStringForLog()
      Specified by:
      getTriggerDescribingStringForLog in class com.inet.taskplanner.server.api.trigger.time.AbstractTimeTrigger
    • getCardinalityFromSetting

      public static int getCardinalityFromSetting(ZonedDateTime startDate, MonthlyDay monthlyCardinality)
      FOR INTERNAL USE ONLY. get the cardinality setting (the nTh value) as int which we will then count down.
      Parameters:
      startDate - start date setting (INITIAL)
      monthlyCardinality - cardinality setting
      Returns:
      the value
    • getNextExecutionDates

      public static List<ZonedDateTime> getNextExecutionDates(TriggerDefinition definition)
      FOR INTERNAL USE ONLY. Get some next execution dates.
      Parameters:
      definition - settings of the trigger
      Returns:
      the dates, empty if is invalid
    • generateNiceReadableSentenceForExecution

      public static String generateNiceReadableSentenceForExecution(ZonedDateTime startDate, String localizedStartTime, TriggerDefinition definition)
      FOR INTERNAL USE ONLY. Generate a nice sentence for custom time settings.
      Parameters:
      startDate - start Date of the trigger
      localizedStartTime - localized string with hour/minute of execution.
      definition - the trigger definition settings
      Returns:
      the string
      Throws:
      IllegalArgumentException - if settings are invalid