Class MultiInstanceActivityBehavior

    • Field Detail

      • LOGGER

        protected static final org.slf4j.Logger LOGGER
      • activity

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

        protected Expression loopCardinalityExpression
      • completionCondition

        protected String completionCondition
      • collectionExpression

        protected Expression collectionExpression
      • collectionVariable

        protected String collectionVariable
      • collectionElementVariable

        protected String collectionElementVariable
      • collectionString

        protected String collectionString
      • collectionHandler

        protected org.flowable.bpmn.model.CollectionHandler collectionHandler
      • aggregations

        protected org.flowable.bpmn.model.VariableAggregationDefinitions aggregations
      • collectionElementIndexVariable

        protected String collectionElementIndexVariable
    • Constructor Detail

      • MultiInstanceActivityBehavior

        public MultiInstanceActivityBehavior​(org.flowable.bpmn.model.Activity activity,
                                             AbstractBpmnActivityBehavior innerActivityBehavior)
        Parameters:
        innerActivityBehavior - The original ActivityBehavior of the activity that will be wrapped inside this behavior.
    • Method Detail

      • createInstances

        protected abstract int createInstances​(DelegateExecution execution)
      • hasVariableAggregationDefinitions

        protected boolean hasVariableAggregationDefinitions​(DelegateExecution execution)
      • aggregateVariablesForChildExecution

        protected void aggregateVariablesForChildExecution​(DelegateExecution childExecution,
                                                           DelegateExecution miRootExecution)
        Aggregated the variables for the finished child multi instance execution
        Parameters:
        childExecution - the child execution
        miRootExecution - the multi instance root execution
      • aggregateVariablesOfAllInstances

        protected void aggregateVariablesOfAllInstances​(DelegateExecution multiInstanceRootExecution)
        Aggregates all variables that were stored before for each child instance
      • executeCompensationBoundaryEvents

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

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

        protected org.flowable.bpmn.model.Process getProcessDefinition​(String processDefinitionId)
      • lastExecutionEnded

        public void lastExecutionEnded​(DelegateExecution execution)
      • internalInterrupted

        protected void internalInterrupted​(DelegateExecution execution)
      • completionConditionSatisfied

        public boolean completionConditionSatisfied​(DelegateExecution execution)
      • getLoopVariableInstance

        public org.flowable.variable.api.persistence.entity.VariableInstance getLoopVariableInstance​(DelegateExecution execution,
                                                                                                     String variableName)
      • sendCompletedWithConditionEvent

        protected void sendCompletedWithConditionEvent​(DelegateExecution execution)
      • sendCompletedEvent

        protected void sendCompletedEvent​(DelegateExecution execution)
      • resolveNrOfInstances

        protected int resolveNrOfInstances​(DelegateExecution execution)
      • executeOriginalBehavior

        protected void executeOriginalBehavior​(DelegateExecution execution,
                                               ExecutionEntity multiInstanceRootExecution,
                                               int loopCounter)
      • usesCollection

        protected boolean usesCollection()
      • isExtraScopeNeeded

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

        protected int resolveLoopCardinality​(DelegateExecution execution)
      • 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,
                                      String custom,
                                      int loopCounter,
                                      int nrOfCompletedInstances,
                                      int nrOfActiveInstances,
                                      int nrOfInstances)
      • getActiveValue

        protected String getActiveValue​(String originalValue,
                                        String propertyName,
                                        com.fasterxml.jackson.databind.node.ObjectNode taskElementProperties)
      • getLoopCardinalityExpression

        public Expression getLoopCardinalityExpression()
      • setLoopCardinalityExpression

        public void setLoopCardinalityExpression​(Expression loopCardinalityExpression)
      • getCompletionCondition

        public String getCompletionCondition()
      • setCompletionCondition

        public void setCompletionCondition​(String completionCondition)
      • 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)
      • getCollectionString

        public String getCollectionString()
      • setCollectionString

        public void setCollectionString​(String collectionString)
      • getHandler

        public org.flowable.bpmn.model.CollectionHandler getHandler()
      • setHandler

        public void setHandler​(org.flowable.bpmn.model.CollectionHandler collectionHandler)
      • getAggregations

        public org.flowable.bpmn.model.VariableAggregationDefinitions getAggregations()
      • setAggregations

        public void setAggregations​(org.flowable.bpmn.model.VariableAggregationDefinitions aggregations)
      • getCollectionElementIndexVariable

        public String getCollectionElementIndexVariable()
      • setCollectionElementIndexVariable

        public void setCollectionElementIndexVariable​(String collectionElementIndexVariable)