Package org.jbpm.services.api

## Interface RuntimeDataService

- All Known Subinterfaces:
    `RuntimeDataServiceEJBLocal`, `RuntimeDataServiceEJBRemote`
  All Known Implementing Classes:
    `RuntimeDataServiceCDIImpl`, `RuntimeDataServiceEJBImpl`, `RuntimeDataServiceImpl`

      public interface RuntimeDataService

  This service provides an interface to retrieve data about the runtime, including the following:
  - process instances
  - process definitions
  - node instance information
  - variable information

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `RuntimeDataService.EntryType` | Represents type of node instance log entries.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<org.kie.internal.task.api.AuditTask>` | `getAllAdminAuditTask​(String userId, org.kie.internal.query.QueryFilter filter)` | Get a list of tasks admin audit (user in businessAdministrators) logs for the user provides applying the query filter listed statuses.
    `List<org.kie.internal.task.api.AuditTask>` | `getAllAuditTask​(String userId, org.kie.internal.query.QueryFilter filter)` | Get a list of tasks audit logs for the user provides applying the query filter listed statuses.
    `List<org.kie.internal.task.api.AuditTask>` | `getAllAuditTaskByStatus​(String userId, org.kie.internal.query.QueryFilter filter)` | Get a list of all active tasks audit logs for the user provides applying the query filter listed statuses.
    `List<org.kie.internal.task.api.AuditTask>` | `getAllGroupAuditTask​(String userId, org.kie.internal.query.QueryFilter filter)` | Get a list of group tasks (actualOwner == null) audit logs for the user provides applying the query filter listed statuses.
    `NodeInstanceDesc` | `getNodeInstanceForWorkItem​(Long workItemId)` | Returns active node instance descriptor for given work item id, if exists.
    `Collection<NodeInstanceDesc>` | `getNodeInstancesByCorrelationKeyNodeType​(org.kie.internal.process.CorrelationKey correlationKey, List<Integer> states, List<String> nodeTypes, org.kie.api.runtime.query.QueryContext queryContext)` | Returns trace of all nodes for a given node types and correlation key
    `Collection<NodeInstanceDesc>` | `getNodeInstancesByNodeType​(long processInstanceId, List<String> nodeTypes, org.kie.api.runtime.query.QueryContext queryContext)` | Returns trace of all nodes for a given node types and process instance id
    `ProcessDefinition` | `getProcessById​(String processId)` | Deprecated. will be removed in version 7
    `Collection<ProcessDefinition>` | `getProcesses​(org.kie.api.runtime.query.QueryContext queryContext)` | Returns all process definitions available
    `Collection<ProcessDefinition>` | `getProcessesByDeploymentId​(String deploymentId, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process definitions for given deployment id
    `ProcessDefinition` | `getProcessesByDeploymentIdProcessId​(String deploymentId, String processId)` | Returns process definition for given deployment and process identifiers
    `Collection<ProcessDefinition>` | `getProcessesByFilter​(String filter, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process definitions that match the given filter
    `Collection<ProcessDefinition>` | `getProcessesById​(String processId)` | Returns process definitions for given process id regardless of the deployment
    `Collection<String>` | `getProcessIds​(String deploymentId, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process definition identifiers for given deployment id
    `ProcessInstanceDesc` | `getProcessInstanceByCorrelationKey​(org.kie.internal.process.CorrelationKey correlationKey)` | Returns active process instance description found for given correlation key if found otherwise null.
    `ProcessInstanceDesc` | `getProcessInstanceById​(long processInstanceId)` | Returns process instance descriptions found for given processInstanceId if found otherwise null.
    `Collection<NodeInstanceDesc>` | `getProcessInstanceFullHistory​(long processInstanceId, org.kie.api.runtime.query.QueryContext queryContext)` | Returns complete trace of all executed (completed) and active nodes for given process instance id
    `Collection<NodeInstanceDesc>` | `getProcessInstanceFullHistoryByType​(long processInstanceId, RuntimeDataService.EntryType type, org.kie.api.runtime.query.QueryContext queryContext)` | Returns complete trace of all events of given type (START, END, ABORTED, SKIPPED, OBSOLETE or ERROR) for given process instance.
    `Collection<NodeInstanceDesc>` | `getProcessInstanceHistoryActive​(long processInstanceId, org.kie.api.runtime.query.QueryContext queryContext)` | Returns trace of all active nodes for given process instance id
    `Collection<NodeInstanceDesc>` | `getProcessInstanceHistoryCompleted​(long processInstanceId, org.kie.api.runtime.query.QueryContext queryContext)` | Returns trace of all executed (completed) for given process instance id
    `Collection<ProcessInstanceDesc>` | `getProcessInstances​(List<Integer> states, String initiator, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process instance descriptions found with given statuses and initiated by `initiator`.
    `Collection<ProcessInstanceDesc>` | `getProcessInstances​(org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process instance descriptions
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByCorrelationKey​(org.kie.internal.process.CorrelationKey correlationKey, org.kie.api.runtime.query.QueryContext queryContext)` | Returns process instances descriptions (regardless of their states) found for given correlation key if found otherwise empty list.
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByCorrelationKeyAndStatus​(org.kie.internal.process.CorrelationKey correlationKey, List<Integer> states, org.kie.api.runtime.query.QueryContext queryContext)` | Returns process instances descriptions filtered by their states found for given correlation key if found otherwise empty list.
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByDeploymentId​(String deploymentId, List<Integer> states, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process instance descriptions found for given deployment id and statuses.
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByParent​(Long parentProcessInstanceId, List<Integer> states, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process instance descriptions
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByProcessDefinition​(String processDefId, List<Integer> states, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process instance descriptions found for given process definition id
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByProcessDefinition​(String processDefId, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process instance descriptions found for given process definition id
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByProcessId​(List<Integer> states, String processId, String initiator, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process instance descriptions found for given process id and statuses and initiated by `initiator`
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByProcessName​(List<Integer> states, String processName, String initiator, org.kie.api.runtime.query.QueryContext queryContext)` |
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByVariable​(String variableName, List<Integer> states, org.kie.api.runtime.query.QueryContext queryContext)` | Returns process instance descriptions found for process instance that have defined given variable
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesByVariableAndValue​(String variableName, String variableValue, List<Integer> states, org.kie.api.runtime.query.QueryContext queryContext)` | Returns process instance descriptions found for process instance that have defined given variable and its value matches given variableValue
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesWithSubprocessByProcessInstanceId​(Long processInstanceId, List<Integer> states, org.kie.api.runtime.query.QueryContext queryContext)` | Returns list of process instance descriptions
    `UserTaskInstanceDesc` | `getTaskById​(Long taskId)` | Return a task by its taskId.
    `UserTaskInstanceDesc` | `getTaskById​(Long taskId, boolean withSLA)` | Return a task by its taskId with SLA data if the withSLA param is true.
    `UserTaskInstanceDesc` | `getTaskByWorkItemId​(Long workItemId)` | Return a task by its workItemId.
    `List<org.kie.internal.task.api.model.TaskEvent>` | `getTaskEvents​(long taskId, org.kie.internal.query.QueryFilter filter)` | Gets a list of task events for given task
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksAssignedAsBusinessAdministrator​(String userId, org.kie.internal.query.QueryFilter filter)` | Return a list of assigned tasks as a Business Administrator.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksAssignedAsBusinessAdministratorByStatus​(String userId, List<org.kie.api.task.model.Status> statuses, org.kie.internal.query.QueryFilter filter)` | Return a list of assigned tasks as a Business Administrator for with one of the listed statuses
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksAssignedAsPotentialOwner​(String userId, List<String> groupIds, List<org.kie.api.task.model.Status> status, org.kie.internal.query.QueryFilter filter)` | Return a list of tasks the user or groups are eligible for with one of the listed statuses.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksAssignedAsPotentialOwner​(String userId, List<String> groupIds, org.kie.internal.query.QueryFilter filter)` | Return a list of tasks the user or groups are eligible for.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksAssignedAsPotentialOwner​(String userId, org.kie.internal.query.QueryFilter filter)` | Return a list of tasks the user is eligible for.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksAssignedAsPotentialOwnerByExpirationDateOptional​(String userId, List<org.kie.api.task.model.Status> status, Date from, org.kie.internal.query.QueryFilter filter)` | Return a list of tasks the user is eligible for with one of the listed statuses and expiration date starting at `from`.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksAssignedAsPotentialOwnerByStatus​(String userId, List<org.kie.api.task.model.Status> status, org.kie.internal.query.QueryFilter filter)` | Return a list of tasks the user is eligible for with one of the listed statuses.
    `List<Long>` | `getTasksByProcessInstanceId​(Long processInstanceId)` | Get a list of tasks the Process Instance is waiting on.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksByStatusByProcessInstanceId​(Long processInstanceId, List<org.kie.api.task.model.Status> status, org.kie.internal.query.QueryFilter filter)` | Get a list of tasks the Process Instance is waiting on with one of the listed statuses.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksByVariable​(String userId, String variableName, List<org.kie.api.task.model.Status> statuses, org.kie.api.runtime.query.QueryContext queryContext)` | Gets a list of `TaskSummary` instances for the given arguments
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksByVariableAndValue​(String userId, String variableName, String variableValue, List<org.kie.api.task.model.Status> statuses, org.kie.api.runtime.query.QueryContext context)` | Gets a list of `TaskSummary` instances for the given arguments
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksOwned​(String userId, org.kie.internal.query.QueryFilter filter)` | Return a list of tasks the user has claimed.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksOwnedByExpirationDateOptional​(String userId, List<org.kie.api.task.model.Status> strStatuses, Date from, org.kie.internal.query.QueryFilter filter)` | Return a list of tasks the user has claimed with one of the listed statuses and expiration date starting at `from`.
    `List<org.kie.api.task.model.TaskSummary>` | `getTasksOwnedByStatus​(String userId, List<org.kie.api.task.model.Status> status, org.kie.internal.query.QueryFilter filter)` | Return a list of tasks the user has claimed with one of the listed statuses.
    `Collection<VariableDesc>` | `getVariableHistory​(long processInstanceId, String variableId, org.kie.api.runtime.query.QueryContext queryContext)` | Returns collection of changes to given variable within scope of process instance
    `Collection<VariableDesc>` | `getVariablesCurrentState​(long processInstanceId)` | Returns collections of all process variables current value for given process instance
    `org.kie.internal.task.query.TaskSummaryQueryBuilder` | `taskSummaryQuery​(String userId)` | Query on `TaskSummary` instaances.

- - ### Method Detail

    - #### getProcessInstances

          Collection<ProcessInstanceDesc> getProcessInstances​(org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process instance descriptions
      Parameters:
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessInstanceDesc` instances representing the available process instances.

    - #### getProcessInstances

          Collection<ProcessInstanceDesc> getProcessInstances​(List<Integer> states,
                                                              String initiator,
                                                              org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process instance descriptions found with given statuses and initiated by `initiator`.
      Parameters:
        `states` - A list of possible state (int) values that the `ProcessInstance` can have.
        `initiator` - The initiator of the `ProcessInstance`.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessInstanceDesc` instances representing the process instances that match the given criteria (states and initiator).

    - #### getProcessInstancesByProcessId

          Collection<ProcessInstanceDesc> getProcessInstancesByProcessId​(List<Integer> states,
                                                                         String processId,
                                                                         String initiator,
                                                                         org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process instance descriptions found for given process id and statuses and initiated by `initiator`
      Parameters:
        `states` - A list of possible state (int) values that the `ProcessInstance` can have.
        `processId` - The id of the `Process` (definition) used when starting the process instance.
        `initiator` - The initiator of the `ProcessInstance`.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessInstanceDesc` instances representing the process instances that match the given criteria (states, processId, and initiator).

    - #### getProcessInstancesByProcessName

          Collection<ProcessInstanceDesc> getProcessInstancesByProcessName​(List<Integer> states,
                                                                           String processName,
                                                                           String initiator,
                                                                           org.kie.api.runtime.query.QueryContext queryContext)

      Parameters:
        `states` - A list of possible state (int) values that the `ProcessInstance` can have.
        `processName` - The name (not id!) of the `Process` (definition) used when starting the process instance.
        `initiator` - The initiator of the `ProcessInstance`.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessInstanceDesc` instances representing the process instances that match the given criteria (states, processName and initiator).

    - #### getProcessInstancesByDeploymentId

          Collection<ProcessInstanceDesc> getProcessInstancesByDeploymentId​(String deploymentId,
                                                                            List<Integer> states,
                                                                            org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process instance descriptions found for given deployment id and statuses.
      Parameters:
        `deploymentId` - The deployment id of the runtime.
        `states` - A list of possible state (int) values that the `ProcessInstance` can have.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessInstanceDesc` instances representing the process instances that match the given criteria (deploymentId and states).

    - #### getProcessInstanceById

          ProcessInstanceDesc getProcessInstanceById​(long processInstanceId)

      Returns process instance descriptions found for given processInstanceId if found otherwise null. At the same time it will fetch all active tasks (in status: Ready, Reserved, InProgress) to provide information what user task is keeping instance and who owns them (if were already claimed).
      Parameters:
        `processInstanceId` - The id of the process instance to be fetched
      Returns:
        Process instance information, in the form of a `ProcessInstanceDesc` instance.

    - #### getProcessInstanceByCorrelationKey

          ProcessInstanceDesc getProcessInstanceByCorrelationKey​(org.kie.internal.process.CorrelationKey correlationKey)

      Returns active process instance description found for given correlation key if found otherwise null. At the same time it will fetch all active tasks (in status: Ready, Reserved, InProgress) to provide information what user task is keeping instance and who owns them (if were already claimed).
      Parameters:
        `correlationKey` - correlation key assigned to process instance
      Returns:
        Process instance information, in the form of a `ProcessInstanceDesc` instance.

    - #### getProcessInstancesByCorrelationKey

          Collection<ProcessInstanceDesc> getProcessInstancesByCorrelationKey​(org.kie.internal.process.CorrelationKey correlationKey,
                                                                              org.kie.api.runtime.query.QueryContext queryContext)

      Returns process instances descriptions (regardless of their states) found for given correlation key if found otherwise empty list. This query uses 'like' to match correlation key so it allows to pass only partial keys - though matching is done based on 'starts with'
      Parameters:
        `correlationKey` - correlation key assigned to process instance
      Returns:
        A list of `ProcessInstanceDesc` instances representing the process instances that match the given correlation key

    - #### getProcessInstancesByCorrelationKeyAndStatus

          Collection<ProcessInstanceDesc> getProcessInstancesByCorrelationKeyAndStatus​(org.kie.internal.process.CorrelationKey correlationKey,
                                                                                       List<Integer> states,
                                                                                       org.kie.api.runtime.query.QueryContext queryContext)

      Returns process instances descriptions filtered by their states found for given correlation key if found otherwise empty list. This query uses 'like' to match correlation key so it allows to pass only partial keys - though matching is done based on 'starts with'
      Parameters:
        `correlationKey` - correlation key assigned to process instance
        `states` - A list of possible state (int) values that the `ProcessInstance` can have.
      Returns:
        A list of `ProcessInstanceDesc` instances representing the process instances that match the given correlation key

    - #### getProcessInstancesByProcessDefinition

          Collection<ProcessInstanceDesc> getProcessInstancesByProcessDefinition​(String processDefId,
                                                                                 org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process instance descriptions found for given process definition id
      Parameters:
        `processDefId` - The id of the process (definition)
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessInstanceDesc` instances representing the process instances that match the given criteria (deploymentId and states).

    - #### getProcessInstancesByProcessDefinition

          Collection<ProcessInstanceDesc> getProcessInstancesByProcessDefinition​(String processDefId,
                                                                                 List<Integer> states,
                                                                                 org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process instance descriptions found for given process definition id
      Parameters:
        `processDefId` - The id of the process (definition)
        `states` - A list of possible state (int) values that the `ProcessInstance` can have.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessInstanceDesc` instances representing the process instances that match the given criteria (deploymentId and states).

    - #### getProcessInstancesByVariable

          Collection<ProcessInstanceDesc> getProcessInstancesByVariable​(String variableName,
                                                                        List<Integer> states,
                                                                        org.kie.api.runtime.query.QueryContext queryContext)

      Returns process instance descriptions found for process instance that have defined given variable
      Parameters:
        `variableName` - name of the variable that process instance should have
        `states` - A list of possible state (int) values that the `ProcessInstance` can have. If null will return only active instances
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getProcessInstancesByVariableAndValue

          Collection<ProcessInstanceDesc> getProcessInstancesByVariableAndValue​(String variableName,
                                                                                String variableValue,
                                                                                List<Integer> states,
                                                                                org.kie.api.runtime.query.QueryContext queryContext)

      Returns process instance descriptions found for process instance that have defined given variable and its value matches given variableValue
      Parameters:
        `variableName` - name of the variable that process instance should have
        `variableValue` - value of the variable to match
        `states` - A list of possible state (int) values that the `ProcessInstance` can have. If null will return only active instances
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getProcessInstancesByParent

          Collection<ProcessInstanceDesc> getProcessInstancesByParent​(Long parentProcessInstanceId,
                                                                      List<Integer> states,
                                                                      org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process instance descriptions
      Parameters:
        `parentProcessInstanceId` - id of the parent process instance
        `states` - list of possible state (int) values that the `ProcessInstance` can have. If null will return only active instances
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessInstanceDesc` instances representing the available process instances.

    - #### getProcessInstancesWithSubprocessByProcessInstanceId

          Collection<ProcessInstanceDesc> getProcessInstancesWithSubprocessByProcessInstanceId​(Long processInstanceId,
                                                                                               List<Integer> states,
                                                                                               org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process instance descriptions
      Parameters:
        `processInstanceId` - id of the parent process instance
      Returns:
        A list of `ProcessInstanceDesc` instances representing the full hierarchy of this process

    - #### getNodeInstanceForWorkItem

          NodeInstanceDesc getNodeInstanceForWorkItem​(Long workItemId)

      Returns active node instance descriptor for given work item id, if exists.
      Parameters:
        `workItemId` - identifier of the work item
      Returns:
        returns node instance desc for work item if exists and is still active, otherwise null

    - #### getProcessInstanceHistoryActive

          Collection<NodeInstanceDesc> getProcessInstanceHistoryActive​(long processInstanceId,
                                                                       org.kie.api.runtime.query.QueryContext queryContext)

      Returns trace of all active nodes for given process instance id
      Parameters:
        `processInstanceId` - unique identifier of process instance
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:

    - #### getProcessInstanceHistoryCompleted

          Collection<NodeInstanceDesc> getProcessInstanceHistoryCompleted​(long processInstanceId,
                                                                          org.kie.api.runtime.query.QueryContext queryContext)

      Returns trace of all executed (completed) for given process instance id
      Parameters:
        `processInstanceId` - unique identifier of process instance
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:

    - #### getProcessInstanceFullHistory

          Collection<NodeInstanceDesc> getProcessInstanceFullHistory​(long processInstanceId,
                                                                     org.kie.api.runtime.query.QueryContext queryContext)

      Returns complete trace of all executed (completed) and active nodes for given process instance id
      Parameters:
        `processInstanceId` - The id of the process used to start the process instance.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        The `NodeInstance` information, in the form of a list of `NodeInstanceDesc` instances, that comes from a process instance that matches the given criteria (deploymentId, processId).

    - #### getProcessInstanceFullHistoryByType

          Collection<NodeInstanceDesc> getProcessInstanceFullHistoryByType​(long processInstanceId,
                                                                           RuntimeDataService.EntryType type,
                                                                           org.kie.api.runtime.query.QueryContext queryContext)

      Returns complete trace of all events of given type (START, END, ABORTED, SKIPPED, OBSOLETE or ERROR) for given process instance.
      Parameters:
        `processInstanceId` - The id of the process used to start the process instance.
        `queryContext` - control parameters for the result e.g. sorting, paging
        `type` - type of events that shall be returned (START, END, ABORTED, SKIPPED, OBSOLETE or ERROR) - to return all use `getProcessInstanceFullHistory(long, QueryContext)`
      Returns:
        collection of node instance descriptions

    - #### getNodeInstancesByNodeType

          Collection<NodeInstanceDesc> getNodeInstancesByNodeType​(long processInstanceId,
                                                                  List<String> nodeTypes,
                                                                  org.kie.api.runtime.query.QueryContext queryContext)

      Returns trace of all nodes for a given node types and process instance id
      Parameters:
        `processInstanceId` - unique identifier of process instance
        `nodeTypes` - list of node types to filter nodes of process instance
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        collection of node instance descriptions

    - #### getNodeInstancesByCorrelationKeyNodeType

          Collection<NodeInstanceDesc> getNodeInstancesByCorrelationKeyNodeType​(org.kie.internal.process.CorrelationKey correlationKey,
                                                                                List<Integer> states,
                                                                                List<String> nodeTypes,
                                                                                org.kie.api.runtime.query.QueryContext queryContext)

      Returns trace of all nodes for a given node types and correlation key
      Parameters:
        `correlationKey` - correlation key
        `states` - list of states
        `nodeTypes` - list of node types to filter nodes of process instance
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        collection of node instance descriptions

    - #### getVariablesCurrentState

          Collection<VariableDesc> getVariablesCurrentState​(long processInstanceId)

      Returns collections of all process variables current value for given process instance
      Parameters:
        `processInstanceId` - The process instance id.
      Returns:
        Information about variables in the specified process instance, represented by a list of `VariableDesc` instances.

    - #### getVariableHistory

          Collection<VariableDesc> getVariableHistory​(long processInstanceId,
                                                      String variableId,
                                                      org.kie.api.runtime.query.QueryContext queryContext)

      Returns collection of changes to given variable within scope of process instance
      Parameters:
        `processInstanceId` - The process instance id.
        `variableId` - The id of the variable
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        Information about the variable with the given id in the specified process instance, represented by a list of `VariableDesc` instances.

    - #### getProcessesByDeploymentId

          Collection<ProcessDefinition> getProcessesByDeploymentId​(String deploymentId,
                                                                   org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process definitions for given deployment id
      Parameters:
        `deploymentId` - The deployment id of the runtime.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessDefinition` instances representing processes that match the given criteria (deploymentId)

    - #### getProcessesByFilter

          Collection<ProcessDefinition> getProcessesByFilter​(String filter,
                                                             org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process definitions that match the given filter
      Parameters:
        `filter` - A regular expression.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of `ProcessDefinition` instances whose name or id matches the given regular expression.

    - #### getProcesses

          Collection<ProcessDefinition> getProcesses​(org.kie.api.runtime.query.QueryContext queryContext)

      Returns all process definitions available
      Parameters:
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of all available processes, in the form a of a list of `ProcessDefinition` instances.

    - #### getProcessIds

          Collection<String> getProcessIds​(String deploymentId,
                                           org.kie.api.runtime.query.QueryContext queryContext)

      Returns list of process definition identifiers for given deployment id
      Parameters:
        `deploymentId` - The deployment id of the runtime.
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        A list of all available process id's for a particular deployment/runtime.

    - #### getProcessById

          @Deprecated
          ProcessDefinition getProcessById​(String processId)

      Deprecated.
      will be removed in version 7
      Deprecated since 6.3 as it does return only first ProcessDefinition even if there are more that reside in different deployments. Use `getProcessesById(String processId)` instead
      Returns process definition for given process id
      Parameters:
        `processId` - The id of the process
      Returns:
        A `ProcessDefinition` instance, representing the `Process` with the specified (process) id.
      See Also:
        `getProcessesById(String)`

    - #### getProcessesById

          Collection<ProcessDefinition> getProcessesById​(String processId)

      Returns process definitions for given process id regardless of the deployment
      Parameters:
        `processId` - The id of the process
      Returns:
        A `ProcessDefinition` instance, representing the `Process` with the specified (process) id.

    - #### getProcessesByDeploymentIdProcessId

          ProcessDefinition getProcessesByDeploymentIdProcessId​(String deploymentId,
                                                                String processId)

      Returns process definition for given deployment and process identifiers
      Parameters:
        `deploymentId` - The id of the deployment (runtime)
        `processId` - The id of the process
      Returns:
        A `ProcessDefinition` instance, representing the `Process` that is present in the specified deployment with the specified (process) id.

    - #### getTaskByWorkItemId

          UserTaskInstanceDesc getTaskByWorkItemId​(Long workItemId)

      Return a task by its workItemId.
      Parameters:
        `workItemId` -
      Returns:

    - #### getTaskById

          UserTaskInstanceDesc getTaskById​(Long taskId)

      Return a task by its taskId.
      Parameters:
        `taskId` -
      Returns:

    - #### getTaskById

          UserTaskInstanceDesc getTaskById​(Long taskId,
                                           boolean withSLA)

      Return a task by its taskId with SLA data if the withSLA param is true.
      Parameters:
        `taskId` -
        `withSLA` -
      Returns:

    - #### getTasksAssignedAsBusinessAdministrator

          List<org.kie.api.task.model.TaskSummary> getTasksAssignedAsBusinessAdministrator​(String userId,
                                                                                           org.kie.internal.query.QueryFilter filter)

      Return a list of assigned tasks as a Business Administrator. Business administrators play the same role as task stakeholders but at task type level. Therefore, business administrators can perform the exact same operations as task stakeholders. Business administrators may also observe the progress of notifications.
      Parameters:
        `userId` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksAssignedAsBusinessAdministratorByStatus

          List<org.kie.api.task.model.TaskSummary> getTasksAssignedAsBusinessAdministratorByStatus​(String userId,
                                                                                                   List<org.kie.api.task.model.Status> statuses,
                                                                                                   org.kie.internal.query.QueryFilter filter)

      Return a list of assigned tasks as a Business Administrator for with one of the listed statuses
      Parameters:
        `userId` -
        `statuses` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksAssignedAsPotentialOwner

          List<org.kie.api.task.model.TaskSummary> getTasksAssignedAsPotentialOwner​(String userId,
                                                                                    org.kie.internal.query.QueryFilter filter)

      Return a list of tasks the user is eligible for.
      Parameters:
        `userId` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksAssignedAsPotentialOwner

          List<org.kie.api.task.model.TaskSummary> getTasksAssignedAsPotentialOwner​(String userId,
                                                                                    List<String> groupIds,
                                                                                    org.kie.internal.query.QueryFilter filter)

      Return a list of tasks the user or groups are eligible for.
      Parameters:
        `userId` -
        `groupIds` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksAssignedAsPotentialOwnerByStatus

          List<org.kie.api.task.model.TaskSummary> getTasksAssignedAsPotentialOwnerByStatus​(String userId,
                                                                                            List<org.kie.api.task.model.Status> status,
                                                                                            org.kie.internal.query.QueryFilter filter)

      Return a list of tasks the user is eligible for with one of the listed statuses.
      Parameters:
        `userId` -
        `status` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksAssignedAsPotentialOwner

          List<org.kie.api.task.model.TaskSummary> getTasksAssignedAsPotentialOwner​(String userId,
                                                                                    List<String> groupIds,
                                                                                    List<org.kie.api.task.model.Status> status,
                                                                                    org.kie.internal.query.QueryFilter filter)

      Return a list of tasks the user or groups are eligible for with one of the listed statuses.
      Parameters:
        `userId` -
        `groupIds` -
        `status` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksAssignedAsPotentialOwnerByExpirationDateOptional

          List<org.kie.api.task.model.TaskSummary> getTasksAssignedAsPotentialOwnerByExpirationDateOptional​(String userId,
                                                                                                            List<org.kie.api.task.model.Status> status,
                                                                                                            Date from,
                                                                                                            org.kie.internal.query.QueryFilter filter)

      Return a list of tasks the user is eligible for with one of the listed statuses and expiration date starting at `from`. Tasks that do not have expiration date set will also be included in the result set.
      Parameters:
        `userId` -
        `status` -
        `from` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksOwnedByExpirationDateOptional

          List<org.kie.api.task.model.TaskSummary> getTasksOwnedByExpirationDateOptional​(String userId,
                                                                                         List<org.kie.api.task.model.Status> strStatuses,
                                                                                         Date from,
                                                                                         org.kie.internal.query.QueryFilter filter)

      Return a list of tasks the user has claimed with one of the listed statuses and expiration date starting at `from`. Tasks that do not have expiration date set will also be included in the result set.
      Parameters:
        `userId` -
        `strStatuses` -
        `from` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksOwned

          List<org.kie.api.task.model.TaskSummary> getTasksOwned​(String userId,
                                                                 org.kie.internal.query.QueryFilter filter)

      Return a list of tasks the user has claimed.
      Parameters:
        `userId` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksOwnedByStatus

          List<org.kie.api.task.model.TaskSummary> getTasksOwnedByStatus​(String userId,
                                                                         List<org.kie.api.task.model.Status> status,
                                                                         org.kie.internal.query.QueryFilter filter)

      Return a list of tasks the user has claimed with one of the listed statuses.
      Parameters:
        `userId` -
        `status` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getTasksByProcessInstanceId

          List<Long> getTasksByProcessInstanceId​(Long processInstanceId)

      Get a list of tasks the Process Instance is waiting on.
      Parameters:
        `processInstanceId` -
      Returns:
        list of task ids

    - #### getTasksByStatusByProcessInstanceId

          List<org.kie.api.task.model.TaskSummary> getTasksByStatusByProcessInstanceId​(Long processInstanceId,
                                                                                       List<org.kie.api.task.model.Status> status,
                                                                                       org.kie.internal.query.QueryFilter filter)

      Get a list of tasks the Process Instance is waiting on with one of the listed statuses.
      Parameters:
        `processInstanceId` -
        `status` -
        `filter` -
      Returns:
        list of @`TaskSummary` task summaries

    - #### getAllAuditTask

          List<org.kie.internal.task.api.AuditTask> getAllAuditTask​(String userId,
                                                                    org.kie.internal.query.QueryFilter filter)

      Get a list of tasks audit logs for the user provides applying the query filter listed statuses.
      Parameters:
        `userId` -
        `filter` -
      Returns:
        list of @`AuditTask` audit tasks

    - #### getAllAuditTaskByStatus

          List<org.kie.internal.task.api.AuditTask> getAllAuditTaskByStatus​(String userId,
                                                                            org.kie.internal.query.QueryFilter filter)

      Get a list of all active tasks audit logs for the user provides applying the query filter listed statuses.
      Parameters:
        `userId` -
        `filter` -
      Returns:
        list of @`AuditTask` audit tasks

    - #### getAllGroupAuditTask

          List<org.kie.internal.task.api.AuditTask> getAllGroupAuditTask​(String userId,
                                                                         org.kie.internal.query.QueryFilter filter)

      Get a list of group tasks (actualOwner == null) audit logs for the user provides applying the query filter listed statuses.
      Parameters:
        `userId` -
        `filter` -
      Returns:
        list of @`AuditTask` audit tasks

    - #### getAllAdminAuditTask

          List<org.kie.internal.task.api.AuditTask> getAllAdminAuditTask​(String userId,
                                                                         org.kie.internal.query.QueryFilter filter)

      Get a list of tasks admin audit (user in businessAdministrators) logs for the user provides applying the query filter listed statuses.
      Parameters:
        `userId` -
        `filter` -
      Returns:
        list of @`AuditTask` audit tasks

    - #### getTaskEvents

          List<org.kie.internal.task.api.model.TaskEvent> getTaskEvents​(long taskId,
                                                                        org.kie.internal.query.QueryFilter filter)

      Gets a list of task events for given task
      Parameters:
        `taskId` -
        `filter` -
      Returns:
        list of @`TaskEvent` task events

    - #### taskSummaryQuery

          org.kie.internal.task.query.TaskSummaryQueryBuilder taskSummaryQuery​(String userId)

      Query on `TaskSummary` instaances.
      Parameters:
        `userId` - The user associated with the tasks queried.
      Returns:
        A `TaskSummaryQueryBuilder` used to create the query.

    - #### getTasksByVariable

          List<org.kie.api.task.model.TaskSummary> getTasksByVariable​(String userId,
                                                                      String variableName,
                                                                      List<org.kie.api.task.model.Status> statuses,
                                                                      org.kie.api.runtime.query.QueryContext queryContext)

      Gets a list of `TaskSummary` instances for the given arguments
      Parameters:
        `userId` - The id of the user associated with the tasks
        `variableName` - The name of the task variable
        `statuses` - The list of `Status`'s that the task can have
        `queryContext` - The query context.
      Returns:
        a `List` of `TaskSummary` instances.

    - #### getTasksByVariableAndValue

          List<org.kie.api.task.model.TaskSummary> getTasksByVariableAndValue​(String userId,
                                                                              String variableName,
                                                                              String variableValue,
                                                                              List<org.kie.api.task.model.Status> statuses,
                                                                              org.kie.api.runtime.query.QueryContext context)

      Gets a list of `TaskSummary` instances for the given arguments
      Parameters:
        `userId` - The id of the user associated with the tasks
        `variableName` - The name of the task variable
        `variableValue` - The value of the task variable
        `statuses` - The list of `Status`'s that the task can have
        `context` - The query context.
      Returns:
        a `List` of `TaskSummary` instances.