Interface ActivityExecution

    • Method Detail

      • enterActivityInstance

        void enterActivityInstance()
        invoked to notify the execution that a new activity instance is started
      • leaveActivityInstance

        void leaveActivityInstance()
        invoked to notify the execution that an activity instance is ended.
      • setActivityInstanceId

        void setActivityInstanceId​(java.lang.String id)
      • getActivityInstanceId

        java.lang.String getActivityInstanceId()
        return the Id of the activity instance currently executed by this execution
        Specified by:
        getActivityInstanceId in interface DelegateExecution
      • getParentActivityInstanceId

        java.lang.String getParentActivityInstanceId()
        return the Id of the parent activity instance currently executed by this execution
        Specified by:
        getParentActivityInstanceId in interface DelegateExecution
      • createExecution

        ActivityExecution createExecution()
        creates a new execution. This execution will be the parent of the newly created execution. properties processDefinition, processInstance and activity will be initialized.
      • createSubProcessInstance

        PvmProcessInstance createSubProcessInstance​(PvmProcessDefinition processDefinition)
        creates a new sub process instance. The current execution will be the super execution of the created execution.
        Parameters:
        processDefinition - The PvmProcessDefinition of the subprocess.
      • createSubCaseInstance

        CmmnCaseInstance createSubCaseInstance​(CmmnCaseDefinition caseDefinition)

        Creates a new sub case instance.

        This execution will be the super execution of the created sub case instance.

        Parameters:
        caseDefinition - The CmmnCaseDefinition of the sub case instance.
      • createSubCaseInstance

        CmmnCaseInstance createSubCaseInstance​(CmmnCaseDefinition caseDefinition,
                                               java.lang.String businessKey)

        Creates a new sub case instance.

        This execution will be the super execution of the created sub case instance.

        Parameters:
        caseDefinition - The CmmnCaseDefinition of the sub case instance.
        businessKey - The businessKey to be set on sub case instance.
      • getParent

        ActivityExecution getParent()
        returns the parent of this execution, or null if there no parent.
      • getExecutions

        java.util.List<? extends ActivityExecution> getExecutions()
        returns the list of execution of which this execution the parent of. This is a copy of the actual list, so a modification has no direct effect.
      • getNonEventScopeExecutions

        java.util.List<? extends ActivityExecution> getNonEventScopeExecutions()
        returns child executions that are not event scope executions.
      • hasChildren

        boolean hasChildren()
        Returns:
        true if this execution has child executions (event scope executions or not)
      • end

        void end​(boolean isScopeComplete)
        ends this execution.
      • endCompensation

        void endCompensation()
        Execution finished compensation. Removes this execution and notifies listeners.
      • setActive

        void setActive​(boolean isActive)
        makes this execution active or inactive.
      • isActive

        boolean isActive()
        returns whether this execution is currently active.
      • isEnded

        boolean isEnded()
        returns whether this execution has ended or not.
      • setConcurrent

        void setConcurrent​(boolean isConcurrent)
        changes the concurrent indicator on this execution.
      • isConcurrent

        boolean isConcurrent()
        returns whether this execution is concurrent or not.
      • isProcessInstanceExecution

        boolean isProcessInstanceExecution()
        returns whether this execution is a process instance or not.
      • inactivate

        void inactivate()
        Inactivates this execution. This is useful for example in a join: the execution still exists, but it is not longer active.
      • isScope

        boolean isScope()
        Returns whether this execution is a scope.
      • setScope

        void setScope​(boolean isScope)
        Changes whether this execution is a scope or not
      • isCompleteScope

        boolean isCompleteScope()
        Returns whether this execution completed the parent scope.
      • findInactiveConcurrentExecutions

        java.util.List<ActivityExecution> findInactiveConcurrentExecutions​(PvmActivity activity)
        Retrieves all executions which are concurrent and inactive at the given activity.
      • leaveActivityViaTransitions

        void leaveActivityViaTransitions​(java.util.List<PvmTransition> outgoingTransitions,
                                         java.util.List<? extends ActivityExecution> joinedExecutions)
        Takes the given outgoing transitions, and potentially reusing the given list of executions that were previously joined.
      • leaveActivityViaTransition

        void leaveActivityViaTransition​(PvmTransition outgoingTransition)
      • interrupt

        void interrupt​(java.lang.String reason)
        Called when an execution is interrupted. This will remove all associated entities such as event subscriptions, jobs, ...
      • getNextActivity

        PvmActivity getNextActivity()
        An activity which is to be started next.
      • remove

        void remove()
      • destroy

        void destroy()
      • signal

        void signal​(java.lang.String string,
                    java.lang.Object signalData)
      • setActivity

        void setActivity​(PvmActivity activity)
      • tryPruneLastConcurrentChild

        boolean tryPruneLastConcurrentChild()
      • forceUpdate

        void forceUpdate()
      • findExecutionForFlowScope

        ActivityExecution findExecutionForFlowScope​(PvmScope targetScope)
        Assumption: the current execution is active and executing an activity (getActivity() is not null). For a given target scope, this method returns the scope execution.
        Parameters:
        targetScope - scope activity or process definition for which the scope execution should be found; must be an ancestor of the execution's current activity
        Returns:
      • createActivityExecutionMapping

        java.util.Map<ScopeImpl,​PvmExecutionImpl> createActivityExecutionMapping()
        Returns a mapping from scope activities to scope executions for all scopes that are ancestors of the activity currently executed by this execution. Assumption: the current execution is active and executing an activity (getActivity() is not null).
      • setEnded

        void setEnded​(boolean b)
      • setIgnoreAsync

        void setIgnoreAsync​(boolean ignoreAsync)