Interface ProcessInstanceQuery

All Superinterfaces:
Query<ProcessInstanceQuery,ProcessInstance>
All Known Implementing Classes:
ProcessInstanceQueryImpl

@Internal public interface ProcessInstanceQuery extends Query<ProcessInstanceQuery,ProcessInstance>
Allows programmatic querying of ProcessInstances.
  • Method Details

    • processInstanceId

      ProcessInstanceQuery processInstanceId(String processInstanceId)
      Select the process instance with the given id
    • processInstanceIds

      ProcessInstanceQuery processInstanceIds(Set<String> processInstanceIds)
      Select process instances whose id is in the given set of ids
    • processInstanceBusinessKey

      ProcessInstanceQuery processInstanceBusinessKey(String 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
    • processInstanceTenantId

      ProcessInstanceQuery processInstanceTenantId(String tenantId)
      Only select process instances that have the given tenant id.
    • processInstanceTenantIdLike

      ProcessInstanceQuery processInstanceTenantIdLike(String tenantIdLike)
      Only select process instances with a tenant id like the given one.
    • processInstanceWithoutTenantId

      ProcessInstanceQuery processInstanceWithoutTenantId()
      Only select process instances that do not have a tenant id.
    • processDefinitionCategory

      ProcessInstanceQuery processDefinitionCategory(String processDefinitionCategory)
      Only select process instances whose process definition category is processDefinitionCategory.
    • processDefinitionName

      ProcessInstanceQuery processDefinitionName(String processDefinitionName)
      Select process instances whose process definition name is processDefinitionName
    • processDefinitionVersion

      ProcessInstanceQuery processDefinitionVersion(Integer processDefinitionVersion)
      Only select process instances with a certain process definition version. Particulary useful when used in combination with processDefinitionKey(String)
    • processDefinitionKey

      ProcessInstanceQuery processDefinitionKey(String processDefinitionKey)
      Select the process instances which are defined by a process definition with the given key.
    • processDefinitionKeys

      ProcessInstanceQuery processDefinitionKeys(Set<String> processDefinitionKeys)
      Select the process instances which are defined by process definitions with the given keys.
    • processDefinitionId

      ProcessInstanceQuery processDefinitionId(String processDefinitionId)
      Select the process instances which are defined by a process definition with the given id.
    • processDefinitionIds

      ProcessInstanceQuery processDefinitionIds(Set<String> processDefinitionIds)
      Select the process instances which are defined by process definitions with the given ids.
    • deploymentId

      ProcessInstanceQuery deploymentId(String deploymentId)
      Select the process instances which are defined by a deployment with the given id.
    • deploymentIdIn

      ProcessInstanceQuery deploymentIdIn(List<String> deploymentIds)
      Select the process instances which are defined by one of the given deployment ids
    • superProcessInstanceId

      ProcessInstanceQuery superProcessInstanceId(String superProcessInstanceId)
      Select the process instances which are a sub process instance of the given super process instance.
    • subProcessInstanceId

      ProcessInstanceQuery subProcessInstanceId(String 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.
    • excludeSubprocesses

      ProcessInstanceQuery excludeSubprocesses(boolean excludeSubprocesses)
      Exclude sub processes from the query result;
    • involvedUser

      ProcessInstanceQuery involvedUser(String userId)
      Select the process instances with which the user with the given id is involved.
    • variableValueEquals

      ProcessInstanceQuery variableValueEquals(String name, Object value)
      Only select process instances which have a global variable with the given value. The type of variable is determined based on the value, using types configured in
      invalid reference
      ProcessEngineConfiguration#getVariableTypes()
      . Byte-arrays and Serializable objects (which are not primitive type wrappers) are not supported.
      Parameters:
      name - name of the variable, cannot be null.
    • variableValueEquals

      ProcessInstanceQuery variableValueEquals(Object value)
      Only select process instances which have at least one global variable with the given value. The type of variable is determined based on the value, using types configured in
      invalid reference
      ProcessEngineConfiguration#getVariableTypes()
      . Byte-arrays and Serializable objects (which are not primitive type wrappers) are not supported.
    • variableValueEqualsIgnoreCase

      ProcessInstanceQuery variableValueEqualsIgnoreCase(String name, String value)
      Only select process instances which have a local string variable with the given value, case insensitive.

      This method only works if your database has encoding/collation that supports case-sensitive queries. For example, use "collate UTF-8" on MySQL and for MSSQL, select one of the case-sensitive Collations available (MSDN Server Collation Reference).

      Parameters:
      name - name of the variable, cannot be null.
      value - value of the variable, cannot be null.
    • variableValueNotEquals

      ProcessInstanceQuery 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. Byte-arrays and Serializable objects (which are not primitive type wrappers) are not supported.
      Parameters:
      name - name of the variable, cannot be null.
    • variableValueNotEqualsIgnoreCase

      ProcessInstanceQuery variableValueNotEqualsIgnoreCase(String name, String value)
      Only select process instances which have a local string variable which is not the given value, case insensitive.

      This method only works if your database has encoding/collation that supports case-sensitive queries. For example, use "collate UTF-8" on MySQL and for MSSQL, select one of the case-sensitive Collations available (MSDN Server Collation Reference).

      Parameters:
      name - name of the variable, cannot be null.
      value - value of the variable, cannot be null.
    • variableValueGreaterThan

      ProcessInstanceQuery variableValueGreaterThan(String name, Object value)
      Only select process instances which have a variable value greater than the passed value. Booleans, Byte-arrays and Serializable objects (which are not primitive type wrappers) are not supported.
      Parameters:
      name - variable name, cannot be null.
      value - variable value, cannot be null.
    • variableValueGreaterThanOrEqual

      ProcessInstanceQuery variableValueGreaterThanOrEqual(String name, Object value)
      Only select process instances which have a global variable value greater than or equal to the passed value. Booleans, Byte-arrays and Serializable objects (which are not primitive type wrappers) are not supported.
      Parameters:
      name - variable name, cannot be null.
      value - variable value, cannot be null.
    • variableValueLessThan

      ProcessInstanceQuery variableValueLessThan(String name, Object value)
      Only select process instances which have a global variable value less than the passed value. Booleans, Byte-arrays and Serializable objects (which are not primitive type wrappers) are not supported.
      Parameters:
      name - variable name, cannot be null.
      value - variable value, cannot be null.
    • variableValueLessThanOrEqual

      ProcessInstanceQuery variableValueLessThanOrEqual(String name, Object value)
      Only select process instances which have a global variable value less than or equal to the passed value. Booleans, Byte-arrays and Serializable objects (which are not primitive type wrappers) are not supported.
      Parameters:
      name - variable name, cannot be null.
      value - variable value, cannot be null.
    • variableValueLike

      ProcessInstanceQuery variableValueLike(String name, String value)
      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%).
    • variableValueLikeIgnoreCase

      ProcessInstanceQuery variableValueLikeIgnoreCase(String name, String value)
      Only select process instances which have a global variable value like the given value (case insensitive). 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

      Only select process instances which are suspended, either because the process instance itself is suspended or because the corresponding process definition is suspended
    • active

      Only select process instances which are active, which means that neither the process instance nor the corresponding process definition are suspended.
    • processInstanceName

      ProcessInstanceQuery processInstanceName(String name)
      Only select process instances with the given name.
    • processInstanceNameLike

      ProcessInstanceQuery processInstanceNameLike(String nameLike)
      Only select process instances with a name like the given value.
    • processInstanceNameLikeIgnoreCase

      ProcessInstanceQuery processInstanceNameLikeIgnoreCase(String nameLikeIgnoreCase)
      Only select process instances with a name like the given value, ignoring upper/lower case.
    • locale

      ProcessInstanceQuery locale(String locale)
      Localize process name and description to specified locale.
    • withLocalizationFallback

      ProcessInstanceQuery withLocalizationFallback()
      Instruct localization to fallback to more general locales including the default locale of the JVM if the specified locale is not found.
    • includeProcessVariables

      ProcessInstanceQuery includeProcessVariables()
      Include process variables in the process query result
    • limitProcessInstanceVariables

      ProcessInstanceQuery limitProcessInstanceVariables(Integer processInstanceVariablesLimit)
      Limit process instance variables
    • withJobException

      ProcessInstanceQuery withJobException()
      Only select process instances that failed due to an exception happening during a job execution.
    • or

      Begin an OR statement. Make sure you invoke the endOr method at the end of your OR statement. Only one OR statement is allowed, for the second call to this method an exception will be thrown.
    • endOr

      End an OR statement. Only one OR statement is allowed, for the second call to this method an exception will be thrown.
    • startedBefore

      ProcessInstanceQuery startedBefore(Date beforeTime)
      Only select process instances started before the given time
    • startedAfter

      ProcessInstanceQuery startedAfter(Date afterTime)
      Only select process instances started after the given time
    • startedBy

      ProcessInstanceQuery startedBy(String userId)
      Only select process instances started by the given user id
    • orderByProcessInstanceId

      ProcessInstanceQuery orderByProcessInstanceId()
      Order by id (needs to be followed by Query.asc() or Query.desc()).
    • orderByProcessDefinitionKey

      ProcessInstanceQuery orderByProcessDefinitionKey()
      Order by process definition key (needs to be followed by Query.asc() or Query.desc()).
    • orderByProcessDefinitionId

      ProcessInstanceQuery orderByProcessDefinitionId()
      Order by process definition id (needs to be followed by Query.asc() or Query.desc()).
    • orderByTenantId

      ProcessInstanceQuery orderByTenantId()
      Order by tenant id (needs to be followed by Query.asc() or Query.desc()).
    • involvedGroupsIn

      ProcessInstanceQuery involvedGroupsIn(List<String> involvedGroups)
      Select the process instances with which the given groups are involved.