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.NoneStartEventActivityBehavior createNoneStartEventActivityBehavior(org.activiti.bpmn.model.StartEvent startEvent)
EventSubProcessStartEventActivityBehavior createEventSubProcessStartEventActivityBehavior(org.activiti.bpmn.model.StartEvent startEvent, String activityId)
TaskActivityBehavior createTaskActivityBehavior(org.activiti.bpmn.model.Task task)
ManualTaskActivityBehavior createManualTaskActivityBehavior(org.activiti.bpmn.model.ManualTask manualTask)
ReceiveTaskActivityBehavior createReceiveTaskActivityBehavior(org.activiti.bpmn.model.ReceiveTask receiveTask)
UserTaskActivityBehavior createUserTaskActivityBehavior(org.activiti.bpmn.model.UserTask userTask, TaskDefinition taskDefinition)
ClassDelegate createClassDelegateServiceTask(org.activiti.bpmn.model.ServiceTask serviceTask)
ServiceTaskDelegateExpressionActivityBehavior createServiceTaskDelegateExpressionActivityBehavior(org.activiti.bpmn.model.ServiceTask serviceTask)
ServiceTaskExpressionActivityBehavior createServiceTaskExpressionActivityBehavior(org.activiti.bpmn.model.ServiceTask serviceTask)
WebServiceActivityBehavior createWebServiceActivityBehavior(org.activiti.bpmn.model.ServiceTask serviceTask)
WebServiceActivityBehavior createWebServiceActivityBehavior(org.activiti.bpmn.model.SendTask sendTask)
MailActivityBehavior createMailActivityBehavior(org.activiti.bpmn.model.ServiceTask serviceTask)
MailActivityBehavior createMailActivityBehavior(org.activiti.bpmn.model.SendTask sendTask)
ActivityBehavior createMuleActivityBehavior(org.activiti.bpmn.model.ServiceTask serviceTask, org.activiti.bpmn.model.BpmnModel bpmnModel)
ActivityBehavior createMuleActivityBehavior(org.activiti.bpmn.model.SendTask sendTask, org.activiti.bpmn.model.BpmnModel bpmnModel)
ActivityBehavior createCamelActivityBehavior(org.activiti.bpmn.model.ServiceTask serviceTask, org.activiti.bpmn.model.BpmnModel bpmnModel)
ActivityBehavior createCamelActivityBehavior(org.activiti.bpmn.model.SendTask sendTask, org.activiti.bpmn.model.BpmnModel bpmnModel)
ShellActivityBehavior createShellActivityBehavior(org.activiti.bpmn.model.ServiceTask serviceTask)
BusinessRuleTaskActivityBehavior createBusinessRuleTaskActivityBehavior(org.activiti.bpmn.model.BusinessRuleTask businessRuleTask)
ScriptTaskActivityBehavior createScriptTaskActivityBehavior(org.activiti.bpmn.model.ScriptTask scriptTask)
ExclusiveGatewayActivityBehavior createExclusiveGatewayActivityBehavior(org.activiti.bpmn.model.ExclusiveGateway exclusiveGateway)
ParallelGatewayActivityBehavior createParallelGatewayActivityBehavior(org.activiti.bpmn.model.ParallelGateway parallelGateway)
InclusiveGatewayActivityBehavior createInclusiveGatewayActivityBehavior(org.activiti.bpmn.model.InclusiveGateway inclusiveGateway)
EventBasedGatewayActivityBehavior createEventBasedGatewayActivityBehavior(org.activiti.bpmn.model.EventGateway eventGateway)
SequentialMultiInstanceBehavior createSequentialMultiInstanceBehavior(ActivityImpl activity, AbstractBpmnActivityBehavior innerActivityBehavior)
ParallelMultiInstanceBehavior createParallelMultiInstanceBehavior(ActivityImpl activity, AbstractBpmnActivityBehavior innerActivityBehavior)
SubProcessActivityBehavior createSubprocActivityBehavior(org.activiti.bpmn.model.SubProcess subProcess)
CallActivityBehavior createCallActivityBehavior(org.activiti.bpmn.model.CallActivity callActivity)
TransactionActivityBehavior createTransactionActivityBehavior(org.activiti.bpmn.model.Transaction transaction)
IntermediateCatchEventActivityBehavior createIntermediateCatchEventActivityBehavior(org.activiti.bpmn.model.IntermediateCatchEvent intermediateCatchEvent)
IntermediateThrowNoneEventActivityBehavior createIntermediateThrowNoneEventActivityBehavior(org.activiti.bpmn.model.ThrowEvent throwEvent)
IntermediateThrowSignalEventActivityBehavior createIntermediateThrowSignalEventActivityBehavior(org.activiti.bpmn.model.ThrowEvent throwEvent, org.activiti.bpmn.model.Signal signal, EventSubscriptionDeclaration eventSubscriptionDeclaration)
IntermediateThrowCompensationEventActivityBehavior createIntermediateThrowCompensationEventActivityBehavior(org.activiti.bpmn.model.ThrowEvent throwEvent, CompensateEventDefinition compensateEventDefinition)
NoneEndEventActivityBehavior createNoneEndEventActivityBehavior(org.activiti.bpmn.model.EndEvent endEvent)
ErrorEndEventActivityBehavior createErrorEndEventActivityBehavior(org.activiti.bpmn.model.EndEvent endEvent, org.activiti.bpmn.model.ErrorEventDefinition errorEventDefinition)
CancelEndEventActivityBehavior createCancelEndEventActivityBehavior(org.activiti.bpmn.model.EndEvent endEvent)
TerminateEndEventActivityBehavior createTerminateEndEventActivityBehavior(org.activiti.bpmn.model.EndEvent endEvent)
BoundaryEventActivityBehavior createBoundaryEventActivityBehavior(org.activiti.bpmn.model.BoundaryEvent boundaryEvent, boolean interrupting, ActivityImpl activity)
CancelBoundaryEventActivityBehavior createCancelBoundaryEventActivityBehavior(org.activiti.bpmn.model.CancelEventDefinition cancelEventDefinition)
Copyright © 2016 Alfresco. All rights reserved.