Class 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
    • Constructor Detail

      • TimeTriggerForCustomSettings

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

      • calculateNextExecutionTime

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

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

        public static int getCardinalityFromSetting​(java.time.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 java.util.List<java.time.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 java.lang.String generateNiceReadableSentenceForExecution​(java.time.ZonedDateTime startDate,
                                                                                java.lang.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:
        java.lang.IllegalArgumentException - if settings are invalid