Class HistoricDetailQueryImpl
- All Implemented Interfaces:
Serializable,HistoricDetailQuery,Command<Object>,Query<HistoricDetailQuery,HistoricDetail>
- Author:
- Tom Baeyens
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.camunda.bpm.engine.impl.AbstractQuery
AbstractQuery.ResultType -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected booleanprotected Stringprotected booleanprotected booleanprotected booleanprotected booleanprotected Dateprotected Dateprotected Stringprotected String[]protected Longprotected Stringprotected String[]protected Stringprotected Stringprotected Stringprotected Stringprotected String[]Fields inherited from class org.camunda.bpm.engine.impl.AbstractQuery
commandExecutor, expressions, maxResultsLimitEnabled, resultType, SORTORDER_ASC, SORTORDER_DESC, validatorsFields inherited from class org.camunda.bpm.engine.impl.db.ListQueryParameterObject
authCheck, databaseType, firstResult, maxResults, orderingProperties, parameter, tenantCheck -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionactivityId(String activityId) Only select historic variable updates associated to the givenactivity instance.activityInstanceId(String activityInstanceId) Only select historic variable updates associated to the givenactivity instance.caseExecutionId(String caseExecutionId) Only select historic variable updates with the given case execution.caseInstanceId(String caseInstanceId) Only select historic variable updates with the given case instance.Only select the historic detail with the given id.Disable fetching of byte array and file values.Disable deserialization of variable values that are custom objects.Exclude all task-relatedHistoricDetails, so only items which have no task-id set will be selected.longexecuteCount(CommandContext commandContext) executeList(CommandContext commandContext, Page page) Executes the actual query to retrieve the list of results.executionId(String executionId) Only select historic variable updates with the given execution.Only selectHistoricFormFields.Only selectHistoricFormPropertys.booleanString[]getType()initial()Only select historic details that were set during the process start.booleanbooleanoccurredAfter(Date date) Only select historic details that have occurred after the given date (inclusive).occurredBefore(Date date) Only select historic details that have occurred before the given date (inclusive).Order by tenant id (needs to be followed byQuery.asc()orQuery.desc()).Sort thehistoric detail eventsin the order in which they occurred and needs to be followed byQuery.asc()orQuery.desc().processInstanceId(String processInstanceId) Only select historic variable updates with the given process instance.processInstanceIdIn(String... processInstanceIds) Only select historic details with the given process instance ids.sequenceCounter(long sequenceCounter) protected booleanOnly select historic variable updates associated to the givenhistoric task instance.tenantIdIn(String... tenantIds) Only select historic details with one of the given tenant ids.userOperationId(String userOperationId) Select historic details related with given userOperationId.variableInstanceId(String variableInstanceId) Only select historic variable updates associated to the givenhistoric variable instance.variableNameLike(String variableNameLike) Only select historic process variables that have a name matching the criteria.variableTypeIn(String... variableTypes) Only select historic process variables which match one of the given variable types.Only selectHistoricVariableUpdates.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, validateMethods 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, setTenantCheckMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.camunda.bpm.engine.query.Query
asc, count, desc, list, listPage, singleResult, unlimitedList
-
Field Details
-
detailId
-
taskId
-
processInstanceId
-
caseInstanceId
-
executionId
-
caseExecutionId
-
activityId
-
activityInstanceId
-
type
-
variableInstanceId
-
variableTypes
-
variableNameLike
-
tenantIds
-
isTenantIdSet
protected boolean isTenantIdSet -
processInstanceIds
-
userOperationId
-
sequenceCounter
-
occurredBefore
-
occurredAfter
-
initial
protected boolean initial -
excludeTaskRelated
protected boolean excludeTaskRelated -
isByteArrayFetchingEnabled
protected boolean isByteArrayFetchingEnabled -
isCustomObjectDeserializationEnabled
protected boolean isCustomObjectDeserializationEnabled
-
-
Constructor Details
-
HistoricDetailQueryImpl
public HistoricDetailQueryImpl() -
HistoricDetailQueryImpl
-
-
Method Details
-
detailId
Description copied from interface:HistoricDetailQueryOnly select the historic detail with the given id.- Specified by:
detailIdin interfaceHistoricDetailQuery- Parameters:
id- the historic detail to select- Returns:
- the query builder
-
variableInstanceId
Description copied from interface:HistoricDetailQueryOnly select historic variable updates associated to the givenhistoric variable instance.- Specified by:
variableInstanceIdin interfaceHistoricDetailQuery
-
variableTypeIn
Description copied from interface:HistoricDetailQueryOnly select historic process variables which match one of the given variable types.- Specified by:
variableTypeInin interfaceHistoricDetailQuery
-
variableNameLike
Description copied from interface:HistoricDetailQueryOnly select historic process variables that have a name matching the criteria. The syntax is that of SQL: for example usage: variableNameLike(%camunda%). The query will match the names of variables in a case-insensitive way.- Specified by:
variableNameLikein interfaceHistoricDetailQuery
-
processInstanceId
Description copied from interface:HistoricDetailQueryOnly select historic variable updates with the given process instance.ProcessInstanceids andHistoricProcessInstanceids match.- Specified by:
processInstanceIdin interfaceHistoricDetailQuery
-
caseInstanceId
Description copied from interface:HistoricDetailQueryOnly select historic variable updates with the given case instance.CaseInstanceids andHistoricCaseInstanceids match.- Specified by:
caseInstanceIdin interfaceHistoricDetailQuery
-
executionId
Description copied from interface:HistoricDetailQueryOnly select historic variable updates with the given execution. Note thatExecutionids are not stored in the history as first class citizen, only process instances are.- Specified by:
executionIdin interfaceHistoricDetailQuery
-
caseExecutionId
Description copied from interface:HistoricDetailQueryOnly select historic variable updates with the given case execution. Note thatCaseExecutionids are not stored in the history as first class citizen, only case instances are.- Specified by:
caseExecutionIdin interfaceHistoricDetailQuery
-
activityId
Description copied from interface:HistoricDetailQueryOnly select historic variable updates associated to the givenactivity instance.- Specified by:
activityIdin interfaceHistoricDetailQuery
-
activityInstanceId
Description copied from interface:HistoricDetailQueryOnly select historic variable updates associated to the givenactivity instance.- Specified by:
activityInstanceIdin interfaceHistoricDetailQuery
-
taskId
Description copied from interface:HistoricDetailQueryOnly select historic variable updates associated to the givenhistoric task instance.- Specified by:
taskIdin interfaceHistoricDetailQuery
-
formProperties
Description copied from interface:HistoricDetailQueryOnly selectHistoricFormPropertys.- Specified by:
formPropertiesin interfaceHistoricDetailQuery
-
formFields
Description copied from interface:HistoricDetailQueryOnly selectHistoricFormFields.- Specified by:
formFieldsin interfaceHistoricDetailQuery
-
variableUpdates
Description copied from interface:HistoricDetailQueryOnly selectHistoricVariableUpdates.- Specified by:
variableUpdatesin interfaceHistoricDetailQuery
-
tenantIdIn
Description copied from interface:HistoricDetailQueryOnly select historic details with one of the given tenant ids.- Specified by:
tenantIdInin interfaceHistoricDetailQuery
-
withoutTenantId
Description copied from interface:HistoricDetailQueryOnly selects historic details that have no tenant id.- Specified by:
withoutTenantIdin interfaceHistoricDetailQuery
-
processInstanceIdIn
Description copied from interface:HistoricDetailQueryOnly select historic details with the given process instance ids.- Specified by:
processInstanceIdInin interfaceHistoricDetailQuery
-
userOperationId
Description copied from interface:HistoricDetailQuerySelect historic details related with given userOperationId.- Specified by:
userOperationIdin interfaceHistoricDetailQuery
-
sequenceCounter
-
excludeTaskDetails
Description copied from interface:HistoricDetailQueryExclude all task-relatedHistoricDetails, 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:
excludeTaskDetailsin interfaceHistoricDetailQuery
-
occurredBefore
Description copied from interface:HistoricDetailQueryOnly select historic details that have occurred before the given date (inclusive).- Specified by:
occurredBeforein interfaceHistoricDetailQuery
-
occurredAfter
Description copied from interface:HistoricDetailQueryOnly select historic details that have occurred after the given date (inclusive).- Specified by:
occurredAfterin interfaceHistoricDetailQuery
-
executeCount
- Specified by:
executeCountin classAbstractQuery<HistoricDetailQuery,HistoricDetail>
-
disableBinaryFetching
Description copied from interface:HistoricDetailQueryDisable 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:
disableBinaryFetchingin interfaceHistoricDetailQuery- Returns:
- the query builder
-
disableCustomObjectDeserialization
Description copied from interface:HistoricDetailQueryDisable 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:
disableCustomObjectDeserializationin interfaceHistoricDetailQuery
-
initial
Description copied from interface:HistoricDetailQueryOnly select historic details that were set during the process start.- Specified by:
initialin interfaceHistoricDetailQuery
-
executeList
Description copied from class:AbstractQueryExecutes the actual query to retrieve the list of results.- Specified by:
executeListin classAbstractQuery<HistoricDetailQuery,HistoricDetail> page- used if the results must be paged. If null, no paging will be applied.
-
shouldFetchValue
-
orderByProcessInstanceId
- Specified by:
orderByProcessInstanceIdin interfaceHistoricDetailQuery
-
orderByTime
- Specified by:
orderByTimein interfaceHistoricDetailQuery
-
orderByVariableName
- Specified by:
orderByVariableNamein interfaceHistoricDetailQuery
-
orderByFormPropertyId
- Specified by:
orderByFormPropertyIdin interfaceHistoricDetailQuery
-
orderByVariableRevision
- Specified by:
orderByVariableRevisionin interfaceHistoricDetailQuery
-
orderByVariableType
- Specified by:
orderByVariableTypein interfaceHistoricDetailQuery
-
orderPartiallyByOccurrence
Description copied from interface:HistoricDetailQuerySort the
historic detail eventsin the order in which they occurred and needs to be followed byQuery.asc()orQuery.desc().The set of all
historic variable update eventsis a partially ordered set. Due to this facthistoric variable update eventsfor two differentvariable instancesare incomparable. So that it is not possible to sort thehistoric variable update eventsfor twovariable instancesin the order they occurred. Just for onevariable instancethe set ofhistoric variable update eventscan be totally ordered by usingHistoricDetailQuery.variableInstanceId(String)andHistoricDetailQuery.orderPartiallyByOccurrence()which will return a result set ordered by its occurrence.For example:
An execution variablemyVariablewill 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 eventcan occur only once.- Specified by:
orderPartiallyByOccurrencein interfaceHistoricDetailQuery
-
orderByTenantId
Description copied from interface:HistoricDetailQueryOrder 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:
orderByTenantIdin interfaceHistoricDetailQuery
-
getProcessInstanceId
-
getCaseInstanceId
-
getExecutionId
-
getCaseExecutionId
-
getTaskId
-
getActivityId
-
getType
-
getExcludeTaskRelated
public boolean getExcludeTaskRelated() -
getDetailId
-
getProcessInstanceIds
-
getOccurredBefore
-
getOccurredAfter
-
isTenantIdSet
public boolean isTenantIdSet() -
isInitial
public boolean isInitial()
-