Class HistoricDetailQueryImpl
- java.lang.Object
-
- org.camunda.bpm.engine.impl.db.ListQueryParameterObject
-
- org.camunda.bpm.engine.impl.AbstractQuery<HistoricDetailQuery,HistoricDetail>
-
- org.camunda.bpm.engine.impl.HistoricDetailQueryImpl
-
- All Implemented Interfaces:
Serializable
,HistoricDetailQuery
,Command<Object>
,Query<HistoricDetailQuery,HistoricDetail>
public class HistoricDetailQueryImpl extends AbstractQuery<HistoricDetailQuery,HistoricDetail> implements HistoricDetailQuery
- Author:
- Tom Baeyens
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.camunda.bpm.engine.impl.AbstractQuery
AbstractQuery.ResultType
-
-
Field Summary
Fields Modifier and Type Field Description protected String
activityId
protected String
activityInstanceId
protected String
caseExecutionId
protected String
caseInstanceId
protected String
detailId
protected boolean
excludeTaskRelated
protected String
executionId
protected boolean
initial
protected boolean
isByteArrayFetchingEnabled
protected boolean
isCustomObjectDeserializationEnabled
protected boolean
isTenantIdSet
protected Date
occurredAfter
protected Date
occurredBefore
protected String
processInstanceId
protected String[]
processInstanceIds
protected Long
sequenceCounter
protected String
taskId
protected String[]
tenantIds
protected String
type
protected String
userOperationId
protected String
variableInstanceId
protected String[]
variableTypes
-
Fields inherited from class org.camunda.bpm.engine.impl.AbstractQuery
commandExecutor, expressions, maxResultsLimitEnabled, resultType, SORTORDER_ASC, SORTORDER_DESC, validators
-
Fields inherited from class org.camunda.bpm.engine.impl.db.ListQueryParameterObject
authCheck, databaseType, firstResult, maxResults, orderingProperties, parameter, tenantCheck
-
-
Constructor Summary
Constructors Constructor Description HistoricDetailQueryImpl()
HistoricDetailQueryImpl(CommandExecutor commandExecutor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HistoricDetailQuery
activityId(String activityId)
Only select historic variable updates associated to the givenactivity instance
.HistoricDetailQuery
activityInstanceId(String activityInstanceId)
Only select historic variable updates associated to the givenactivity instance
.HistoricDetailQuery
caseExecutionId(String caseExecutionId)
Only select historic variable updates with the given case execution.HistoricDetailQuery
caseInstanceId(String caseInstanceId)
Only select historic variable updates with the given case instance.HistoricDetailQuery
detailId(String id)
Only select the historic detail with the given id.HistoricDetailQuery
disableBinaryFetching()
Disable fetching of byte array and file values.HistoricDetailQuery
disableCustomObjectDeserialization()
Disable deserialization of variable values that are custom objects.HistoricDetailQuery
excludeTaskDetails()
Exclude all task-relatedHistoricDetail
s, so only items which have no task-id set will be selected.long
executeCount(CommandContext commandContext)
List<HistoricDetail>
executeList(CommandContext commandContext, Page page)
Executes the actual query to retrieve the list of results.HistoricDetailQuery
executionId(String executionId)
Only select historic variable updates with the given execution.HistoricDetailQuery
formFields()
Only selectHistoricFormField
s.HistoricDetailQuery
formProperties()
Only selectHistoricFormProperty
s.String
getActivityId()
String
getCaseExecutionId()
String
getCaseInstanceId()
String
getDetailId()
boolean
getExcludeTaskRelated()
String
getExecutionId()
Date
getOccurredAfter()
Date
getOccurredBefore()
String
getProcessInstanceId()
String[]
getProcessInstanceIds()
String
getTaskId()
String
getType()
HistoricDetailQuery
initial()
Only select historic details that were set during the process start.boolean
isInitial()
boolean
isTenantIdSet()
HistoricDetailQuery
occurredAfter(Date date)
Only select historic details that have occurred after the given date (inclusive).HistoricDetailQuery
occurredBefore(Date date)
Only select historic details that have occurred before the given date (inclusive).HistoricDetailQuery
orderByFormPropertyId()
HistoricDetailQuery
orderByProcessInstanceId()
HistoricDetailQuery
orderByTenantId()
Order by tenant id (needs to be followed byQuery.asc()
orQuery.desc()
).HistoricDetailQuery
orderByTime()
HistoricDetailQuery
orderByVariableName()
HistoricDetailQuery
orderByVariableRevision()
HistoricDetailQuery
orderByVariableType()
HistoricDetailQuery
orderPartiallyByOccurrence()
Sort thehistoric detail events
in the order in which they occurred and needs to be followed byQuery.asc()
orQuery.desc()
.HistoricDetailQuery
processInstanceId(String processInstanceId)
Only select historic variable updates with the given process instance.HistoricDetailQuery
processInstanceIdIn(String... processInstanceIds)
Only select historic details with the given process instance ids.HistoricDetailQueryImpl
sequenceCounter(long sequenceCounter)
protected boolean
shouldFetchValue(HistoricDetailVariableInstanceUpdateEntity entity)
HistoricDetailQuery
taskId(String taskId)
Only select historic variable updates associated to the givenhistoric task instance
.HistoricDetailQuery
tenantIdIn(String... tenantIds)
Only select historic details with one of the given tenant ids.HistoricDetailQuery
userOperationId(String userOperationId)
Select historic details related with given userOperationId.HistoricDetailQuery
variableInstanceId(String variableInstanceId)
Only select historic variable updates associated to the givenhistoric variable instance
.HistoricDetailQuery
variableTypeIn(String... variableTypes)
Only select historic process variables which match one of the given variable types.HistoricDetailQuery
variableUpdates()
Only selectHistoricVariableUpdate
s.HistoricDetailQuery
withoutTenantId()
Only selects historic details that have no tenant id.-
Methods inherited from class org.camunda.bpm.engine.impl.AbstractQuery
addExpression, addValidator, asc, checkMaxResultsLimit, checkQueryOk, count, desc, direction, disableMaxResultsLimit, enableMaxResultsLimit, evaluateExpressions, evaluateExpressionsAndExecuteCount, evaluateExpressionsAndExecuteDeploymentIdMappingsList, evaluateExpressionsAndExecuteIdsList, evaluateExpressionsAndExecuteList, execute, executeDeploymentIdMappingsList, executeIdsList, executeResult, executeSingleResult, extend, getExpressions, getMethod, hasExcludingConditions, list, listDeploymentIdMappings, listIds, listPage, mergeExpressions, mergeOrdering, orderBy, orderBy, removeValidator, setCommandExecutor, setExpressions, singleResult, unlimitedList, validate, validate
-
Methods inherited from class org.camunda.bpm.engine.impl.db.ListQueryParameterObject
getAuthCheck, getDatabaseType, getFirstResult, getFirstRow, getLastRow, getMaxResults, getOrderingProperties, getParameter, getTenantCheck, setAuthCheck, setDatabaseType, setFirstResult, setMaxResults, setOrderingProperties, setParameter, setTenantCheck
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.camunda.bpm.engine.impl.interceptor.Command
isRetryable
-
Methods inherited from interface org.camunda.bpm.engine.query.Query
asc, count, desc, list, listPage, singleResult, unlimitedList
-
-
-
-
Field Detail
-
detailId
protected String detailId
-
taskId
protected String taskId
-
processInstanceId
protected String processInstanceId
-
caseInstanceId
protected String caseInstanceId
-
executionId
protected String executionId
-
caseExecutionId
protected String caseExecutionId
-
activityId
protected String activityId
-
activityInstanceId
protected String activityInstanceId
-
type
protected String type
-
variableInstanceId
protected String variableInstanceId
-
variableTypes
protected String[] variableTypes
-
tenantIds
protected String[] tenantIds
-
isTenantIdSet
protected boolean isTenantIdSet
-
processInstanceIds
protected String[] processInstanceIds
-
userOperationId
protected String userOperationId
-
sequenceCounter
protected Long sequenceCounter
-
occurredBefore
protected Date occurredBefore
-
occurredAfter
protected Date occurredAfter
-
initial
protected boolean initial
-
excludeTaskRelated
protected boolean excludeTaskRelated
-
isByteArrayFetchingEnabled
protected boolean isByteArrayFetchingEnabled
-
isCustomObjectDeserializationEnabled
protected boolean isCustomObjectDeserializationEnabled
-
-
Constructor Detail
-
HistoricDetailQueryImpl
public HistoricDetailQueryImpl()
-
HistoricDetailQueryImpl
public HistoricDetailQueryImpl(CommandExecutor commandExecutor)
-
-
Method Detail
-
detailId
public HistoricDetailQuery detailId(String id)
Description copied from interface:HistoricDetailQuery
Only select the historic detail with the given id.- Specified by:
detailId
in interfaceHistoricDetailQuery
- Parameters:
id
- the historic detail to select- Returns:
- the query builder
-
variableInstanceId
public HistoricDetailQuery variableInstanceId(String variableInstanceId)
Description copied from interface:HistoricDetailQuery
Only select historic variable updates associated to the givenhistoric variable instance
.- Specified by:
variableInstanceId
in interfaceHistoricDetailQuery
-
variableTypeIn
public HistoricDetailQuery variableTypeIn(String... variableTypes)
Description copied from interface:HistoricDetailQuery
Only select historic process variables which match one of the given variable types.- Specified by:
variableTypeIn
in interfaceHistoricDetailQuery
-
processInstanceId
public HistoricDetailQuery processInstanceId(String processInstanceId)
Description copied from interface:HistoricDetailQuery
Only select historic variable updates with the given process instance.ProcessInstance
ids andHistoricProcessInstance
ids match.- Specified by:
processInstanceId
in interfaceHistoricDetailQuery
-
caseInstanceId
public HistoricDetailQuery caseInstanceId(String caseInstanceId)
Description copied from interface:HistoricDetailQuery
Only select historic variable updates with the given case instance.CaseInstance
ids andHistoricCaseInstance
ids match.- Specified by:
caseInstanceId
in interfaceHistoricDetailQuery
-
executionId
public HistoricDetailQuery executionId(String executionId)
Description copied from interface:HistoricDetailQuery
Only select historic variable updates with the given execution. Note thatExecution
ids are not stored in the history as first class citizen, only process instances are.- Specified by:
executionId
in interfaceHistoricDetailQuery
-
caseExecutionId
public HistoricDetailQuery caseExecutionId(String caseExecutionId)
Description copied from interface:HistoricDetailQuery
Only select historic variable updates with the given case execution. Note thatCaseExecution
ids are not stored in the history as first class citizen, only case instances are.- Specified by:
caseExecutionId
in interfaceHistoricDetailQuery
-
activityId
public HistoricDetailQuery activityId(String activityId)
Description copied from interface:HistoricDetailQuery
Only select historic variable updates associated to the givenactivity instance
.- Specified by:
activityId
in interfaceHistoricDetailQuery
-
activityInstanceId
public HistoricDetailQuery activityInstanceId(String activityInstanceId)
Description copied from interface:HistoricDetailQuery
Only select historic variable updates associated to the givenactivity instance
.- Specified by:
activityInstanceId
in interfaceHistoricDetailQuery
-
taskId
public HistoricDetailQuery taskId(String taskId)
Description copied from interface:HistoricDetailQuery
Only select historic variable updates associated to the givenhistoric task instance
.- Specified by:
taskId
in interfaceHistoricDetailQuery
-
formProperties
public HistoricDetailQuery formProperties()
Description copied from interface:HistoricDetailQuery
Only selectHistoricFormProperty
s.- Specified by:
formProperties
in interfaceHistoricDetailQuery
-
formFields
public HistoricDetailQuery formFields()
Description copied from interface:HistoricDetailQuery
Only selectHistoricFormField
s.- Specified by:
formFields
in interfaceHistoricDetailQuery
-
variableUpdates
public HistoricDetailQuery variableUpdates()
Description copied from interface:HistoricDetailQuery
Only selectHistoricVariableUpdate
s.- Specified by:
variableUpdates
in interfaceHistoricDetailQuery
-
tenantIdIn
public HistoricDetailQuery tenantIdIn(String... tenantIds)
Description copied from interface:HistoricDetailQuery
Only select historic details with one of the given tenant ids.- Specified by:
tenantIdIn
in interfaceHistoricDetailQuery
-
withoutTenantId
public HistoricDetailQuery withoutTenantId()
Description copied from interface:HistoricDetailQuery
Only selects historic details that have no tenant id.- Specified by:
withoutTenantId
in interfaceHistoricDetailQuery
-
processInstanceIdIn
public HistoricDetailQuery processInstanceIdIn(String... processInstanceIds)
Description copied from interface:HistoricDetailQuery
Only select historic details with the given process instance ids.- Specified by:
processInstanceIdIn
in interfaceHistoricDetailQuery
-
userOperationId
public HistoricDetailQuery userOperationId(String userOperationId)
Description copied from interface:HistoricDetailQuery
Select historic details related with given userOperationId.- Specified by:
userOperationId
in interfaceHistoricDetailQuery
-
sequenceCounter
public HistoricDetailQueryImpl sequenceCounter(long sequenceCounter)
-
excludeTaskDetails
public HistoricDetailQuery excludeTaskDetails()
Description copied from interface:HistoricDetailQuery
Exclude all task-relatedHistoricDetail
s, so only items which have no task-id set will be selected. When used together withHistoricDetailQuery.taskId(String)
, this call is ignored task details are NOT excluded.- Specified by:
excludeTaskDetails
in interfaceHistoricDetailQuery
-
occurredBefore
public HistoricDetailQuery occurredBefore(Date date)
Description copied from interface:HistoricDetailQuery
Only select historic details that have occurred before the given date (inclusive).- Specified by:
occurredBefore
in interfaceHistoricDetailQuery
-
occurredAfter
public HistoricDetailQuery occurredAfter(Date date)
Description copied from interface:HistoricDetailQuery
Only select historic details that have occurred after the given date (inclusive).- Specified by:
occurredAfter
in interfaceHistoricDetailQuery
-
executeCount
public long executeCount(CommandContext commandContext)
- Specified by:
executeCount
in classAbstractQuery<HistoricDetailQuery,HistoricDetail>
-
disableBinaryFetching
public HistoricDetailQuery disableBinaryFetching()
Description copied from interface:HistoricDetailQuery
Disable fetching of byte array and file values. By default, the query will fetch such values. By calling this method you can prevent the values of (potentially large) blob data chunks to be fetched. The variables themselves are nonetheless included in the query result.- Specified by:
disableBinaryFetching
in interfaceHistoricDetailQuery
- Returns:
- the query builder
-
disableCustomObjectDeserialization
public HistoricDetailQuery disableCustomObjectDeserialization()
Description copied from interface:HistoricDetailQuery
Disable deserialization of variable values that are custom objects. By default, the query will attempt to deserialize the value of these variables. By calling this method you can prevent such attempts in environments where their classes are not available. Independent of this setting, variable serialized values are accessible.- Specified by:
disableCustomObjectDeserialization
in interfaceHistoricDetailQuery
-
initial
public HistoricDetailQuery initial()
Description copied from interface:HistoricDetailQuery
Only select historic details that were set during the process start.- Specified by:
initial
in interfaceHistoricDetailQuery
-
executeList
public List<HistoricDetail> executeList(CommandContext commandContext, Page page)
Description copied from class:AbstractQuery
Executes the actual query to retrieve the list of results.- Specified by:
executeList
in classAbstractQuery<HistoricDetailQuery,HistoricDetail>
page
- used if the results must be paged. If null, no paging will be applied.
-
shouldFetchValue
protected boolean shouldFetchValue(HistoricDetailVariableInstanceUpdateEntity entity)
-
orderByProcessInstanceId
public HistoricDetailQuery orderByProcessInstanceId()
- Specified by:
orderByProcessInstanceId
in interfaceHistoricDetailQuery
-
orderByTime
public HistoricDetailQuery orderByTime()
- Specified by:
orderByTime
in interfaceHistoricDetailQuery
-
orderByVariableName
public HistoricDetailQuery orderByVariableName()
- Specified by:
orderByVariableName
in interfaceHistoricDetailQuery
-
orderByFormPropertyId
public HistoricDetailQuery orderByFormPropertyId()
- Specified by:
orderByFormPropertyId
in interfaceHistoricDetailQuery
-
orderByVariableRevision
public HistoricDetailQuery orderByVariableRevision()
- Specified by:
orderByVariableRevision
in interfaceHistoricDetailQuery
-
orderByVariableType
public HistoricDetailQuery orderByVariableType()
- Specified by:
orderByVariableType
in interfaceHistoricDetailQuery
-
orderPartiallyByOccurrence
public HistoricDetailQuery orderPartiallyByOccurrence()
Description copied from interface:HistoricDetailQuery
Sort the
historic detail events
in the order in which they occurred and needs to be followed byQuery.asc()
orQuery.desc()
.The set of all
historic variable update events
is a partially ordered set. Due to this facthistoric variable update events
for two differentvariable instances
are incomparable. So that it is not possible to sort thehistoric variable update events
for twovariable instances
in the order they occurred. Just for onevariable instance
the set ofhistoric variable update events
can be totally ordered by usingHistoricDetailQuery.variableInstanceId(String)
andHistoricDetailQuery.orderPartiallyByOccurrence()
which will return a result set ordered by its occurrence.For example:
An execution variablemyVariable
will be updated multiple times:runtimeService.setVariable("anExecutionId", "myVariable", 1000);
execution.setVariable("myVariable", 5000);
runtimeService.setVariable("anExecutionId", "myVariable", 2500);
runtimeService.removeVariable("anExecutionId", "myVariable");As a result there exists four
historic variable update events
.By using
HistoricDetailQuery.variableInstanceId(String)
andHistoricDetailQuery.orderPartiallyByOccurrence()
it is possible to sort the events in the order in which they occurred. The following queryhistoryService.createHistoricDetailQuery()
.variableInstanceId("myVariableInstId")
.orderPartiallyByOccurrence()
.asc()
.list()will return the following totally ordered result set
[
HistoricVariableUpdate[id: "myVariableInstId", variableName: "myVariable", value: 1000],
HistoricVariableUpdate[id: "myVariableInstId", variableName: "myVariable", value: 5000],
HistoricVariableUpdate[id: "myVariableInstId", variableName: "myVariable", value: 2500]
HistoricVariableUpdate[id: "myVariableInstId", variableName: "myVariable", value: null]
]Note:
Please note that ahistoric form field event
can occur only once.- Specified by:
orderPartiallyByOccurrence
in interfaceHistoricDetailQuery
-
orderByTenantId
public HistoricDetailQuery orderByTenantId()
Description copied from interface:HistoricDetailQuery
Order by tenant id (needs to be followed byQuery.asc()
orQuery.desc()
). Note that the ordering of historic details without tenant id is database-specific.- Specified by:
orderByTenantId
in interfaceHistoricDetailQuery
-
getProcessInstanceId
public String getProcessInstanceId()
-
getCaseInstanceId
public String getCaseInstanceId()
-
getExecutionId
public String getExecutionId()
-
getCaseExecutionId
public String getCaseExecutionId()
-
getTaskId
public String getTaskId()
-
getActivityId
public String getActivityId()
-
getType
public String getType()
-
getExcludeTaskRelated
public boolean getExcludeTaskRelated()
-
getDetailId
public String getDetailId()
-
getProcessInstanceIds
public String[] getProcessInstanceIds()
-
getOccurredBefore
public Date getOccurredBefore()
-
getOccurredAfter
public Date getOccurredAfter()
-
isTenantIdSet
public boolean isTenantIdSet()
-
isInitial
public boolean isInitial()
-
-