@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
30 lines (29 loc) • 1.81 kB
TypeScript
import { BaseError, EventInstance, Model } from '@5minds/processcube_engine_sdk';
import { FlowNodeInstanceDatabaseAdapter } from '../../../Tools/DatabaseAdaptersSequelize/index';
import { EventMiddlewareHandler } from '../../../Tools/EventMiddlewareHandler';
import { TimerFacade } from '../../Facades/TimerFacade';
import { ProcessInstance } from '../../ProcessInstance';
import { FlowNodeHandlerFactory } from '../FlowNodeHandlerFactory';
import { EventHandler } from './EventHandler';
export declare class StartTimerEventHandler extends EventHandler<Model.Events.TimerStartEvent> {
private timerFacade;
private timerSubscription;
private eventName;
constructor(eventMiddlewareHandler: EventMiddlewareHandler, flowNodeHandlerFactory: FlowNodeHandlerFactory, flowNodeInstanceDatabaseAdapter: FlowNodeInstanceDatabaseAdapter, timerFacade: TimerFacade, startEventModel: Model.Events.TimerStartEvent, processInstance: ProcessInstance);
private get startEvent();
protected beforeExecute(resolveFunction?: Function, rejectFunction?: Function): Promise<void>;
protected persistOnSuspend(): Promise<void>;
protected persistOnTerminate(): Promise<void>;
protected persistOnError(error: BaseError): Promise<void>;
protected persistOnExit(): Promise<void>;
protected startExecution(): Promise<Array<Model.Base.FlowNode>>;
protected resumeAfterSuspend(flowNodeInstance: EventInstance): Promise<Array<Model.Base.FlowNode>>;
protected executeHandler(): Promise<Array<Model.Base.FlowNode>>;
private sendProcessStartedMessage;
private suspendAndWaitForTimerToElapse;
private waitForTimerToElapse;
private executeTimerExpressionIfNeeded;
private validateTimer;
private getEvaluatedEventName;
private publishStartEventFinishedNotification;
}