getTriggerExecutor function

TriggerExecutor<Trigger> getTriggerExecutor(
  1. Trigger trigger
)

Returns the relevant TriggerExecutor based on the type of trigger.

Implementation

TriggerExecutor getTriggerExecutor(Trigger trigger) {
  switch (trigger.runtimeType) {
    case ImmediateTrigger:
      return ImmediateTriggerExecutor();
    case OneTimeTrigger:
      return OneTimeTriggerExecutor();
    case DelayedTrigger:
      return DelayedTriggerExecutor();
    case ElapsedTimeTrigger:
      return ElapsedTimeTriggerExecutor();
    case IntervalTrigger:
      return IntervalTriggerExecutor();
    case PeriodicTrigger:
      return PeriodicTriggerExecutor();
    case DateTimeTrigger:
      return DateTimeTriggerExecutor();
    case RecurrentScheduledTrigger:
      return RecurrentScheduledTriggerExecutor();
    case CronScheduledTrigger:
      return CronScheduledTriggerExecutor();
    case SamplingEventTrigger:
      return SamplingEventTriggerExecutor();
    case ConditionalSamplingEventTrigger:
      return ConditionalSamplingEventTriggerExecutor();
    case ConditionalPeriodicTrigger:
      return ConditionalPeriodicTriggerExecutor();
    case RandomRecurrentTrigger:
      return RandomRecurrentTriggerExecutor();
    case PassiveTrigger:
      return PassiveTriggerExecutor();
    case UserTaskTrigger:
      return UserTaskTriggerExecutor();

    default:
      warning(
          "Unknown trigger used - cannot find a TriggerExecutor for the trigger of type '${trigger.runtimeType}'. "
          "Using an 'ImmediateTriggerExecutor' instead.");
      return ImmediateTriggerExecutor();
  }
}