org.camunda.bpm.engine.impl.bpmn.behavior
Class MultiInstanceActivityBehavior
java.lang.Object
org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior
org.camunda.bpm.engine.impl.bpmn.behavior.AbstractBpmnActivityBehavior
org.camunda.bpm.engine.impl.bpmn.behavior.MultiInstanceActivityBehavior
- All Implemented Interfaces:
- CoreActivityBehavior<ActivityExecution>, ActivityBehavior, CompositeActivityBehavior, ModificationObserverBehavior, SignallableActivityBehavior
- Direct Known Subclasses:
- ParallelMultiInstanceActivityBehavior, SequentialMultiInstanceActivityBehavior
public abstract class MultiInstanceActivityBehavior
- extends AbstractBpmnActivityBehavior
- implements CompositeActivityBehavior, ModificationObserverBehavior
Abstract Multi Instance Behavior: used for both parallel and sequential
multi instance implementation.
- Author:
- Daniel Meyer, Thorben Lindhauer
|
Method Summary |
protected boolean |
completionConditionSatisfied(ActivityExecution execution)
|
protected abstract void |
createInstances(ActivityExecution execution,
int nrOfInstances)
|
protected void |
evaluateCollectionVariable(ActivityExecution execution,
int loopCounter)
|
void |
execute(ActivityExecution execution)
Default behaviour: just leave the activity with no extra functionality. |
String |
getCollectionElementVariable()
|
Expression |
getCollectionExpression()
|
String |
getCollectionVariable()
|
Expression |
getCompletionConditionExpression()
|
protected Object |
getElementAtIndex(int i,
Collection<?> collection)
|
protected ActivityImpl |
getInnerActivity(ActivityExecution execution)
Get the inner activity of the multi instance execution. |
protected Integer |
getLocalLoopVariable(ActivityExecution execution,
String variableName)
|
Expression |
getLoopCardinalityExpression()
|
protected Integer |
getLoopVariable(ActivityExecution execution,
String variableName)
|
protected void |
leave(ActivityExecution execution)
Subclasses that call leave() will first pass through this method, before
the regular FlowNodeActivityBehavior.leave(ActivityExecution) is
called. |
protected void |
performInstance(ActivityExecution execution,
PvmActivity activity,
int loopCounter)
|
protected int |
resolveLoopCardinality(ActivityExecution execution)
|
protected int |
resolveNrOfInstances(ActivityExecution execution)
|
void |
setCollectionElementVariable(String collectionElementVariable)
|
void |
setCollectionExpression(Expression collectionExpression)
|
void |
setCollectionVariable(String collectionVariable)
|
void |
setCompletionConditionExpression(Expression completionConditionExpression)
|
void |
setLoopCardinalityExpression(Expression loopCardinalityExpression)
|
protected void |
setLoopVariable(ActivityExecution execution,
String variableName,
Object value)
|
protected boolean |
usesCollection()
|
| Methods inherited from class org.camunda.bpm.engine.impl.bpmn.behavior.AbstractBpmnActivityBehavior |
checkIfCauseOfExceptionIsBpmnError, createCompensateEventSubscription, executeWithErrorPropagation, isCompensationEventSubprocess, isProcessEngineExceptionWithoutCause, isTransactionNotActive, propagateBpmnError, propagateError, propagateException, propagateExceptionAsError, signal, signalCompensationDone |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOG
protected static final BpmnBehaviorLogger LOG
NUMBER_OF_INSTANCES
public static final String NUMBER_OF_INSTANCES
- See Also:
- Constant Field Values
NUMBER_OF_ACTIVE_INSTANCES
public static final String NUMBER_OF_ACTIVE_INSTANCES
- See Also:
- Constant Field Values
NUMBER_OF_COMPLETED_INSTANCES
public static final String NUMBER_OF_COMPLETED_INSTANCES
- See Also:
- Constant Field Values
LOOP_COUNTER
public static final String LOOP_COUNTER
- See Also:
- Constant Field Values
loopCardinalityExpression
protected Expression loopCardinalityExpression
completionConditionExpression
protected Expression completionConditionExpression
collectionExpression
protected Expression collectionExpression
collectionVariable
protected String collectionVariable
collectionElementVariable
protected String collectionElementVariable
MultiInstanceActivityBehavior
public MultiInstanceActivityBehavior()
execute
public void execute(ActivityExecution execution)
throws Exception
- Description copied from class:
FlowNodeActivityBehavior
- Default behaviour: just leave the activity with no extra functionality.
- Specified by:
execute in interface CoreActivityBehavior<ActivityExecution>- Specified by:
execute in interface ActivityBehavior- Overrides:
execute in class FlowNodeActivityBehavior
- Throws:
Exception
performInstance
protected void performInstance(ActivityExecution execution,
PvmActivity activity,
int loopCounter)
evaluateCollectionVariable
protected void evaluateCollectionVariable(ActivityExecution execution,
int loopCounter)
createInstances
protected abstract void createInstances(ActivityExecution execution,
int nrOfInstances)
throws Exception
- Throws:
Exception
resolveNrOfInstances
protected int resolveNrOfInstances(ActivityExecution execution)
getElementAtIndex
protected Object getElementAtIndex(int i,
Collection<?> collection)
usesCollection
protected boolean usesCollection()
resolveLoopCardinality
protected int resolveLoopCardinality(ActivityExecution execution)
completionConditionSatisfied
protected boolean completionConditionSatisfied(ActivityExecution execution)
leave
protected void leave(ActivityExecution execution)
- Description copied from class:
AbstractBpmnActivityBehavior
- Subclasses that call leave() will first pass through this method, before
the regular
FlowNodeActivityBehavior.leave(ActivityExecution) is
called.
- Overrides:
leave in class AbstractBpmnActivityBehavior
getInnerActivity
protected ActivityImpl getInnerActivity(ActivityExecution execution)
- Get the inner activity of the multi instance execution.
- Parameters:
execution - of multi instance activity
- Returns:
- inner activity
setLoopVariable
protected void setLoopVariable(ActivityExecution execution,
String variableName,
Object value)
getLoopVariable
protected Integer getLoopVariable(ActivityExecution execution,
String variableName)
getLocalLoopVariable
protected Integer getLocalLoopVariable(ActivityExecution execution,
String variableName)
getLoopCardinalityExpression
public Expression getLoopCardinalityExpression()
setLoopCardinalityExpression
public void setLoopCardinalityExpression(Expression loopCardinalityExpression)
getCompletionConditionExpression
public Expression getCompletionConditionExpression()
setCompletionConditionExpression
public void setCompletionConditionExpression(Expression completionConditionExpression)
getCollectionExpression
public Expression getCollectionExpression()
setCollectionExpression
public void setCollectionExpression(Expression collectionExpression)
getCollectionVariable
public String getCollectionVariable()
setCollectionVariable
public void setCollectionVariable(String collectionVariable)
getCollectionElementVariable
public String getCollectionElementVariable()
setCollectionElementVariable
public void setCollectionElementVariable(String collectionElementVariable)
Copyright © 2016 camunda services GmbH. All rights reserved.