Interface ProcessInstanceQuery
- All Superinterfaces:
Query<ProcessInstanceQuery,
ProcessInstance>
- All Known Implementing Classes:
ProcessInstanceQueryImpl
ProcessInstance
s.- Author:
- Joram Barrez, Frederik Heremans, Falko Menge
-
Method Summary
Modifier and TypeMethodDescriptionactive()
Only selects process instances which are active, which means that neither the process instance nor the corresponding process definition are suspended.activityIdIn
(String... activityIds) Only selects process instances with leaf activity instances or transition instances (async before, async after) in at least one of the given activity ids.caseInstanceId
(String caseInstanceId) Selects the process instances which are associated with the given case instance id.deploymentId
(String deploymentId) Selects the process instances which belong to the given deployment id.endOr()
endOr() terminates an OR query on which an arbitrary amount of filter criteria were applied.incidentId
(String incidentId) Only selects process instances with the given incident id.incidentMessage
(String incidentMessage) Only selects process instances with the given incident message.incidentMessageLike
(String incidentMessageLike) Only selects process instances with an incident message like the given.incidentType
(String incidentType) Only selects process instances with the given incident type.Only selects process instances which don't have subprocesses and thus are leaves of the execution tree.The query will match the names of process-variables in a case-insensitive way.The query will match the values of process-variables in a case-insensitive way.or()
After calling or(), a chain of several filter criteria could follow.Order by the business key (needs to be followed byQuery.asc()
orQuery.desc()
).Order by process definition id (needs to be followed byQuery.asc()
orQuery.desc()
).Order by process definition key (needs to be followed byQuery.asc()
orQuery.desc()
).Order by id (needs to be followed byQuery.asc()
orQuery.desc()
).Order by tenant id (needs to be followed byQuery.asc()
orQuery.desc()
).processDefinitionId
(String processDefinitionId) Selects the process instances which are defined by a process definition with the given id.processDefinitionKey
(String processDefinitionKey) Select the process instances which are defined by a process definition with the given key.processDefinitionKeyIn
(String... processDefinitionKeys) Select the process instances for any given process definition keys.processDefinitionKeyNotIn
(String... processDefinitionKeys) Select historic process instances that don't have a process-definition of which the key is present in the given listOnly selects process instances which process definition has no tenant id.processInstanceBusinessKey
(String processInstanceBusinessKey) Select process instances with the given business keyprocessInstanceBusinessKey
(String processInstanceBusinessKey, String processDefinitionKey) Select process instance with the given business key, unique for the given process definitionprocessInstanceBusinessKeyLike
(String processInstanceBusinessKeyLike) Select process instances with a business key like the given value.processInstanceId
(String processInstanceId) Select the process instance with the given idprocessInstanceIds
(Set<String> processInstanceIds) Select process instances whose id is in the given set of idsOnly selects process instances which are top level process instances.subCaseInstanceId
(String subCaseInstanceId) Select the process instance that has as sub case instance the given case instance.subProcessInstanceId
(String subProcessInstanceId) Select the process instance that have as sub process instance the given process instance.superCaseInstanceId
(String superCaseInstanceId) Select the process instances which are a sub process instance of the given super case instance.superProcessInstanceId
(String superProcessInstanceId) Select the process instances which are a sub process instance of the given super process instance.Only selects process instances which are suspended, either because the process instance itself is suspended or because the corresponding process definition is suspendedtenantIdIn
(String... tenantIds) Only select process instances with one of the given tenant ids.variableValueEquals
(String name, Object value) Only select process instances which have a global variable with the given value.variableValueGreaterThan
(String name, Object value) Only select process instances which have a variable value greater than the passed value.variableValueGreaterThanOrEqual
(String name, Object value) Only select process instances which have a global variable value greater than or equal to the passed value.variableValueLessThan
(String name, Object value) Only select process instances which have a global variable value less than the passed value.variableValueLessThanOrEqual
(String name, Object value) Only select process instances which have a global variable value less than or equal to the passed value.variableValueLike
(String name, String value) Only select process instances which have a global variable value like the given value.variableValueNotEquals
(String name, Object value) Only select process instances which have a global variable with the given name, but with a different value than the passed value.Only selects process instances with at least one incident.Only selects process instances which have no tenant id.Methods inherited from interface org.camunda.bpm.engine.query.Query
asc, count, desc, list, listPage, singleResult, unlimitedList
-
Method Details
-
processInstanceId
Select the process instance with the given id -
processInstanceIds
Select process instances whose id is in the given set of ids -
processInstanceBusinessKey
Select process instances with the given business key -
processInstanceBusinessKey
ProcessInstanceQuery processInstanceBusinessKey(String processInstanceBusinessKey, String processDefinitionKey) Select process instance with the given business key, unique for the given process definition -
processInstanceBusinessKeyLike
Select process instances with a business key like the given value.- Parameters:
processInstanceBusinessKeyLike
- The string can include the wildcard character '%' to express like-strategy: starts with (string%), ends with (%string) or contains (%string%).
-
processDefinitionKey
Select the process instances which are defined by a process definition with the given key. -
processDefinitionKeyIn
Select the process instances for any given process definition keys. -
processDefinitionKeyNotIn
Select historic process instances that don't have a process-definition of which the key is present in the given list -
processDefinitionId
Selects the process instances which are defined by a process definition with the given id. -
deploymentId
Selects the process instances which belong to the given deployment id.- Since:
- 7.4
-
superProcessInstanceId
Select the process instances which are a sub process instance of the given super process instance. -
subProcessInstanceId
Select the process instance that have as sub process instance the given process instance. Note that there will always be maximum only one such process instance that can be the result of this query. -
caseInstanceId
Selects the process instances which are associated with the given case instance id. -
superCaseInstanceId
Select the process instances which are a sub process instance of the given super case instance.- Since:
- 7.3
-
subCaseInstanceId
Select the process instance that has as sub case instance the given case instance. Note that there will always be at most one such process instance that can be the result of this query.- Since:
- 7.3
-
matchVariableNamesIgnoreCase
ProcessInstanceQuery matchVariableNamesIgnoreCase()The query will match the names of process-variables in a case-insensitive way. -
matchVariableValuesIgnoreCase
ProcessInstanceQuery matchVariableValuesIgnoreCase()The query will match the values of process-variables in a case-insensitive way. -
variableValueEquals
Only select process instances which have a global variable with the given value. The type of the variable is determined based on the value, using types configured inProcessEngineConfigurationImpl.getVariableSerializers()
. Byte-arrays andSerializable
objects (which are not primitive type wrappers) are not supported.- Parameters:
name
- name of the variable, cannot be null.
-
variableValueNotEquals
Only select process instances which have a global variable with the given name, but with a different value than the passed value. Byte-arrays andSerializable
objects (which are not primitive type wrappers) are not supported.- Parameters:
name
- name of the variable, cannot be null.
-
variableValueGreaterThan
Only select process instances which have a variable value greater than the passed value. Booleans, Byte-arrays andSerializable
objects (which are not primitive type wrappers) are not supported.- Parameters:
name
- variable name, cannot be null.value
- variable value, cannot be null.
-
variableValueGreaterThanOrEqual
Only select process instances which have a global variable value greater than or equal to the passed value. Booleans, Byte-arrays andSerializable
objects (which are not primitive type wrappers) are not supported.- Parameters:
name
- variable name, cannot be null.value
- variable value, cannot be null.
-
variableValueLessThan
Only select process instances which have a global variable value less than the passed value. Booleans, Byte-arrays andSerializable
objects (which are not primitive type wrappers) are not supported.- Parameters:
name
- variable name, cannot be null.value
- variable value, cannot be null.
-
variableValueLessThanOrEqual
Only select process instances which have a global variable value less than or equal to the passed value. Booleans, Byte-arrays andSerializable
objects (which are not primitive type wrappers) are not supported.- Parameters:
name
- variable name, cannot be null.value
- variable value, cannot be null.
-
variableValueLike
Only select process instances which have a global variable value like the given value. This be used on string variables only.- Parameters:
name
- variable name, cannot be null.value
- variable value, cannot be null. The string can include the wildcard character '%' to express like-strategy: starts with (string%), ends with (%string) or contains (%string%).
-
suspended
ProcessInstanceQuery suspended()Only selects process instances which are suspended, either because the process instance itself is suspended or because the corresponding process definition is suspended -
active
ProcessInstanceQuery active()Only selects process instances which are active, which means that neither the process instance nor the corresponding process definition are suspended. -
withIncident
ProcessInstanceQuery withIncident()Only selects process instances with at least one incident. -
incidentType
Only selects process instances with the given incident type. -
incidentId
Only selects process instances with the given incident id. -
incidentMessage
Only selects process instances with the given incident message. -
incidentMessageLike
Only selects process instances with an incident message like the given. -
tenantIdIn
Only select process instances with one of the given tenant ids. -
withoutTenantId
ProcessInstanceQuery withoutTenantId()Only selects process instances which have no tenant id. -
activityIdIn
Only selects process instances with leaf activity instances or transition instances (async before, async after) in at least one of the given activity ids.
Leaf instance means this filter works for instances of a user task is matched, but not the embedded sub process it is contained in.
-
rootProcessInstances
ProcessInstanceQuery rootProcessInstances()Only selects process instances which are top level process instances. -
leafProcessInstances
ProcessInstanceQuery leafProcessInstances()Only selects process instances which don't have subprocesses and thus are leaves of the execution tree. -
processDefinitionWithoutTenantId
ProcessInstanceQuery processDefinitionWithoutTenantId()Only selects process instances which process definition has no tenant id. -
orderByProcessInstanceId
ProcessInstanceQuery orderByProcessInstanceId()Order by id (needs to be followed byQuery.asc()
orQuery.desc()
). -
orderByProcessDefinitionKey
ProcessInstanceQuery orderByProcessDefinitionKey()Order by process definition key (needs to be followed byQuery.asc()
orQuery.desc()
). -
orderByProcessDefinitionId
ProcessInstanceQuery orderByProcessDefinitionId()Order by process definition id (needs to be followed byQuery.asc()
orQuery.desc()
). -
orderByTenantId
ProcessInstanceQuery orderByTenantId()Order by tenant id (needs to be followed byQuery.asc()
orQuery.desc()
). Note that the ordering of process instances without tenant id is database-specific. -
orderByBusinessKey
ProcessInstanceQuery orderByBusinessKey()Order by the business key (needs to be followed byQuery.asc()
orQuery.desc()
). -
or
ProcessInstanceQuery or()After calling or(), a chain of several filter criteria could follow. Each filter criterion that follows or() will be linked together with an OR expression until the OR query is terminated. To terminate the OR query right after the last filter criterion was applied,
endOr()
must be invoked.- Returns:
- an object of the type
ProcessInstanceQuery
on which an arbitrary amount of filter criteria could be applied. The several filter criteria will be linked together by an OR expression. - Throws:
ProcessEngineException
- when or() has been invoked directly after or() or after or() and trailing filter criteria. To prevent throwing this exception,endOr()
must be invoked after a chain of filter criteria to mark the end of the OR query.
-
endOr
ProcessInstanceQuery endOr()endOr() terminates an OR query on which an arbitrary amount of filter criteria were applied. To terminate the OR query which has been started by invoking
or()
, endOr() must be invoked. Filter criteria which are applied after calling endOr() are linked together by an AND expression.- Returns:
- an object of the type
ProcessInstanceQuery
on which an arbitrary amount of filter criteria could be applied. The filter criteria will be linked together by an AND expression. - Throws:
ProcessEngineException
- when endOr() has been invoked beforeor()
was invoked. To prevent throwing this exception,or()
must be invoked first.
-