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:
  • Field Details

  • Constructor Details

    • AbstractQuery

      protected AbstractQuery()
    • AbstractQuery

      protected AbstractQuery(CommandExecutor commandExecutor)
  • Method Details

    • 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).
      Specified by:
      asc in interface Query<T extends Query<?,?>,U>
    • 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).
      Specified by:
      desc in interface Query<T extends Query<?,?>,U>
    • direction

      public T direction(Direction direction)
    • 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 interface Query<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.
      Specified by:
      list in interface Query<T extends Query<?,?>,U>
      Returns:
      a list of results
    • 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.
      Specified by:
      listPage in interface Query<T extends Query<?,?>,U>
      Parameters:
      firstResult - the index of the first result
      maxResults - the maximum number of results
      Returns:
      a list of results
    • 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
      Specified by:
      count in interface Query<T extends Query<?,?>,U>
    • 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 interface Query<T extends Query<?,?>,U>
      Returns:
      a list of results
    • execute

      public Object execute(CommandContext commandContext)
      Specified by:
      execute in interface Command<T extends Query<?,?>>
    • 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)
    • getExpressions

      public Map<String,String> getExpressions()
    • setExpressions

      public void setExpressions(Map<String,String> expressions)
    • addExpression

      public void addExpression(String key, String expression)
    • evaluateExpressions

      protected void evaluateExpressions()
    • getMethod

      protected Method getMethod(String methodName)
    • extend

      public T extend(T extendingQuery)
    • 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)
    • listIds

      public List<String> listIds()
    • 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()