Interface StoreQuery

All Superinterfaces:
QueryOperations, Serializable
All Known Implementing Classes:
AbstractStoreQuery, ExpressionStoreQuery, JDBCStoreQuery, MethodStoreQuery, PreparedSQLStoreQuery, QueryCacheStoreQuery, SQLStoreQuery, StoredProcedureQuery

public interface StoreQuery extends QueryOperations, Serializable
Component that executes queries against the datastore. For expression-based queries, consider subclassing ExpressionStoreManagerQuery.
Since:
0.4.0
Author:
Abe White
  • Field Details

    • EMPTY_PARAMS

      static final LinkedMap EMPTY_PARAMS
    • EMPTY_ORDERED_PARAMS

      static final OrderedMap<Object,Class<?>> EMPTY_ORDERED_PARAMS
    • EMPTY_METAS

      static final ClassMetaData[] EMPTY_METAS
    • EMPTY_STRINGS

      static final String[] EMPTY_STRINGS
    • EMPTY_OBJECTS

      static final Object[] EMPTY_OBJECTS
    • EMPTY_CLASSES

      static final Class<?>[] EMPTY_CLASSES
    • EMPTY_BOOLEANS

      static final boolean[] EMPTY_BOOLEANS
  • Method Details

    • getContext

      QueryContext getContext()
      Return the query context that has been set.
    • setContext

      void setContext(QueryContext ctx)
      Set the current query context. This will be called before use.
    • setQuery

      boolean setQuery(Object query)
      This is invoked when the user or a facade creates a new query with an object that the system does not recognize. Return true if the object is recognized by the store, false otherwise.
    • getFilterListener

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

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

      Object newCompilationKey()
      Create a new key for caching compiled query information. May be null.
    • newCompilation

      Object newCompilation()
      Create a new compilation for this query. May be null.
    • getCompilation

      Object getCompilation()
      Get the current compilation for this query. If it is null, do not create.
    • populateFromCompilation

      void populateFromCompilation(Object comp)
      Populate internal data from compilation.
    • invalidateCompilation

      void invalidateCompilation()
      Invalidate any internal compilation state.
    • supportsDataStoreExecution

      boolean supportsDataStoreExecution()
      True if this query supports datastore execution, false if it can only run in memory.
    • supportsInMemoryExecution

      boolean supportsInMemoryExecution()
      True if this query supports in-memory execution, false if it can only run against the datastore.
    • newInMemoryExecutor

      StoreQuery.Executor newInMemoryExecutor(ClassMetaData meta, boolean subs)
      Return an executor for in-memory execution of this query. Executors must be cachable and thread safe. If this class returns true from supportsAbstractExecutors(), the given metadata will always be for the candidate class of this query, or possibly null if the candidate class is not itself persistence capable (like an interface or abstract base class). Otherwise, the given type will be a mapped class.
      Parameters:
      subs - whether to include dependent mapped subclasses in the results; independent subclasses should never be included
    • newDataStoreExecutor

      StoreQuery.Executor newDataStoreExecutor(ClassMetaData meta, boolean subs)
      Return an executor for datastore execution of this query. Executors must be cachable and thread safe. If this class returns true from supportsAbstractExecutors(), the given metadata will always be for the candidate class of this query, or possibly null if the candidate class is not itself persistence capable (like an interface or abstract base class). Otherwise, the given type will be a mapped class.
      Parameters:
      subs - whether to include dependent mapped subclasses in the results; independent subclasses should never be included
    • supportsAbstractExecutors

      boolean supportsAbstractExecutors()
      Return true if this query supports execution against abstract or interface types. Returns false by default, meaning we will only request executors for persistent classes. In this case, we will automatically combine the results of the executors for all implementing classes if we execute a query for an interface for abstract type.
    • requiresCandidateType

      boolean requiresCandidateType()
      Whether this query requires a candidate class.
    • requiresParameterDeclarations

      boolean requiresParameterDeclarations()
      Whether this query requires parameters to be declared.
    • supportsParameterDeclarations

      boolean supportsParameterDeclarations()
      Whether this query supports declared parameters.
    • evaluate

      Object evaluate(Object value, Object ob, Object[] params, OpenJPAStateManager sm)