Interface QueryContext

All Known Subinterfaces:
Query
All Known Implementing Classes:
DelegatingQuery, DistributedQueryImpl, QueryImpl

public interface QueryContext
A query execution context.
Since:
0.4.0
Author:
Abe White
  • Method Details

    • getQuery

      Query getQuery()
      Return the query for this context. Note that the query will be unavailable in remote contexts, and this method may throw an exception to that effect.
    • getStoreContext

      StoreContext getStoreContext()
      The persistence context for the query.
    • getFetchConfiguration

      FetchConfiguration getFetchConfiguration()
      Return the fetch configuration for this query.
    • getOperation

      int getOperation()
      Returns the operation that this query will be expected to perform.
      Since:
      0.4.0
      See Also:
    • getLanguage

      String getLanguage()
      The query language.
    • getQueryString

      String getQueryString()
      The query string.
    • getCandidateCollection

      Collection<?> getCandidateCollection()
      Return the candidate collection, or null if an extent was specified instead of a collection.
    • getCandidateType

      Class<?> getCandidateType()
      Return the class of the objects that this query will return, or null if this information is not available / not relevant.
    • hasSubclasses

      boolean hasSubclasses()
      Whether query results will include subclasses of the candidate class.
    • setCandidateType

      void setCandidateType(Class<?> cls, boolean subs)
      Set the candidate type.
    • isReadOnly

      boolean isReadOnly()
      Whether the query has been marked read-only.
    • setReadOnly

      void setReadOnly(boolean readOnly)
      Whether the query has been marked read-only.
    • isUnique

      boolean isUnique()
      The unique flag.
    • setUnique

      void setUnique(boolean unique)
      Specify that the query will return only 1 result, rather than a collection. The execute method will return null if the query result size is 0.
      Since:
      0.3.0
    • isDistinct

      boolean isDistinct()
      Affirms if this query results are distinct instance(s).
      Since:
      2.0.0
    • getResultMappingScope

      Class<?> getResultMappingScope()
      Scope of a mapping from the result data to its object representation.
    • getResultMappingName

      String getResultMappingName()
      Name of a mapping from the result data to its object representation.
    • setResultMapping

      void setResultMapping(Class<?> scope, String name)
      Name and scope of a mapping from the result data to its object representation.
    • getResultType

      Class<?> getResultType()
      Returns the result class that has been set through setResultType(java.lang.Class<?>), or null if none.
    • setResultType

      void setResultType(Class<?> cls)
      Specify the type of object in which the result of evaluating this query.
      Since:
      0.3.0
    • getStartRange

      long getStartRange()
      Return the 0-based start index for the returned results.
    • getEndRange

      long getEndRange()
      Return the 0-based exclusive end index for the returned results, or Long.MAX_VALUE for no limit.
    • setRange

      void setRange(long start, long end)
      Set the range of results to return.
      Parameters:
      start - 0-based inclusive start index
      end - 0-based exclusive end index, or Long.MAX_VALUE for no limit
      Since:
      0.3.2
    • getParameterDeclaration

      String getParameterDeclaration()
      The parameter declaration.
    • declareParameters

      void declareParameters(String params)
      Declared parameters, for query languages that use them.
    • getOrderedParameterTypes

      OrderedMap<Object,Class<?>> getOrderedParameterTypes()
      Return a map of parameter name to type for this query. The returned map will iterate in the order that the parameters were declared or, if they're implicit, used.
    • getParameterTypes

      @Deprecated LinkedMap getParameterTypes()
      Deprecated.
      Return a map of parameter name to type for this query. The returned map will iterate in the order that the parameters were declared or, if they're implicit, used.
    • getUpdates

      Map<FieldMetaData,Value> getUpdates()
      If this query is a bulk update, return a map of the FieldMetaDatas to Constants.
    • getIgnoreChanges

      boolean getIgnoreChanges()
      Whether to ignore changes in the current transaction.
    • getCompilation

      Object getCompilation()
      Return the query's compilation state.
    • getAlias

      String getAlias()
      If this query is not a projection but places candidate results into a result class under an alias, return that alias.
    • getProjectionAliases

      String[] getProjectionAliases()
      If this query is a projection, return the projection aliases.
    • getProjectionTypes

      Class<?>[] getProjectionTypes()
      If this query is a projection, return the projection types.
    • isAggregate

      boolean isAggregate()
      Return true if the query is an aggregate.
    • hasGrouping

      boolean hasGrouping()
      Return true if the query uses grouping.
    • getAccessPathMetaDatas

      ClassMetaData[] getAccessPathMetaDatas()
      Return the classes that affect this query.
    • getFilterListener

      FilterListener getFilterListener(String tag)
      Return the filter listener for the given tag, or null.
    • getAggregateListener

      AggregateListener getAggregateListener(String tag)
      Return the filter listener for the given tag, or null.
    • getFilterListeners

      Collection<FilterListener> getFilterListeners()
      The set of filter listeners.
    • getAggregateListeners

      Collection<AggregateListener> getAggregateListeners()
      The set of aggregate listeners.
    • deleteInMemory

      Number deleteInMemory(StoreQuery q, StoreQuery.Executor ex, Object[] params)
      Helper method to delete the objects found by executing a query on the given executor.
    • updateInMemory

      Number updateInMemory(StoreQuery q, StoreQuery.Executor ex, Object[] params)
      Helper method to update the objects found by executing a query on the given executor.
    • classForName

      Class<?> classForName(String name, String[] imports)
      Helper method to instantiate the class with the given name, taking into account the query's candidate package, automatic imports, and the given imports (if any). Returns null if the type cannot be found.
    • lock

      void lock()
      Synchronize on the query's internal lock.
    • unlock

      void unlock()
      Unlock the query's internal lock.