getTriggerExecutor function
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();
}
}