// Execution listener public virtual void Notify(IExecutionEntity execution) { if (executionListenerInstance == null) { executionListenerInstance = ExecutionListenerInstance; } Context.ProcessEngineConfiguration.DelegateInterceptor.HandleInvocation(new ExecutionListenerInvocation(executionListenerInstance, execution)); }
protected internal virtual IExecutionListener CreateExecutionListener(BpmnParse bpmnParse, ActivitiListener activitiListener) { IExecutionListener executionListener = null; if (ImplementationType.IMPLEMENTATION_TYPE_CLASS.Equals(activitiListener.ImplementationType, StringComparison.CurrentCultureIgnoreCase)) { executionListener = bpmnParse.ListenerFactory.CreateClassDelegateExecutionListener(activitiListener); } else if (ImplementationType.IMPLEMENTATION_TYPE_EXPRESSION.Equals(activitiListener.ImplementationType, StringComparison.CurrentCultureIgnoreCase)) { executionListener = bpmnParse.ListenerFactory.CreateExpressionExecutionListener(activitiListener); } else if (ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION.Equals(activitiListener.ImplementationType, StringComparison.CurrentCultureIgnoreCase)) { executionListener = bpmnParse.ListenerFactory.CreateDelegateExpressionExecutionListener(activitiListener); } return(executionListener); }
/// <summary> /// /// </summary> /// <param name="executionListenerInstance"></param> /// <param name="execution"></param> public ExecutionListenerInvocation(IExecutionListener executionListenerInstance, IExecutionEntity execution) { this.executionListenerInstance = executionListenerInstance; this.execution = execution; }