Package org.flowable.engine.delegate

# Interface ReadOnlyDelegateExecution

All Superinterfaces:
  `VariableContainer`

public interface ReadOnlyDelegateExecution extends VariableContainer

Author:
  Filip Hrisafov

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getCurrentActivityId()`
  Gets the id of the current activity.
  `FlowElement`
  `getCurrentFlowElement()`
  The BPMN element where the execution currently is at.
  `String`
  `getEventName()`
  Will contain the event name in case this execution is passed in for an `ExecutionListener`.
  `String`
  `getId()`
  Unique id of this path of execution that can be used as a handle to provide external signals back into the engine after wait states.
  `String`
  `getParentId()`
  Gets the id of the parent of this execution.
  `String`
  `getProcessDefinitionId()`
  The process definition key for the process instance this execution is associated with.
  `String`
  `getProcessInstanceBusinessKey()`
  The business key for the process instance this execution is associated with.
  `String`
  `getProcessInstanceBusinessStatus()`
  The business status for the process instance this execution is associated with.
  `String`
  `getProcessInstanceId()`
  Reference to the overall process instance
  `String`
  `getPropagatedStageInstanceId()`
  If this execution runs in the context of a case and stage, this method returns it's closest parent stage instance id (the stage plan item instance id to be precise).
  `String`
  `getRootProcessInstanceId()`
  The 'root' process instance.
  `String`
  `getSuperExecutionId()`
  Gets the id of the calling execution.
  `boolean`
  `isActive()`
  returns whether this execution is currently active.
  `boolean`
  `isConcurrent()`
  returns whether this execution is concurrent or not.
  `boolean`
  `isEnded()`
  returns whether this execution has ended or not.
  `boolean`
  `isMultiInstanceRoot()`
  Returns whether this execution is the root of a multi instance execution.
  `boolean`
  `isProcessInstanceType()`
  returns whether this execution is a process instance or not.
  `boolean`
  `isScope()`
  Returns whether this execution is a scope.
  `default void`
  `setTransientVariable(String variableName, Object variableValue)`
  `default void`
  `setVariable(String variableName, Object variableValue)`

  ### Methods inherited from interface org.flowable.common.engine.api.variable.VariableContainer

  `getTenantId, getVariable, getVariableNames, hasVariable`

- ## Method Details

  - ### getId

    String getId()
    Unique id of this path of execution that can be used as a handle to provide external signals back into the engine after wait states.

  - ### getProcessInstanceId

    String getProcessInstanceId()
    Reference to the overall process instance

  - ### getRootProcessInstanceId

    String getRootProcessInstanceId()
    The 'root' process instance. When using call activity for example, the processInstance set will not always be the root. This method returns the topmost process instance.

  - ### getEventName

    String getEventName()
    Will contain the event name in case this execution is passed in for an `ExecutionListener`.

  - ### getProcessInstanceBusinessKey

    String getProcessInstanceBusinessKey()
    The business key for the process instance this execution is associated with.

  - ### getProcessInstanceBusinessStatus

    String getProcessInstanceBusinessStatus()
    The business status for the process instance this execution is associated with.

  - ### getProcessDefinitionId

    String getProcessDefinitionId()
    The process definition key for the process instance this execution is associated with.

  - ### getPropagatedStageInstanceId

    String getPropagatedStageInstanceId()
    If this execution runs in the context of a case and stage, this method returns it's closest parent stage instance id (the stage plan item instance id to be precise).
    Returns:
      the stage instance id this execution belongs to or null, if this execution is not part of a case at all or is not a child element of a stage

  - ### getParentId

    String getParentId()
    Gets the id of the parent of this execution. If null, the execution represents a process-instance.

  - ### getSuperExecutionId

    String getSuperExecutionId()
    Gets the id of the calling execution. If not null, the execution is part of a subprocess.

  - ### getCurrentActivityId

    String getCurrentActivityId()
    Gets the id of the current activity.

  - ### getCurrentFlowElement

    FlowElement getCurrentFlowElement()
    The BPMN element where the execution currently is at.

  - ### isActive

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

  - ### isEnded

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

  - ### isConcurrent

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

  - ### isProcessInstanceType

    boolean isProcessInstanceType()
    returns whether this execution is a process instance or not.

  - ### isScope

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

  - ### isMultiInstanceRoot

    boolean isMultiInstanceRoot()
    Returns whether this execution is the root of a multi instance execution.

  - ### setVariable

    default void setVariable(String variableName, Object variableValue)
    Specified by:
      `setVariable` in interface `VariableContainer`

  - ### setTransientVariable

    default void setTransientVariable(String variableName, Object variableValue)
    Specified by:
      `setTransientVariable` in interface `VariableContainer`