Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated
ActivityBehaviorFactory 活动行为工厂类
/**
* 活动行为工厂类
* 工厂类用于BPMN解析类{@link BpmnParser},BPMN解析类实例化行为类。例如,在解析独占网关时,
* 将请求此工厂创建新的行为类{@link ActivityBehavior},设置在流程当前步骤的元素上,并实现独占网关符合规范的行为。
*
* 您可以提供这个类自己的实现。通过这种方式,可以为标准bpmn xml构造提供不同的执行语义。你可以调整这个专用网关
* 如果你想要的话,使其变成完全不同的东西。只有在希望更改任何BPMN默认构造的默认行为时,才建议创建自己的{@link ActivityBehaviorFactory}。
* 即使这样,也要三思,因为它不再是符合规范的bpmn了。
*
* 请注意,您始终可以使用类委托将任何自定义步骤表示为服务任务。
*
* 实现自己的{@link ActivityBehaviorFactory}最简单、最可取的方法是扩展{@link DefaultActivityBehaviorFactory}类,
* 并重写特定于{@link ActivityBehavior}您想更改的地方。
*
* 这个接口的一个实例可以注入{@link ProcessEngineConfigurationImpl}及其子类中。
*
* @author Joram Barrez
*/
public interface ActivityBehaviorFactory {
NoneStartEventActivityBehavior createNoneStartEventActivityBehavior(StartEvent startEvent);
TaskActivityBehavior createTaskActivityBehavior(Task task);
ManualTaskActivityBehavior createManualTaskActivityBehavior(ManualTask manualTask);
ReceiveTaskActivityBehavior createReceiveTaskActivityBehavior(ReceiveTask receiveTask);
ReceiveEventTaskActivityBehavior createReceiveEventTaskActivityBehavior(ReceiveTask receiveTask, String eventDefinitionKey);
UserTaskActivityBehavior createUserTaskActivityBehavior(UserTask userTask);
ClassDelegate createClassDelegateServiceTask(ServiceTask serviceTask);
ServiceTaskDelegateExpressionActivityBehavior createServiceTaskDelegateExpressionActivityBehavior(ServiceTask serviceTask);
ServiceTaskExpressionActivityBehavior createServiceTaskExpressionActivityBehavior(ServiceTask serviceTask);
WebServiceActivityBehavior createWebServiceActivityBehavior(ServiceTask serviceTask, BpmnModel bpmnModel);
WebServiceActivityBehavior createWebServiceActivityBehavior(SendTask sendTask, BpmnModel bpmnModel);
MailActivityBehavior createMailActivityBehavior(ServiceTask serviceTask);
MailActivityBehavior createMailActivityBehavior(SendTask sendTask);
// 我们不希望对Mule模块产生硬依赖,因此我们返回
// ActivityBehavior并使用字符串而不是类本身实例化委托实例。
ActivityBehavior createMuleActivityBehavior(ServiceTask serviceTask);
ActivityBehavior createMuleActivityBehavior(SendTask sendTask);
ActivityBehavior createCamelActivityBehavior(ServiceTask serviceTask);
ActivityBehavior createCamelActivityBehavior(SendTask sendTask);
ActivityBehavior createDmnActivityBehavior(ServiceTask serviceTask);
ActivityBehavior createDmnActivityBehavior(SendTask sendTask);
ActivityBehavior createHttpActivityBehavior(ServiceTask serviceTask);
ShellActivityBehavior createShellActivityBehavior(ServiceTask serviceTask);
ActivityBehavior createBusinessRuleTaskActivityBehavior(BusinessRuleTask businessRuleTask);
ScriptTaskActivityBehavior createScriptTaskActivityBehavior(ScriptTask scriptTask);
SendEventTaskActivityBehavior createSendEventTaskBehavior(SendEventServiceTask sendEventServiceTask);
ExternalWorkerTaskActivityBehavior createExternalWorkerTaskBehavior(ExternalWorkerServiceTask externalWorkerServiceTask);
ExclusiveGatewayActivityBehavior createExclusiveGatewayActivityBehavior(ExclusiveGateway exclusiveGateway);
ParallelGatewayActivityBehavior createParallelGatewayActivityBehavior(ParallelGateway parallelGateway);
InclusiveGatewayActivityBehavior createInclusiveGatewayActivityBehavior(InclusiveGateway inclusiveGateway);
EventBasedGatewayActivityBehavior createEventBasedGatewayActivityBehavior(EventGateway eventGateway);
SequentialMultiInstanceBehavior createSequentialMultiInstanceBehavior(Activity activity, AbstractBpmnActivityBehavior innerActivityBehavior);
ParallelMultiInstanceBehavior createParallelMultiInstanceBehavior(Activity activity, AbstractBpmnActivityBehavior innerActivityBehavior);
SubProcessActivityBehavior createSubprocessActivityBehavior(SubProcess subProcess);
EventSubProcessActivityBehavior createEventSubprocessActivityBehavior(EventSubProcess eventSubProcess);
EventSubProcessConditionalStartEventActivityBehavior createEventSubProcessConditionalStartEventActivityBehavior(StartEvent startEvent,
ConditionalEventDefinition conditionalEventDefinition, String conditionExpression);
EventSubProcessErrorStartEventActivityBehavior createEventSubProcessErrorStartEventActivityBehavior(StartEvent startEvent);
EventSubProcessEscalationStartEventActivityBehavior createEventSubProcessEscalationStartEventActivityBehavior(StartEvent startEvent);
EventSubProcessMessageStartEventActivityBehavior createEventSubProcessMessageStartEventActivityBehavior(StartEvent startEvent, MessageEventDefinition messageEventDefinition);
EventSubProcessSignalStartEventActivityBehavior createEventSubProcessSignalStartEventActivityBehavior(StartEvent startEvent, SignalEventDefinition signalEventDefinition, Signal signal);
EventSubProcessTimerStartEventActivityBehavior createEventSubProcessTimerStartEventActivityBehavior(StartEvent startEvent, TimerEventDefinition timerEventDefinition);
EventSubProcessEventRegistryStartEventActivityBehavior createEventSubProcessEventRegistryStartEventActivityBehavior(StartEvent startEvent, String eventDefinitionKey);
EventSubProcessVariableListenerlStartEventActivityBehavior createEventSubProcessVariableListenerlStartEventActivityBehavior(StartEvent startEvent, VariableListenerEventDefinition variableListenerEventDefinition);
AdhocSubProcessActivityBehavior createAdhocSubprocessActivityBehavior(SubProcess subProcess);
CallActivityBehavior createCallActivityBehavior(CallActivity callActivity);
CaseTaskActivityBehavior createCaseTaskBehavior(CaseServiceTask caseServiceTask);
TransactionActivityBehavior createTransactionActivityBehavior(Transaction transaction);
IntermediateCatchEventActivityBehavior createIntermediateCatchEventActivityBehavior(IntermediateCatchEvent intermediateCatchEvent);
IntermediateCatchMessageEventActivityBehavior createIntermediateCatchMessageEventActivityBehavior(IntermediateCatchEvent intermediateCatchEvent,
MessageEventDefinition messageEventDefinition);
IntermediateCatchConditionalEventActivityBehavior createIntermediateCatchConditionalEventActivityBehavior(IntermediateCatchEvent intermediateCatchEvent,
ConditionalEventDefinition conditionalEventDefinition, String conditionExpression);
IntermediateCatchTimerEventActivityBehavior createIntermediateCatchTimerEventActivityBehavior(IntermediateCatchEvent intermediateCatchEvent, TimerEventDefinition timerEventDefinition);
IntermediateCatchEventRegistryEventActivityBehavior createIntermediateCatchEventRegistryEventActivityBehavior(IntermediateCatchEvent intermediateCatchEvent, String eventDefinitionKey);
IntermediateCatchSignalEventActivityBehavior createIntermediateCatchSignalEventActivityBehavior(IntermediateCatchEvent intermediateCatchEvent,
SignalEventDefinition signalEventDefinition, Signal signal);
IntermediateCatchVariableListenerEventActivityBehavior createIntermediateCatchVariableListenerEventActivityBehavior(IntermediateCatchEvent intermediateCatchEvent,
VariableListenerEventDefinition variableListenerEventDefinition);
IntermediateThrowNoneEventActivityBehavior createIntermediateThrowNoneEventActivityBehavior(ThrowEvent throwEvent);
IntermediateThrowSignalEventActivityBehavior createIntermediateThrowSignalEventActivityBehavior(ThrowEvent throwEvent, SignalEventDefinition signalEventDefinition, Signal signal);
IntermediateThrowEscalationEventActivityBehavior createIntermediateThrowEscalationEventActivityBehavior(ThrowEvent throwEvent, EscalationEventDefinition escalationEventDefinition, Escalation escalation);
IntermediateThrowCompensationEventActivityBehavior createIntermediateThrowCompensationEventActivityBehavior(ThrowEvent throwEvent, CompensateEventDefinition compensateEventDefinition);
NoneEndEventActivityBehavior createNoneEndEventActivityBehavior(EndEvent endEvent);
ErrorEndEventActivityBehavior createErrorEndEventActivityBehavior(EndEvent endEvent, ErrorEventDefinition errorEventDefinition);
EscalationEndEventActivityBehavior createEscalationEndEventActivityBehavior(EndEvent endEvent, EscalationEventDefinition escalationEventDefinition, Escalation escalation);
CancelEndEventActivityBehavior createCancelEndEventActivityBehavior(EndEvent endEvent);
TerminateEndEventActivityBehavior createTerminateEndEventActivityBehavior(EndEvent endEvent);
BoundaryEventActivityBehavior createBoundaryEventActivityBehavior(BoundaryEvent boundaryEvent, boolean interrupting);
BoundaryCancelEventActivityBehavior createBoundaryCancelEventActivityBehavior(CancelEventDefinition cancelEventDefinition);
BoundaryTimerEventActivityBehavior createBoundaryTimerEventActivityBehavior(BoundaryEvent boundaryEvent, TimerEventDefinition timerEventDefinition, boolean interrupting);
BoundarySignalEventActivityBehavior createBoundarySignalEventActivityBehavior(BoundaryEvent boundaryEvent, SignalEventDefinition signalEventDefinition, Signal signal, boolean interrupting);
BoundaryMessageEventActivityBehavior createBoundaryMessageEventActivityBehavior(BoundaryEvent boundaryEvent, MessageEventDefinition messageEventDefinition, boolean interrupting);
BoundaryConditionalEventActivityBehavior createBoundaryConditionalEventActivityBehavior(BoundaryEvent boundaryEvent, ConditionalEventDefinition conditionalEventDefinition,
String conditionExpression, boolean interrupting);
BoundaryEscalationEventActivityBehavior createBoundaryEscalationEventActivityBehavior(BoundaryEvent boundaryEvent, EscalationEventDefinition escalationEventDefinition, Escalation escalation, boolean interrupting);
BoundaryCompensateEventActivityBehavior createBoundaryCompensateEventActivityBehavior(BoundaryEvent boundaryEvent, CompensateEventDefinition compensateEventDefinition, boolean interrupting);
BoundaryEventRegistryEventActivityBehavior createBoundaryEventRegistryEventActivityBehavior(BoundaryEvent boundaryEvent, String eventDefinitionKey, boolean interrupting);
BoundaryVariableListenerEventActivityBehavior createBoundaryVariableListenerEventActivityBehavior(BoundaryEvent boundaryEvent, VariableListenerEventDefinition variableListenerEventDefinition, boolean interrupting);
}