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