Package org.camunda.bpm.engine.impl
Class AbstractQuery<T extends Query<?,?>,U>
- java.lang.Object
-
- org.camunda.bpm.engine.impl.db.ListQueryParameterObject
-
- org.camunda.bpm.engine.impl.AbstractQuery<T,U>
-
- All Implemented Interfaces:
Serializable
,Command<Object>
,Query<T,U>
- Direct Known Subclasses:
AbstractVariableQueryImpl
,ActivityStatisticsQueryImpl
,AuthorizationQueryImpl
,BatchQueryImpl
,BatchStatisticsQueryImpl
,CaseDefinitionQueryImpl
,CaseSentryPartQueryImpl
,CleanableHistoricBatchReportImpl
,CleanableHistoricCaseInstanceReportImpl
,CleanableHistoricDecisionInstanceReportImpl
,CleanableHistoricProcessInstanceReportImpl
,DecisionDefinitionQueryImpl
,DecisionRequirementsDefinitionQueryImpl
,DeploymentQueryImpl
,DeploymentStatisticsQueryImpl
,EventSubscriptionQueryImpl
,ExternalTaskQueryImpl
,FilterQueryImpl
,GroupQueryImpl
,HistoricActivityInstanceQueryImpl
,HistoricActivityStatisticsQueryImpl
,HistoricBatchQueryImpl
,HistoricCaseActivityInstanceQueryImpl
,HistoricCaseActivityStatisticsQueryImpl
,HistoricDecisionInstanceQueryImpl
,HistoricDecisionInstanceStatisticsQueryImpl
,HistoricDetailQueryImpl
,HistoricExternalTaskLogQueryImpl
,HistoricJobLogQueryImpl
,HistoricTaskInstanceQueryImpl
,HistoricVariableInstanceQueryImpl
,IncidentQueryImpl
,JobDefinitionQueryImpl
,JobQueryImpl
,ProcessDefinitionQueryImpl
,ProcessDefinitionStatisticsQueryImpl
,SchemaLogQueryImpl
,TaskQueryImpl
,TenantQueryImpl
,UserOperationLogQueryImpl
,UserQueryImpl
public abstract class AbstractQuery<T extends Query<?,?>,U> extends ListQueryParameterObject implements Command<Object>, Query<T,U>, Serializable
Abstract superclass for all query types.- Author:
- Joram Barrez
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AbstractQuery.ResultType
-
Field Summary
Fields Modifier and Type Field Description protected CommandExecutor
commandExecutor
protected Map<String,String>
expressions
protected boolean
maxResultsLimitEnabled
protected AbstractQuery.ResultType
resultType
static String
SORTORDER_ASC
static String
SORTORDER_DESC
protected Set<Validator<AbstractQuery<?,?>>>
validators
-
Fields inherited from class org.camunda.bpm.engine.impl.db.ListQueryParameterObject
authCheck, databaseType, firstResult, maxResults, orderingProperties, parameter, tenantCheck
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractQuery()
protected
AbstractQuery(CommandExecutor commandExecutor)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addExpression(String key, String expression)
void
addValidator(Validator<AbstractQuery<?,?>> validator)
T
asc()
Order the results ascending on the given property as defined in this class (needs to come after a call to one of the orderByXxxx methods).protected void
checkMaxResultsLimit()
protected void
checkQueryOk()
long
count()
Executes the query and returns the number of resultsT
desc()
Order the results descending on the given property as defined in this class (needs to come after a call to one of the orderByXxxx methods).T
direction(Direction direction)
void
disableMaxResultsLimit()
void
enableMaxResultsLimit()
protected void
evaluateExpressions()
long
evaluateExpressionsAndExecuteCount(CommandContext commandContext)
List<ImmutablePair<String,String>>
evaluateExpressionsAndExecuteDeploymentIdMappingsList(CommandContext commandContext)
List<String>
evaluateExpressionsAndExecuteIdsList(CommandContext commandContext)
List<U>
evaluateExpressionsAndExecuteList(CommandContext commandContext, Page page)
Object
execute(CommandContext commandContext)
abstract long
executeCount(CommandContext commandContext)
List<ImmutablePair<String,String>>
executeDeploymentIdMappingsList(CommandContext commandContext)
List<String>
executeIdsList(CommandContext commandContext)
abstract List<U>
executeList(CommandContext commandContext, Page page)
Executes the actual query to retrieve the list of results.Object
executeResult(AbstractQuery.ResultType resultType)
U
executeSingleResult(CommandContext commandContext)
T
extend(T extendingQuery)
Map<String,String>
getExpressions()
protected Method
getMethod(String methodName)
protected boolean
hasExcludingConditions()
Whether or not the query has excluding conditions.List<U>
list()
Executes the query and get a list of entities as the result.List<ImmutablePair<String,String>>
listDeploymentIdMappings()
List<String>
listIds()
List<U>
listPage(int firstResult, int maxResults)
Executes the query and get a list of entities as the result.protected void
mergeExpressions(AbstractQuery<?,?> extendedQuery, AbstractQuery<?,?> extendingQuery)
protected void
mergeOrdering(AbstractQuery<?,?> extendedQuery, AbstractQuery<?,?> extendingQuery)
T
orderBy(QueryOrderingProperty orderProperty)
T
orderBy(QueryProperty property)
void
removeValidator(Validator<AbstractQuery<?,?>> validator)
AbstractQuery<T,U>
setCommandExecutor(CommandExecutor commandExecutor)
void
setExpressions(Map<String,String> expressions)
U
singleResult()
Executes the query and returns the resulting entity or null if no entity matches the query criteria.List<U>
unlimitedList()
Executes the query.void
validate()
void
validate(Validator<AbstractQuery<?,?>> validator)
-
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
-
-
-
-
Field Detail
-
SORTORDER_ASC
public static final String SORTORDER_ASC
- See Also:
- Constant Field Values
-
SORTORDER_DESC
public static final String SORTORDER_DESC
- See Also:
- Constant Field Values
-
commandExecutor
protected transient CommandExecutor commandExecutor
-
resultType
protected AbstractQuery.ResultType resultType
-
validators
protected Set<Validator<AbstractQuery<?,?>>> validators
-
maxResultsLimitEnabled
protected boolean maxResultsLimitEnabled
-
-
Constructor Detail
-
AbstractQuery
protected AbstractQuery()
-
AbstractQuery
protected AbstractQuery(CommandExecutor commandExecutor)
-
-
Method Detail
-
setCommandExecutor
public AbstractQuery<T,U> setCommandExecutor(CommandExecutor commandExecutor)
-
orderBy
public T orderBy(QueryProperty property)
-
orderBy
public T orderBy(QueryOrderingProperty orderProperty)
-
asc
public T asc()
Description copied from interface:Query
Order the results ascending on the given property as defined in this class (needs to come after a call to one of the orderByXxxx methods).
-
desc
public T desc()
Description copied from interface:Query
Order the results descending on the given property as defined in this class (needs to come after a call to one of the orderByXxxx methods).
-
checkQueryOk
protected void checkQueryOk()
-
singleResult
public U singleResult()
Description copied from interface:Query
Executes the query and returns the resulting entity or null if no entity matches the query criteria.- Specified by:
singleResult
in interfaceQuery<T extends Query<?,?>,U>
-
list
public List<U> list()
Description copied from interface:Query
Executes the query and get a list of entities as the result.
-
listPage
public List<U> listPage(int firstResult, int maxResults)
Description copied from interface:Query
Executes the query and get a list of entities as the result.
-
executeResult
public Object executeResult(AbstractQuery.ResultType resultType)
-
count
public long count()
Description copied from interface:Query
Executes the query and returns the number of results
-
unlimitedList
public List<U> unlimitedList()
Description copied from interface:Query
Executes the query. No limitation checks are performed (e. g. query limit).- Specified by:
unlimitedList
in interfaceQuery<T extends Query<?,?>,U>
- Returns:
- a list of results
-
execute
public Object execute(CommandContext commandContext)
-
evaluateExpressionsAndExecuteCount
public long evaluateExpressionsAndExecuteCount(CommandContext commandContext)
-
executeCount
public abstract long executeCount(CommandContext commandContext)
-
evaluateExpressionsAndExecuteList
public List<U> evaluateExpressionsAndExecuteList(CommandContext commandContext, Page page)
-
hasExcludingConditions
protected boolean hasExcludingConditions()
Whether or not the query has excluding conditions. If the query has excluding conditions, (e.g. task due date before and after are excluding), the SQL query is avoided and a default result is returned. The returned result is the same as if the SQL was executed and there were no entries.- Returns:
true
if the query does have excluding conditions,false
otherwise
-
executeList
public abstract List<U> executeList(CommandContext commandContext, Page page)
Executes the actual query to retrieve the list of results.- Parameters:
page
- used if the results must be paged. If null, no paging will be applied.
-
executeSingleResult
public U executeSingleResult(CommandContext commandContext)
-
evaluateExpressions
protected void evaluateExpressions()
-
mergeOrdering
protected void mergeOrdering(AbstractQuery<?,?> extendedQuery, AbstractQuery<?,?> extendingQuery)
-
mergeExpressions
protected void mergeExpressions(AbstractQuery<?,?> extendedQuery, AbstractQuery<?,?> extendingQuery)
-
validate
public void validate()
-
validate
public void validate(Validator<AbstractQuery<?,?>> validator)
-
addValidator
public void addValidator(Validator<AbstractQuery<?,?>> validator)
-
removeValidator
public void removeValidator(Validator<AbstractQuery<?,?>> validator)
-
listDeploymentIdMappings
public List<ImmutablePair<String,String>> listDeploymentIdMappings()
-
evaluateExpressionsAndExecuteIdsList
public List<String> evaluateExpressionsAndExecuteIdsList(CommandContext commandContext)
-
executeIdsList
public List<String> executeIdsList(CommandContext commandContext)
-
evaluateExpressionsAndExecuteDeploymentIdMappingsList
public List<ImmutablePair<String,String>> evaluateExpressionsAndExecuteDeploymentIdMappingsList(CommandContext commandContext)
-
executeDeploymentIdMappingsList
public List<ImmutablePair<String,String>> executeDeploymentIdMappingsList(CommandContext commandContext)
-
checkMaxResultsLimit
protected void checkMaxResultsLimit()
-
enableMaxResultsLimit
public void enableMaxResultsLimit()
-
disableMaxResultsLimit
public void disableMaxResultsLimit()
-
-