Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.kernel
Interface StoreQuery

All Superinterfaces:
  QueryOperations, Serializable

All Known Implementing Classes:
  AbstractStoreQuery, DistributedSQLStoreQuery, DistributedStoreQuery, ExpressionStoreQuery, JDBCStoreQuery, MethodStoreQuery, PreparedSQLStoreQuery, QueryCacheStoreQuery, SQLStoreQuery

    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

Nested Class Summary
`static interface` | `StoreQuery.Executor` An executor provides a uniform interface to the mechanism for executing either an in-memory or datastore query.
`static class` | `StoreQuery.Range` A query result range.

Field Summary
`static boolean[]` | `EMPTY_BOOLEANS`
`static Class<?>[]` | `EMPTY_CLASSES`
`static ClassMetaData[]` | `EMPTY_METAS`
`static Object[]` | `EMPTY_OBJECTS`
`static OrderedMap<Object,Class<?>>` | `EMPTY_ORDERED_PARAMS`
`static org.apache.commons.collections.map.LinkedMap` | `EMPTY_PARAMS`
`static String[]` | `EMPTY_STRINGS`

Fields inherited from interface org.apache.openjpa.kernel.QueryOperations
`OP_DELETE, OP_SELECT, OP_UPDATE`

Method Summary
`Object` | `evaluate(Object value, Object ob, Object[] params, OpenJPAStateManager sm)`
`AggregateListener` | `getAggregateListener(String tag)` Return the standard filter listener for the given tag, or null.
`Object` | `getCompilation()` Get the current compilation for this query.
`QueryContext` | `getContext()` Return the query context that has been set.
`FilterListener` | `getFilterListener(String tag)` Return the standard filter listener for the given tag, or null.
`void` | `invalidateCompilation()` Invalidate any internal compilation state.
`Object` | `newCompilation()` Create a new compilation for this query.
`Object` | `newCompilationKey()` Create a new key for caching compiled query information.
`StoreQuery.Executor` | `newDataStoreExecutor(ClassMetaData meta, boolean subs)` Return an executor for datastore execution of this query.
`StoreQuery.Executor` | `newInMemoryExecutor(ClassMetaData meta, boolean subs)` Return an executor for in-memory execution of this query.
`void` | `populateFromCompilation(Object comp)` Populate internal data from compilation.
`boolean` | `requiresCandidateType()` Whether this query requires a candidate class.
`boolean` | `requiresParameterDeclarations()` Whether this query requires parameters to be declared.
`void` | `setContext(QueryContext ctx)` Set the current query context.
`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.
`boolean` | `supportsAbstractExecutors()` Return true if this query supports execution against abstract or interface types.
`boolean` | `supportsDataStoreExecution()` True if this query supports datastore execution, false if it can only run in memory.
`boolean` | `supportsInMemoryExecution()` True if this query supports in-memory execution, false if it can only run against the datastore.
`boolean` | `supportsParameterDeclarations()` Whether this query supports declared parameters.

Field Detail

### EMPTY_PARAMS

    static final org.apache.commons.collections.map.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 Detail

### 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)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.