Package org.datanucleus.store.query
Interface QueryManager
-
- All Known Implementing Classes:
FederatedQueryManagerImpl
,QueryManagerImpl
public interface QueryManager
Interface providing a way of creating instances of queries for datastores, caching of generic and datastore compilations, as well as caching query results.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addDatastoreQueryCompilation(String datastore, String language, String query, Object compilation)
Method to store the datastore-specific compilation for a query.void
addQueryCompilation(String language, String query, QueryCompilation compilation)
Method to store the compilation for a query.void
addQueryResult(Query query, Map params, List<Object> results)
Method to store the results for a query.void
close()
Close the QueryManager, releasing all cached compilations and results.void
evictQueryResultsForType(Class cls)
Method to evict all query results for the specified candidate type.Object
getDatastoreQueryCompilation(String datastore, String language, String query)
Accessor for the datastore-specific compilation for a query.InvocationEvaluator
getInMemoryEvaluatorForMethod(Class type, String methodName)
Accessor for an evaluator for invocation of the specified method for the supplied type.QueryCompilationCache
getQueryCompilationCache()
Accessor for the generic compilation cache.QueryCompilation
getQueryCompilationForQuery(String language, String query)
Accessor for a Query compilation for the specified query and language.QueryDatastoreCompilationCache
getQueryDatastoreCompilationCache()
Accessor for the datastore compilation cache.Map<String,String>
getQueryMethodAliasesByPrefix()
Accessor for JDOQL/JPQL query method aliases keyed by the prefix.List<Object>
getQueryResult(Query query, Map params)
Accessor for the results for a query.QueryResultsCache
getQueryResultsCache()
Accessor for the query results cache.void
removeDatastoreQueryCompilation(String datastore, String language, String query)
Method to remove a cached datastore query compilation.void
removeQueryCompilation(String language, String query)
Method to remove a query compilation.
-
-
-
Method Detail
-
close
void close()
Close the QueryManager, releasing all cached compilations and results.
-
getQueryCompilationCache
QueryCompilationCache getQueryCompilationCache()
Accessor for the generic compilation cache.- Returns:
- The cache of generic compilations
-
addQueryCompilation
void addQueryCompilation(String language, String query, QueryCompilation compilation)
Method to store the compilation for a query.- Parameters:
language
- Language of the queryquery
- The query stringcompilation
- The compilation of this query
-
removeQueryCompilation
void removeQueryCompilation(String language, String query)
Method to remove a query compilation.- Parameters:
language
- The query languagequery
- The query string
-
getQueryCompilationForQuery
QueryCompilation getQueryCompilationForQuery(String language, String query)
Accessor for a Query compilation for the specified query and language.- Parameters:
language
- Language of the queryquery
- Query string- Returns:
- The compilation (if present)
-
getQueryDatastoreCompilationCache
QueryDatastoreCompilationCache getQueryDatastoreCompilationCache()
Accessor for the datastore compilation cache.- Returns:
- The cache of datastore compilations
-
getDatastoreQueryCompilation
Object getDatastoreQueryCompilation(String datastore, String language, String query)
Accessor for the datastore-specific compilation for a query.- Parameters:
datastore
- The datastore identifierlanguage
- The query languagequery
- The query (string form)- Returns:
- The compiled information (if available)
-
addDatastoreQueryCompilation
void addDatastoreQueryCompilation(String datastore, String language, String query, Object compilation)
Method to store the datastore-specific compilation for a query.- Parameters:
datastore
- The datastore identifierlanguage
- The query languagequery
- The query (string form)compilation
- The compiled information
-
removeDatastoreQueryCompilation
void removeDatastoreQueryCompilation(String datastore, String language, String query)
Method to remove a cached datastore query compilation.- Parameters:
datastore
- The datastorelanguage
- The languagequery
- The query (string form)
-
getQueryResultsCache
QueryResultsCache getQueryResultsCache()
Accessor for the query results cache.- Returns:
- Query results cache (if present)
-
getQueryResult
List<Object> getQueryResult(Query query, Map params)
Accessor for the results for a query.- Parameters:
query
- The queryparams
- Map of parameter values keyed by param name- Returns:
- The results (List of object identities)
-
evictQueryResultsForType
void evictQueryResultsForType(Class cls)
Method to evict all query results for the specified candidate type.- Parameters:
cls
- Candidate type
-
addQueryResult
void addQueryResult(Query query, Map params, List<Object> results)
Method to store the results for a query.- Parameters:
query
- The queryparams
- Map of parameter values keyed by param nameresults
- The results (List of object identities)
-
getInMemoryEvaluatorForMethod
InvocationEvaluator getInMemoryEvaluatorForMethod(Class type, String methodName)
Accessor for an evaluator for invocation of the specified method for the supplied type. If it is not a supported method for that type then returns null.- Parameters:
type
- The class namemethodName
- Name of the method- Returns:
- Evaluator suitable for this type with this method name
-
-