org.jbpm.casemgmt.api

## Interface CaseRuntimeDataService

- All Known Implementing Classes:
    CaseRuntimeDataServiceImpl

      public interface CaseRuntimeDataService

  Provides access to case(s) and its runtime data such as:
  - available cases
  - available milestones
  - available stages

  Note: `CaseInstance.getCaseFile()` will always be empty when using `CaseRuntimeDataService`. Refer to using `CaseService.getCaseFileInstance(String)` when access to case file information is needed.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Collection<NodeInstanceDesc>` | `getActiveNodesForCase(String caseId, org.kie.api.runtime.query.QueryContext queryContext)` Returns active nodes in given case regardless in what process instance they belong to.
    `Collection<AdHocFragment>` | `getAdHocFragmentsForCase(String caseId)` Returns list of AdHocFragments available in given case.
    `Collection<CaseInstance>` | `getAllDescendantSubCaseInstancesByParentCaseId(String parentCaseId, List<CaseStatus> statuses)` Returns all subtree cases given an parent id case.
    `CaseDefinition` | `getCase(String deploymentId, String caseDefinitionId)` Returns case definition identified by caseDefinitionId that belongs to given deploymentId.
    `CaseInstance` | `getCaseInstanceById(String caseId)` Returns case instance for given case id if the caller of this class is authorized to see the case instance
    `Collection<CaseFileItem>` | `getCaseInstanceDataItems(String caseId, org.kie.api.runtime.query.QueryContext queryContext)` Returns case file data items (as simple descriptions not actual values) for given case instance
    `Collection<CaseFileItem>` | `getCaseInstanceDataItemsByName(String caseId, List<String> names, org.kie.api.runtime.query.QueryContext queryContext)` Returns case file data items (as simple descriptions not actual values) for given case instance filtered by item names
    `Collection<CaseFileItem>` | `getCaseInstanceDataItemsByType(String caseId, List<String> types, org.kie.api.runtime.query.QueryContext queryContext)` Returns case file data items (as simple descriptions not actual values) for given case instance filtered by item types
    `Collection<CaseMilestoneInstance>` | `getCaseInstanceMilestones(String caseId, boolean achievedOnly, org.kie.api.runtime.query.QueryContext queryContext)` Returns milestones for given case instance, identified by case id.
    `Collection<CaseInstance>` | `getCaseInstances(List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns all available active case instances that match given statuses
    `Collection<CaseInstance>` | `getCaseInstances(org.kie.api.runtime.query.QueryContext queryContext)` Returns all available active case instances
    `Collection<CaseInstance>` | `getCaseInstancesAnyRole(List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns case instances that given user (via identity provider) is involved in in any role.
    `Collection<CaseInstance>` | `getCaseInstancesByDataItem(String dataItemName, List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns all available active case instances that match given statuses and has case file data item with given name
    `Collection<CaseInstance>` | `getCaseInstancesByDataItemAndValue(String dataItemName, String dataItemValue, List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns all available active case instances that match given statuses and has case file data item with given name and value
    `Collection<CaseInstance>` | `getCaseInstancesByDefinition(String caseDefinitionId, List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns all available case instances;
    `Collection<CaseInstance>` | `getCaseInstancesByDeployment(String deploymentId, List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns all available case instances;
    `Collection<CaseInstance>` | `getCaseInstancesByRole(String roleName, List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns cases instances that given user (via identity provider) has access to with given role.
    `Collection<CaseInstance>` | `getCaseInstancesOwnedBy(String owner, List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns all case instances owned by given user
    `Collection<CaseStageInstance>` | `getCaseInstanceStages(String caseId, boolean activeOnly, org.kie.api.runtime.query.QueryContext queryContext)` Returns stages of given case instance, identified by case id.
    `Collection<CaseDefinition>` | `getCases(org.kie.api.runtime.query.QueryContext queryContext)` Returns available cases.
    `Collection<CaseDefinition>` | `getCases(String filter, org.kie.api.runtime.query.QueryContext queryContext)` Returns available cases which matching filter that applies to case name (usually represented by process id or name).
    `Collection<CaseDefinition>` | `getCasesByDeployment(String deploymentId, org.kie.api.runtime.query.QueryContext queryContext)` Returns available cases for given deployment id
    `List<org.kie.api.task.model.TaskSummary>` | `getCaseTasksAssignedAsBusinessAdmin(String caseId, String userId, List<org.kie.api.task.model.Status> status, org.kie.api.runtime.query.QueryContext queryContext)` Returns all tasks associated with given case id that are eligible for user to see as business admin role.
    `List<org.kie.api.task.model.TaskSummary>` | `getCaseTasksAssignedAsPotentialOwner(String caseId, String userId, List<org.kie.api.task.model.Status> status, org.kie.api.runtime.query.QueryContext queryContext)` Returns all tasks associated with given case id that are eligible for user to see.
    `List<org.kie.api.task.model.TaskSummary>` | `getCaseTasksAssignedAsStakeholder(String caseId, String userId, List<org.kie.api.task.model.Status> status, org.kie.api.runtime.query.QueryContext queryContext)` Returns all tasks associated with given case id that are eligible for user to see in task stakeholder role.
    `Collection<NodeInstanceDesc>` | `getCompletedNodesForCase(String caseId, org.kie.api.runtime.query.QueryContext queryContext)` Returns completed nodes in given case regardless in what process instance they belong to.
    `Collection<ProcessDefinition>` | `getProcessDefinitions(org.kie.api.runtime.query.QueryContext queryContext)` Returns process definitions that are not considered as case definitions.
    `Collection<ProcessDefinition>` | `getProcessDefinitions(String filter, org.kie.api.runtime.query.QueryContext queryContext)` Returns process definitions that are not considered as case definitions and are filtered by process id or name.
    `Collection<ProcessDefinition>` | `getProcessDefinitionsByDeployment(String deploymentId, org.kie.api.runtime.query.QueryContext queryContext)` Returns process definitions that are not considered as case definitions that belongs to given deployment.
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesForCase(String caseId, List<Integer> processStates, org.kie.api.runtime.query.QueryContext queryContext)` Returns process instances found for given case id.
    `Collection<ProcessInstanceDesc>` | `getProcessInstancesForCase(String caseId, org.kie.api.runtime.query.QueryContext queryContext)` Returns process instances found for given case id.
    `Collection<CaseInstance>` | `getSubCaseInstancesByParentCaseId(String parentCaseId, List<CaseStatus> statuses, org.kie.api.runtime.query.QueryContext queryContext)` Returns all first level children cases given an parent id case.

- - ### Method Detail

    - #### getCase

          CaseDefinition getCase(String deploymentId,
                                 String caseDefinitionId)

      Returns case definition identified by caseDefinitionId that belongs to given deploymentId.
      Parameters:
        `deploymentId` - deployment identifier that case definition is part of
        `caseDefinitionId` - id of the case

    - #### getCases

          Collection<CaseDefinition> getCases(org.kie.api.runtime.query.QueryContext queryContext)

      Returns available cases.
      Parameters:
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCases

          Collection<CaseDefinition> getCases(String filter,
                                              org.kie.api.runtime.query.QueryContext queryContext)

      Returns available cases which matching filter that applies to case name (usually represented by process id or name).
      Parameters:
        `filter` - filter for case name to narrow down results
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCasesByDeployment

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

      Returns available cases for given deployment id
      Parameters:
        `deploymentId` - deployment identifier that case definition is part of
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getProcessDefinitions

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

      Returns process definitions that are not considered as case definitions.
      Parameters:
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getProcessDefinitions

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

      Returns process definitions that are not considered as case definitions and are filtered by process id or name.
      Parameters:
        `filter` - regex based filter for either name or id of the process
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getProcessDefinitionsByDeployment

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

      Returns process definitions that are not considered as case definitions that belongs to given deployment.
      Parameters:
        `deploymentId` - deployment id the processes should be found for
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getProcessInstancesForCase

          Collection<ProcessInstanceDesc> getProcessInstancesForCase(String caseId,
                                                                     org.kie.api.runtime.query.QueryContext queryContext)

      Returns process instances found for given case id.
      Parameters:
        `caseId` - unique id of the case
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getProcessInstancesForCase

          Collection<ProcessInstanceDesc> getProcessInstancesForCase(String caseId,
                                                                     List<Integer> processStates,
                                                                     org.kie.api.runtime.query.QueryContext queryContext)

      Returns process instances found for given case id.
      Parameters:
        `caseId` - unique id of the case
        `processStates` - states representing process instance (active, completed, aborted)
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstanceMilestones

          Collection<CaseMilestoneInstance> getCaseInstanceMilestones(String caseId,
                                                                      boolean achievedOnly,
                                                                      org.kie.api.runtime.query.QueryContext queryContext)

      Returns milestones for given case instance, identified by case id.
      Parameters:
        `caseId` - unique id of the case
        `achievedOnly` - filter option to return only these that have already been achieved
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstanceStages

          Collection<CaseStageInstance> getCaseInstanceStages(String caseId,
                                                              boolean activeOnly,
                                                              org.kie.api.runtime.query.QueryContext queryContext)

      Returns stages of given case instance, identified by case id.
      Parameters:
        `caseId` - unique id of the case
        `activeOnly` - filter option to return only stages that are active
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getActiveNodesForCase

          Collection<NodeInstanceDesc> getActiveNodesForCase(String caseId,
                                                             org.kie.api.runtime.query.QueryContext queryContext)

      Returns active nodes in given case regardless in what process instance they belong to.
      Parameters:
        `caseId` - unique id of the case
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCompletedNodesForCase

          Collection<NodeInstanceDesc> getCompletedNodesForCase(String caseId,
                                                                org.kie.api.runtime.query.QueryContext queryContext)

      Returns completed nodes in given case regardless in what process instance they belong to.
      Parameters:
        `caseId` - unique id of the case
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getAdHocFragmentsForCase

          Collection<AdHocFragment> getAdHocFragmentsForCase(String caseId)

      Returns list of AdHocFragments available in given case. It includes all ad hoc fragments that are eligible for triggering - meaning it's container is active (case instance or stage)
      Parameters:
        `caseId` - unique id of the case

    - #### getCaseInstanceById

          CaseInstance getCaseInstanceById(String caseId)

      Returns case instance for given case id if the caller of this class is authorized to see the case instance
      Parameters:
        `caseId` - unique case id of the case
      Returns:
        case instance with basic details or null in case it was not found or access was not granted

    - #### getCaseInstances

          Collection<CaseInstance> getCaseInstances(org.kie.api.runtime.query.QueryContext queryContext)

      Returns all available active case instances
      Parameters:
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getSubCaseInstancesByParentCaseId

          Collection<CaseInstance> getSubCaseInstancesByParentCaseId(String parentCaseId,
                                                                     List<CaseStatus> statuses,
                                                                     org.kie.api.runtime.query.QueryContext queryContext)

      Returns all first level children cases given an parent id case.
      Parameters:
        `parentCaseId` - parent case
        `statuses` - list of statuses that subcases should be in to match
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getAllDescendantSubCaseInstancesByParentCaseId

          Collection<CaseInstance> getAllDescendantSubCaseInstancesByParentCaseId(String parentCaseId,
                                                                                  List<CaseStatus> statuses)

      Returns all subtree cases given an parent id case.
      Parameters:
        `parentCaseId` - parent case
        `statuses` - list of statuses that subcases should be in to match

    - #### getCaseInstances

          Collection<CaseInstance> getCaseInstances(List<CaseStatus> statuses,
                                                    org.kie.api.runtime.query.QueryContext queryContext)

      Returns all available active case instances that match given statuses
      Parameters:
        `statuses` - list of statuses that case should be in to match
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstancesByDeployment

          Collection<CaseInstance> getCaseInstancesByDeployment(String deploymentId,
                                                                List<CaseStatus> statuses,
                                                                org.kie.api.runtime.query.QueryContext queryContext)

      Returns all available case instances;
      Parameters:
        `deploymentId` - deployment identifier that case instance is part of
        `statuses` - list of statuses that case should be in to match
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstancesByDefinition

          Collection<CaseInstance> getCaseInstancesByDefinition(String caseDefinitionId,
                                                                List<CaseStatus> statuses,
                                                                org.kie.api.runtime.query.QueryContext queryContext)

      Returns all available case instances;
      Parameters:
        `caseDefinitionId` - case definition id
        `statuses` - list of statuses that case should be in to match
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstancesOwnedBy

          Collection<CaseInstance> getCaseInstancesOwnedBy(String owner,
                                                           List<CaseStatus> statuses,
                                                           org.kie.api.runtime.query.QueryContext queryContext)

      Returns all case instances owned by given user
      Parameters:
        `statuses` - list of statuses that case should be in to match
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstancesByRole

          Collection<CaseInstance> getCaseInstancesByRole(String roleName,
                                                          List<CaseStatus> statuses,
                                                          org.kie.api.runtime.query.QueryContext queryContext)

      Returns cases instances that given user (via identity provider) has access to with given role.
      Parameters:
        `roleName` - name of the role that user should be
        `statuses` - statuses of the case instances
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstancesAnyRole

          Collection<CaseInstance> getCaseInstancesAnyRole(List<CaseStatus> statuses,
                                                           org.kie.api.runtime.query.QueryContext queryContext)

      Returns case instances that given user (via identity provider) is involved in in any role.
      Parameters:
        `statuses` - statuses of the case instances
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstancesByDataItem

          Collection<CaseInstance> getCaseInstancesByDataItem(String dataItemName,
                                                              List<CaseStatus> statuses,
                                                              org.kie.api.runtime.query.QueryContext queryContext)

      Returns all available active case instances that match given statuses and has case file data item with given name
      Parameters:
        `dataItemName` - name of the case file data item
        `statuses` - list of statuses that case should be in to match
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseInstancesByDataItemAndValue

          Collection<CaseInstance> getCaseInstancesByDataItemAndValue(String dataItemName,
                                                                      String dataItemValue,
                                                                      List<CaseStatus> statuses,
                                                                      org.kie.api.runtime.query.QueryContext queryContext)

      Returns all available active case instances that match given statuses and has case file data item with given name and value
      Parameters:
        `dataItemName` - name of the case file data item
        `dataItemValue` - expected value of the data item
        `statuses` - list of statuses that case should be in to match
        `queryContext` - control parameters for the result e.g. sorting, paging

    - #### getCaseTasksAssignedAsPotentialOwner

          List<org.kie.api.task.model.TaskSummary> getCaseTasksAssignedAsPotentialOwner(String caseId,
                                                                                        String userId,
                                                                                        List<org.kie.api.task.model.Status> status,
                                                                                        org.kie.api.runtime.query.QueryContext queryContext)

      Returns all tasks associated with given case id that are eligible for user to see.
      Parameters:
        `caseId` - unique id of the case
        `userId` - user id that the tasks should be available for
        `status` - status of the task
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        list of tasks found for given case id and user

    - #### getCaseTasksAssignedAsBusinessAdmin

          List<org.kie.api.task.model.TaskSummary> getCaseTasksAssignedAsBusinessAdmin(String caseId,
                                                                                       String userId,
                                                                                       List<org.kie.api.task.model.Status> status,
                                                                                       org.kie.api.runtime.query.QueryContext queryContext)

      Returns all tasks associated with given case id that are eligible for user to see as business admin role.
      Parameters:
        `caseId` - unique id of the case
        `userId` - user id that the tasks should be available for
        `status` - status of the task
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        list of tasks found for given case id and user

    - #### getCaseTasksAssignedAsStakeholder

          List<org.kie.api.task.model.TaskSummary> getCaseTasksAssignedAsStakeholder(String caseId,
                                                                                     String userId,
                                                                                     List<org.kie.api.task.model.Status> status,
                                                                                     org.kie.api.runtime.query.QueryContext queryContext)

      Returns all tasks associated with given case id that are eligible for user to see in task stakeholder role.
      Parameters:
        `caseId` - unique id of the case
        `userId` - user id that the tasks should be available for
        `status` - status of the task
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        list of tasks found for given case id and user

    - #### getCaseInstanceDataItems

          Collection<CaseFileItem> getCaseInstanceDataItems(String caseId,
                                                            org.kie.api.runtime.query.QueryContext queryContext)

      Returns case file data items (as simple descriptions not actual values) for given case instance
      Parameters:
        `caseId` - unique id of the case
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        list of found case file data items

    - #### getCaseInstanceDataItemsByName

          Collection<CaseFileItem> getCaseInstanceDataItemsByName(String caseId,
                                                                  List<String> names,
                                                                  org.kie.api.runtime.query.QueryContext queryContext)

      Returns case file data items (as simple descriptions not actual values) for given case instance filtered by item names
      Parameters:
        `caseId` - unique id of the case
        `names` - name of data items to be found
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        list of found case file data items

    - #### getCaseInstanceDataItemsByType

          Collection<CaseFileItem> getCaseInstanceDataItemsByType(String caseId,
                                                                  List<String> types,
                                                                  org.kie.api.runtime.query.QueryContext queryContext)

      Returns case file data items (as simple descriptions not actual values) for given case instance filtered by item types
      Parameters:
        `caseId` - unique id of the case
        `types` - type of data items to be found
        `queryContext` - control parameters for the result e.g. sorting, paging
      Returns:
        list of found case file data items

Copyright © 2001–2020 JBoss by Red Hat. All rights reserved.