Package org.flowable.engine.runtime

# Interface Execution

All Known Subinterfaces:
  `ProcessInstance`

public interface Execution
Represent a 'path of execution' in a process instance. Note that a `ProcessInstance` also is an execution.

Author:
  Joram Barrez

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getActivityId()`
  Returns the id of the activity where the execution currently is at.
  `String`
  `getDescription()`
  Returns the description of this execution.
  `String`
  `getId()`
  The unique identifier of the execution.
  `String`
  `getName()`
  Returns the name of this execution.
  `String`
  `getParentId()`
  Gets the id of the parent of this execution.
  `String`
  `getProcessInstanceId()`
  Id of the root of the execution tree representing the 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`
  `getReferenceId()`
  If this execution has created a case (through a case task), this will return the referenced case instance id.
  `String`
  `getReferenceType()`
  If this execution has created a case (through a case task), this will return the referenced case type (e.g. bpmn-x-to-cmmn-y type).
  `String`
  `getRootProcessInstanceId()`
  Id of the root of the execution tree representing the process instance that has no super execution.
  `String`
  `getSuperExecutionId()`
  Gets the id of the super execution of this execution.
  `String`
  `getTenantId()`
  The tenant identifier of this process instance
  `boolean`
  `isEnded()`
  Indicates if the execution is ended.
  `boolean`
  `isSuspended()`
  Indicates if the execution is suspended.

- ## Method Details

  - ### getId

    String getId()
    The unique identifier of the execution.

  - ### isSuspended

    boolean isSuspended()
    Indicates if the execution is suspended.

  - ### isEnded

    boolean isEnded()
    Indicates if the execution is ended.

  - ### getActivityId

    String getActivityId()
    Returns the id of the activity where the execution currently is at. Returns null if the execution is not a 'leaf' execution (eg concurrent parent).

  - ### getProcessInstanceId

    String getProcessInstanceId()
    Id of the root of the execution tree representing the process instance. It is the same as `getId()` if this execution is the process instance.

  - ### 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 super execution of this execution.

  - ### getRootProcessInstanceId

    String getRootProcessInstanceId()
    Id of the root of the execution tree representing the process instance that has no super execution.

  - ### getTenantId

    String getTenantId()
    The tenant identifier of this process instance

  - ### getName

    String getName()
    Returns the name of this execution.

  - ### getDescription

    String getDescription()
    Returns the description of this execution.

  - ### getReferenceId

    String getReferenceId()
    If this execution has created a case (through a case task), this will return the referenced case instance id.
    Returns:
      the id of the optionally referenced case instance, if this execution created a case

  - ### getReferenceType

    String getReferenceType()
    If this execution has created a case (through a case task), this will return the referenced case type (e.g. bpmn-x-to-cmmn-y type).
    Returns:
      the type of the optionally referenced case instance, if this execution created a case

  - ### 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