Class MultiInstanceActivityBehavior

    • Field Detail

      • LOGGER

        protected static final org.slf4j.Logger LOGGER
      • NUMBER_OF_INSTANCES

        protected static final java.lang.String NUMBER_OF_INSTANCES
        See Also:
        Constant Field Values
      • NUMBER_OF_ACTIVE_INSTANCES

        protected static final java.lang.String NUMBER_OF_ACTIVE_INSTANCES
        See Also:
        Constant Field Values
      • NUMBER_OF_COMPLETED_INSTANCES

        protected static final java.lang.String NUMBER_OF_COMPLETED_INSTANCES
        See Also:
        Constant Field Values
      • activity

        protected org.activiti.bpmn.model.Activity activity
      • loopCardinalityExpression

        protected Expression loopCardinalityExpression
      • completionConditionExpression

        protected Expression completionConditionExpression
      • collectionExpression

        protected Expression collectionExpression
      • collectionVariable

        protected java.lang.String collectionVariable
      • collectionElementVariable

        protected java.lang.String collectionElementVariable
      • collectionElementIndexVariable

        protected java.lang.String collectionElementIndexVariable
    • Constructor Detail

      • MultiInstanceActivityBehavior

        public MultiInstanceActivityBehavior​(org.activiti.bpmn.model.Activity activity,
                                             AbstractBpmnActivityBehavior innerActivityBehavior)
        Parameters:
        innerActivityBehavior - The original ActivityBehavior of the activity that will be wrapped inside this behavior.
        isSequential - Indicates whether the multi instance behavior must be sequential or parallel
    • Method Detail

      • createInstances

        protected abstract int createInstances​(DelegateExecution execution)
      • executeCompensationBoundaryEvents

        protected void executeCompensationBoundaryEvents​(org.activiti.bpmn.model.FlowElement flowElement,
                                                         DelegateExecution execution)
      • findBoundaryEventsForFlowNode

        protected java.util.Collection<org.activiti.bpmn.model.BoundaryEvent> findBoundaryEventsForFlowNode​(java.lang.String processDefinitionId,
                                                                                                            org.activiti.bpmn.model.FlowElement flowElement)
      • getProcessDefinition

        protected org.activiti.bpmn.model.Process getProcessDefinition​(java.lang.String processDefinitionId)
      • lastExecutionEnded

        public void lastExecutionEnded​(DelegateExecution execution)
      • resolveNrOfInstances

        protected int resolveNrOfInstances​(DelegateExecution execution)
      • executeOriginalBehavior

        protected void executeOriginalBehavior​(DelegateExecution execution,
                                               int loopCounter)
      • resolveAndValidateCollection

        protected java.util.Collection resolveAndValidateCollection​(DelegateExecution execution)
      • resolveCollection

        protected java.lang.Object resolveCollection​(DelegateExecution execution)
      • usesCollection

        protected boolean usesCollection()
      • isExtraScopeNeeded

        protected boolean isExtraScopeNeeded​(org.activiti.bpmn.model.FlowNode flowNode)
      • resolveLoopCardinality

        protected int resolveLoopCardinality​(DelegateExecution execution)
      • completionConditionSatisfied

        protected boolean completionConditionSatisfied​(DelegateExecution execution)
      • setLoopVariable

        protected void setLoopVariable​(DelegateExecution execution,
                                       java.lang.String variableName,
                                       java.lang.Object value)
      • getLoopVariable

        protected java.lang.Integer getLoopVariable​(DelegateExecution execution,
                                                    java.lang.String variableName)
      • getLocalLoopVariable

        protected java.lang.Integer getLocalLoopVariable​(DelegateExecution execution,
                                                         java.lang.String variableName)
      • removeLocalLoopVariable

        protected void removeLocalLoopVariable​(DelegateExecution execution,
                                               java.lang.String variableName)
      • callActivityEndListeners

        protected void callActivityEndListeners​(DelegateExecution execution)
        Since no transitions are followed when leaving the inner activity, it is needed to call the end listeners yourself.
      • logLoopDetails

        protected void logLoopDetails​(DelegateExecution execution,
                                      java.lang.String custom,
                                      int loopCounter,
                                      int nrOfCompletedInstances,
                                      int nrOfActiveInstances,
                                      int nrOfInstances)
      • dispatchActivityCompletedEvent

        protected void dispatchActivityCompletedEvent​(DelegateExecution execution)
      • 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 java.lang.String getCollectionVariable()
      • setCollectionVariable

        public void setCollectionVariable​(java.lang.String collectionVariable)
      • getCollectionElementVariable

        public java.lang.String getCollectionElementVariable()
      • setCollectionElementVariable

        public void setCollectionElementVariable​(java.lang.String collectionElementVariable)
      • getCollectionElementIndexVariable

        public java.lang.String getCollectionElementIndexVariable()
      • setCollectionElementIndexVariable

        public void setCollectionElementIndexVariable​(java.lang.String collectionElementIndexVariable)
      • getLoopDataOutputRef

        public java.lang.String getLoopDataOutputRef()
      • hasLoopDataOutputRef

        public boolean hasLoopDataOutputRef()
      • setLoopDataOutputRef

        public void setLoopDataOutputRef​(java.lang.String loopDataOutputRef)
      • getOutputDataItem

        public java.lang.String getOutputDataItem()
      • setOutputDataItem

        public void setOutputDataItem​(java.lang.String outputDataItem)
      • propagateLoopDataOutputRefToProcessInstance

        protected void propagateLoopDataOutputRefToProcessInstance​(ExecutionEntity miRootExecution)