org.apache.openjpa.jdbc.kernel
Class SQLStoreQuery

java.lang.Object
  extended by org.apache.openjpa.kernel.AbstractStoreQuery
      extended by org.apache.openjpa.jdbc.kernel.SQLStoreQuery
All Implemented Interfaces:
Serializable, QueryOperations, StoreQuery
Direct Known Subclasses:
PreparedSQLStoreQuery

public class SQLStoreQuery
extends AbstractStoreQuery

A SQL query.

Author:
Abe White
See Also:
Serialized Form

Nested Class Summary
protected static class SQLStoreQuery.SQLExecutor
          Executes the filter as a SQL query.
 
Nested classes/interfaces inherited from class org.apache.openjpa.kernel.AbstractStoreQuery
AbstractStoreQuery.AbstractExecutor
 
Nested classes/interfaces inherited from interface org.apache.openjpa.kernel.StoreQuery
StoreQuery.Executor, StoreQuery.Range
 
Field Summary
 
Fields inherited from class org.apache.openjpa.kernel.AbstractStoreQuery
ctx
 
Fields inherited from interface org.apache.openjpa.kernel.StoreQuery
EMPTY_BOOLEANS, EMPTY_CLASSES, EMPTY_METAS, EMPTY_OBJECTS, EMPTY_ORDERED_PARAMS, EMPTY_PARAMS, EMPTY_STRINGS
 
Fields inherited from interface org.apache.openjpa.kernel.QueryOperations
OP_DELETE, OP_SELECT, OP_UPDATE
 
Constructor Summary
SQLStoreQuery(JDBCStore store)
          Construct a query managed by the given context.
 
Method Summary
 JDBCStore getStore()
           
 StoreQuery.Executor newDataStoreExecutor(ClassMetaData meta, boolean subclasses)
          Return an executor for datastore execution of this query.
 boolean requiresCandidateType()
          Whether this query requires a candidate class.
 boolean requiresParameterDeclarations()
          Whether this query requires parameters to be declared.
static String substituteParams(String sql, List<Integer> paramOrder)
          Utility method to substitute '?num' for parameters in the given SQL statement, and fill-in the order of the parameter tokens
 boolean supportsDataStoreExecution()
          True if this query supports datastore execution, false if it can only run in memory.
 boolean supportsParameterDeclarations()
          Whether this query supports declared parameters.
 
Methods inherited from class org.apache.openjpa.kernel.AbstractStoreQuery
evaluate, getAggregateListener, getContext, getFilterListener, invalidateCompilation, newCompilation, newCompilationKey, newInMemoryExecutor, populateFromCompilation, setContext, setQuery, supportsAbstractExecutors, supportsInMemoryExecution
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SQLStoreQuery

public SQLStoreQuery(JDBCStore store)
Construct a query managed by the given context.

Method Detail

getStore

public JDBCStore getStore()

supportsParameterDeclarations

public boolean supportsParameterDeclarations()
Description copied from interface: StoreQuery
Whether this query supports declared parameters.

Specified by:
supportsParameterDeclarations in interface StoreQuery
Overrides:
supportsParameterDeclarations in class AbstractStoreQuery

supportsDataStoreExecution

public boolean supportsDataStoreExecution()
Description copied from interface: StoreQuery
True if this query supports datastore execution, false if it can only run in memory.

Specified by:
supportsDataStoreExecution in interface StoreQuery
Overrides:
supportsDataStoreExecution in class AbstractStoreQuery

newDataStoreExecutor

public StoreQuery.Executor newDataStoreExecutor(ClassMetaData meta,
                                                boolean subclasses)
Description copied from interface: StoreQuery
Return an executor for datastore execution of this query. Executors must be cachable and thread safe. If this class returns true from StoreQuery.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.

Specified by:
newDataStoreExecutor in interface StoreQuery
Overrides:
newDataStoreExecutor in class AbstractStoreQuery
subclasses - whether to include dependent mapped subclasses in the results; independent subclasses should never be included

requiresCandidateType

public boolean requiresCandidateType()
Description copied from interface: StoreQuery
Whether this query requires a candidate class.

Specified by:
requiresCandidateType in interface StoreQuery
Overrides:
requiresCandidateType in class AbstractStoreQuery

requiresParameterDeclarations

public boolean requiresParameterDeclarations()
Description copied from interface: StoreQuery
Whether this query requires parameters to be declared.

Specified by:
requiresParameterDeclarations in interface StoreQuery
Overrides:
requiresParameterDeclarations in class AbstractStoreQuery

substituteParams

public static String substituteParams(String sql,
                                      List<Integer> paramOrder)
                               throws IOException
Utility method to substitute '?num' for parameters in the given SQL statement, and fill-in the order of the parameter tokens

Throws:
IOException


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