public interface ActivityBehaviorFactory
BpmnParser
and BpmnParse
to instantiate the behaviour classes. For example when parsing an exclusive gateway, this factory will be requested to create a
new ActivityBehavior
that will be set on the ActivityImpl
of that step of the process and will implement the spec-compliant behavior of the exclusive gateway.
You can provide your own implementation of this class. This way, you can give different execution semantics to a standard bpmn xml construct. Eg. you could tweak the exclusive gateway to do
something completely different if you would want that. Creating your own ActivityBehaviorFactory
is only advisable if you want to change the default behavior of any BPMN default construct.
And even then, think twice, because it won't be spec compliant bpmn anymore.
Note that you can always express any custom step as a service task with a class delegation.
The easiest and advisable way to implement your own ActivityBehaviorFactory
is to extend the DefaultActivityBehaviorFactory
class and override the method specific to the
ActivityBehavior
you want to change.
An instance of this interface can be injected in the ProcessEngineConfigurationImpl
and its subclasses.Modifier and Type | Method and Description |
---|---|
AdhocSubProcessActivityBehavior |
createAdhocSubprocessActivityBehavior(org.flowable.bpmn.model.SubProcess subProcess) |
BoundaryCancelEventActivityBehavior |
createBoundaryCancelEventActivityBehavior(org.flowable.bpmn.model.CancelEventDefinition cancelEventDefinition) |
BoundaryCompensateEventActivityBehavior |
createBoundaryCompensateEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent,
org.flowable.bpmn.model.CompensateEventDefinition compensateEventDefinition,
boolean interrupting) |
BoundaryEventActivityBehavior |
createBoundaryEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent,
boolean interrupting) |
BoundaryMessageEventActivityBehavior |
createBoundaryMessageEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent,
org.flowable.bpmn.model.MessageEventDefinition messageEventDefinition,
boolean interrupting) |
BoundarySignalEventActivityBehavior |
createBoundarySignalEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent,
org.flowable.bpmn.model.SignalEventDefinition signalEventDefinition,
org.flowable.bpmn.model.Signal signal,
boolean interrupting) |
BoundaryTimerEventActivityBehavior |
createBoundaryTimerEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent,
org.flowable.bpmn.model.TimerEventDefinition timerEventDefinition,
boolean interrupting) |
ActivityBehavior |
createBusinessRuleTaskActivityBehavior(org.flowable.bpmn.model.BusinessRuleTask businessRuleTask) |
CallActivityBehavior |
createCallActivityBehavior(org.flowable.bpmn.model.CallActivity callActivity) |
ActivityBehavior |
createCamelActivityBehavior(org.flowable.bpmn.model.SendTask sendTask) |
ActivityBehavior |
createCamelActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask) |
CancelEndEventActivityBehavior |
createCancelEndEventActivityBehavior(org.flowable.bpmn.model.EndEvent endEvent) |
CaseTaskActivityBehavior |
createCaseTaskBehavior(org.flowable.bpmn.model.CaseServiceTask caseServiceTask) |
ClassDelegate |
createClassDelegateServiceTask(org.flowable.bpmn.model.ServiceTask serviceTask) |
ActivityBehavior |
createDmnActivityBehavior(org.flowable.bpmn.model.SendTask sendTask) |
ActivityBehavior |
createDmnActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask) |
ErrorEndEventActivityBehavior |
createErrorEndEventActivityBehavior(org.flowable.bpmn.model.EndEvent endEvent,
org.flowable.bpmn.model.ErrorEventDefinition errorEventDefinition) |
EventBasedGatewayActivityBehavior |
createEventBasedGatewayActivityBehavior(org.flowable.bpmn.model.EventGateway eventGateway) |
EventSubProcessActivityBehavior |
createEventSubprocessActivityBehavior(org.flowable.bpmn.model.EventSubProcess eventSubProcess) |
EventSubProcessErrorStartEventActivityBehavior |
createEventSubProcessErrorStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent) |
EventSubProcessMessageStartEventActivityBehavior |
createEventSubProcessMessageStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent,
org.flowable.bpmn.model.MessageEventDefinition messageEventDefinition) |
EventSubProcessSignalStartEventActivityBehavior |
createEventSubProcessSignalStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent,
org.flowable.bpmn.model.SignalEventDefinition signalEventDefinition,
org.flowable.bpmn.model.Signal signal) |
EventSubProcessTimerStartEventActivityBehavior |
createEventSubProcessTimerStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent,
org.flowable.bpmn.model.TimerEventDefinition timerEventDefinition) |
ExclusiveGatewayActivityBehavior |
createExclusiveGatewayActivityBehavior(org.flowable.bpmn.model.ExclusiveGateway exclusiveGateway) |
ActivityBehavior |
createHttpActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask) |
InclusiveGatewayActivityBehavior |
createInclusiveGatewayActivityBehavior(org.flowable.bpmn.model.InclusiveGateway inclusiveGateway) |
IntermediateCatchEventActivityBehavior |
createIntermediateCatchEventActivityBehavior(org.flowable.bpmn.model.IntermediateCatchEvent intermediateCatchEvent) |
IntermediateCatchMessageEventActivityBehavior |
createIntermediateCatchMessageEventActivityBehavior(org.flowable.bpmn.model.IntermediateCatchEvent intermediateCatchEvent,
org.flowable.bpmn.model.MessageEventDefinition messageEventDefinition) |
IntermediateCatchSignalEventActivityBehavior |
createIntermediateCatchSignalEventActivityBehavior(org.flowable.bpmn.model.IntermediateCatchEvent intermediateCatchEvent,
org.flowable.bpmn.model.SignalEventDefinition signalEventDefinition,
org.flowable.bpmn.model.Signal signal) |
IntermediateCatchTimerEventActivityBehavior |
createIntermediateCatchTimerEventActivityBehavior(org.flowable.bpmn.model.IntermediateCatchEvent intermediateCatchEvent,
org.flowable.bpmn.model.TimerEventDefinition timerEventDefinition) |
IntermediateThrowCompensationEventActivityBehavior |
createIntermediateThrowCompensationEventActivityBehavior(org.flowable.bpmn.model.ThrowEvent throwEvent,
org.flowable.bpmn.model.CompensateEventDefinition compensateEventDefinition) |
IntermediateThrowNoneEventActivityBehavior |
createIntermediateThrowNoneEventActivityBehavior(org.flowable.bpmn.model.ThrowEvent throwEvent) |
IntermediateThrowSignalEventActivityBehavior |
createIntermediateThrowSignalEventActivityBehavior(org.flowable.bpmn.model.ThrowEvent throwEvent,
org.flowable.bpmn.model.SignalEventDefinition signalEventDefinition,
org.flowable.bpmn.model.Signal signal) |
MailActivityBehavior |
createMailActivityBehavior(org.flowable.bpmn.model.SendTask sendTask) |
MailActivityBehavior |
createMailActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask) |
ManualTaskActivityBehavior |
createManualTaskActivityBehavior(org.flowable.bpmn.model.ManualTask manualTask) |
ActivityBehavior |
createMuleActivityBehavior(org.flowable.bpmn.model.SendTask sendTask) |
ActivityBehavior |
createMuleActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask) |
NoneEndEventActivityBehavior |
createNoneEndEventActivityBehavior(org.flowable.bpmn.model.EndEvent endEvent) |
NoneStartEventActivityBehavior |
createNoneStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent) |
ParallelGatewayActivityBehavior |
createParallelGatewayActivityBehavior(org.flowable.bpmn.model.ParallelGateway parallelGateway) |
ParallelMultiInstanceBehavior |
createParallelMultiInstanceBehavior(org.flowable.bpmn.model.Activity activity,
AbstractBpmnActivityBehavior innerActivityBehavior) |
ReceiveTaskActivityBehavior |
createReceiveTaskActivityBehavior(org.flowable.bpmn.model.ReceiveTask receiveTask) |
ScriptTaskActivityBehavior |
createScriptTaskActivityBehavior(org.flowable.bpmn.model.ScriptTask scriptTask) |
SequentialMultiInstanceBehavior |
createSequentialMultiInstanceBehavior(org.flowable.bpmn.model.Activity activity,
AbstractBpmnActivityBehavior innerActivityBehavior) |
ServiceTaskDelegateExpressionActivityBehavior |
createServiceTaskDelegateExpressionActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask) |
ServiceTaskExpressionActivityBehavior |
createServiceTaskExpressionActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask) |
ShellActivityBehavior |
createShellActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask) |
SubProcessActivityBehavior |
createSubprocessActivityBehavior(org.flowable.bpmn.model.SubProcess subProcess) |
TaskActivityBehavior |
createTaskActivityBehavior(org.flowable.bpmn.model.Task task) |
TerminateEndEventActivityBehavior |
createTerminateEndEventActivityBehavior(org.flowable.bpmn.model.EndEvent endEvent) |
TransactionActivityBehavior |
createTransactionActivityBehavior(org.flowable.bpmn.model.Transaction transaction) |
UserTaskActivityBehavior |
createUserTaskActivityBehavior(org.flowable.bpmn.model.UserTask userTask) |
WebServiceActivityBehavior |
createWebServiceActivityBehavior(org.flowable.bpmn.model.SendTask sendTask,
org.flowable.bpmn.model.BpmnModel bpmnModel) |
WebServiceActivityBehavior |
createWebServiceActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask,
org.flowable.bpmn.model.BpmnModel bpmnModel) |
NoneStartEventActivityBehavior createNoneStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent)
TaskActivityBehavior createTaskActivityBehavior(org.flowable.bpmn.model.Task task)
ManualTaskActivityBehavior createManualTaskActivityBehavior(org.flowable.bpmn.model.ManualTask manualTask)
ReceiveTaskActivityBehavior createReceiveTaskActivityBehavior(org.flowable.bpmn.model.ReceiveTask receiveTask)
UserTaskActivityBehavior createUserTaskActivityBehavior(org.flowable.bpmn.model.UserTask userTask)
ClassDelegate createClassDelegateServiceTask(org.flowable.bpmn.model.ServiceTask serviceTask)
ServiceTaskDelegateExpressionActivityBehavior createServiceTaskDelegateExpressionActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask)
ServiceTaskExpressionActivityBehavior createServiceTaskExpressionActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask)
WebServiceActivityBehavior createWebServiceActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask, org.flowable.bpmn.model.BpmnModel bpmnModel)
WebServiceActivityBehavior createWebServiceActivityBehavior(org.flowable.bpmn.model.SendTask sendTask, org.flowable.bpmn.model.BpmnModel bpmnModel)
MailActivityBehavior createMailActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask)
MailActivityBehavior createMailActivityBehavior(org.flowable.bpmn.model.SendTask sendTask)
ActivityBehavior createMuleActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask)
ActivityBehavior createMuleActivityBehavior(org.flowable.bpmn.model.SendTask sendTask)
ActivityBehavior createCamelActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask)
ActivityBehavior createCamelActivityBehavior(org.flowable.bpmn.model.SendTask sendTask)
ActivityBehavior createDmnActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask)
ActivityBehavior createDmnActivityBehavior(org.flowable.bpmn.model.SendTask sendTask)
ActivityBehavior createHttpActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask)
ShellActivityBehavior createShellActivityBehavior(org.flowable.bpmn.model.ServiceTask serviceTask)
ActivityBehavior createBusinessRuleTaskActivityBehavior(org.flowable.bpmn.model.BusinessRuleTask businessRuleTask)
ScriptTaskActivityBehavior createScriptTaskActivityBehavior(org.flowable.bpmn.model.ScriptTask scriptTask)
ExclusiveGatewayActivityBehavior createExclusiveGatewayActivityBehavior(org.flowable.bpmn.model.ExclusiveGateway exclusiveGateway)
ParallelGatewayActivityBehavior createParallelGatewayActivityBehavior(org.flowable.bpmn.model.ParallelGateway parallelGateway)
InclusiveGatewayActivityBehavior createInclusiveGatewayActivityBehavior(org.flowable.bpmn.model.InclusiveGateway inclusiveGateway)
EventBasedGatewayActivityBehavior createEventBasedGatewayActivityBehavior(org.flowable.bpmn.model.EventGateway eventGateway)
SequentialMultiInstanceBehavior createSequentialMultiInstanceBehavior(org.flowable.bpmn.model.Activity activity, AbstractBpmnActivityBehavior innerActivityBehavior)
ParallelMultiInstanceBehavior createParallelMultiInstanceBehavior(org.flowable.bpmn.model.Activity activity, AbstractBpmnActivityBehavior innerActivityBehavior)
SubProcessActivityBehavior createSubprocessActivityBehavior(org.flowable.bpmn.model.SubProcess subProcess)
EventSubProcessActivityBehavior createEventSubprocessActivityBehavior(org.flowable.bpmn.model.EventSubProcess eventSubProcess)
EventSubProcessErrorStartEventActivityBehavior createEventSubProcessErrorStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent)
EventSubProcessMessageStartEventActivityBehavior createEventSubProcessMessageStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent, org.flowable.bpmn.model.MessageEventDefinition messageEventDefinition)
EventSubProcessSignalStartEventActivityBehavior createEventSubProcessSignalStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent, org.flowable.bpmn.model.SignalEventDefinition signalEventDefinition, org.flowable.bpmn.model.Signal signal)
EventSubProcessTimerStartEventActivityBehavior createEventSubProcessTimerStartEventActivityBehavior(org.flowable.bpmn.model.StartEvent startEvent, org.flowable.bpmn.model.TimerEventDefinition timerEventDefinition)
AdhocSubProcessActivityBehavior createAdhocSubprocessActivityBehavior(org.flowable.bpmn.model.SubProcess subProcess)
CallActivityBehavior createCallActivityBehavior(org.flowable.bpmn.model.CallActivity callActivity)
CaseTaskActivityBehavior createCaseTaskBehavior(org.flowable.bpmn.model.CaseServiceTask caseServiceTask)
TransactionActivityBehavior createTransactionActivityBehavior(org.flowable.bpmn.model.Transaction transaction)
IntermediateCatchEventActivityBehavior createIntermediateCatchEventActivityBehavior(org.flowable.bpmn.model.IntermediateCatchEvent intermediateCatchEvent)
IntermediateCatchMessageEventActivityBehavior createIntermediateCatchMessageEventActivityBehavior(org.flowable.bpmn.model.IntermediateCatchEvent intermediateCatchEvent, org.flowable.bpmn.model.MessageEventDefinition messageEventDefinition)
IntermediateCatchTimerEventActivityBehavior createIntermediateCatchTimerEventActivityBehavior(org.flowable.bpmn.model.IntermediateCatchEvent intermediateCatchEvent, org.flowable.bpmn.model.TimerEventDefinition timerEventDefinition)
IntermediateCatchSignalEventActivityBehavior createIntermediateCatchSignalEventActivityBehavior(org.flowable.bpmn.model.IntermediateCatchEvent intermediateCatchEvent, org.flowable.bpmn.model.SignalEventDefinition signalEventDefinition, org.flowable.bpmn.model.Signal signal)
IntermediateThrowNoneEventActivityBehavior createIntermediateThrowNoneEventActivityBehavior(org.flowable.bpmn.model.ThrowEvent throwEvent)
IntermediateThrowSignalEventActivityBehavior createIntermediateThrowSignalEventActivityBehavior(org.flowable.bpmn.model.ThrowEvent throwEvent, org.flowable.bpmn.model.SignalEventDefinition signalEventDefinition, org.flowable.bpmn.model.Signal signal)
IntermediateThrowCompensationEventActivityBehavior createIntermediateThrowCompensationEventActivityBehavior(org.flowable.bpmn.model.ThrowEvent throwEvent, org.flowable.bpmn.model.CompensateEventDefinition compensateEventDefinition)
NoneEndEventActivityBehavior createNoneEndEventActivityBehavior(org.flowable.bpmn.model.EndEvent endEvent)
ErrorEndEventActivityBehavior createErrorEndEventActivityBehavior(org.flowable.bpmn.model.EndEvent endEvent, org.flowable.bpmn.model.ErrorEventDefinition errorEventDefinition)
CancelEndEventActivityBehavior createCancelEndEventActivityBehavior(org.flowable.bpmn.model.EndEvent endEvent)
TerminateEndEventActivityBehavior createTerminateEndEventActivityBehavior(org.flowable.bpmn.model.EndEvent endEvent)
BoundaryEventActivityBehavior createBoundaryEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent, boolean interrupting)
BoundaryCancelEventActivityBehavior createBoundaryCancelEventActivityBehavior(org.flowable.bpmn.model.CancelEventDefinition cancelEventDefinition)
BoundaryTimerEventActivityBehavior createBoundaryTimerEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent, org.flowable.bpmn.model.TimerEventDefinition timerEventDefinition, boolean interrupting)
BoundarySignalEventActivityBehavior createBoundarySignalEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent, org.flowable.bpmn.model.SignalEventDefinition signalEventDefinition, org.flowable.bpmn.model.Signal signal, boolean interrupting)
BoundaryMessageEventActivityBehavior createBoundaryMessageEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent, org.flowable.bpmn.model.MessageEventDefinition messageEventDefinition, boolean interrupting)
BoundaryCompensateEventActivityBehavior createBoundaryCompensateEventActivityBehavior(org.flowable.bpmn.model.BoundaryEvent boundaryEvent, org.flowable.bpmn.model.CompensateEventDefinition compensateEventDefinition, boolean interrupting)
Copyright © 2019 Flowable. All rights reserved.