Class AbstractQueryDatastoreCompilationCache
- java.lang.Object
-
- org.datanucleus.store.query.cache.AbstractQueryDatastoreCompilationCache
-
- All Implemented Interfaces:
QueryDatastoreCompilationCache
- Direct Known Subclasses:
SoftQueryDatastoreCompilationCache
,StrongQueryDatastoreCompilationCache
,WeakQueryDatastoreCompilationCache
public abstract class AbstractQueryDatastoreCompilationCache extends Object implements QueryDatastoreCompilationCache
Abstract representation of a query compilation cache for the query specific to the datastore.
-
-
Constructor Summary
Constructors Constructor Description AbstractQueryDatastoreCompilationCache()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Method to clear the cache.void
close()
Method to close the cache when no longer needed.boolean
contains(String queryKey)
Accessor for whether the specified query is in the cachevoid
evict(String queryKey)
Evict the query from the compilation cache.Object
get(String queryKey)
Accessor for a (generic) compilation from the cache.boolean
isEmpty()
Accessor for whether the cache is empty.Object
put(String queryKey, Object compilation)
Method to put an object in the cache.int
size()
Accessor for the total number of compilations in the query cache.
-
-
-
Method Detail
-
clear
public void clear()
Description copied from interface:QueryDatastoreCompilationCache
Method to clear the cache.- Specified by:
clear
in interfaceQueryDatastoreCompilationCache
-
close
public void close()
Description copied from interface:QueryDatastoreCompilationCache
Method to close the cache when no longer needed. Provides a hook to release resources etc.- Specified by:
close
in interfaceQueryDatastoreCompilationCache
-
contains
public boolean contains(String queryKey)
Description copied from interface:QueryDatastoreCompilationCache
Accessor for whether the specified query is in the cache- Specified by:
contains
in interfaceQueryDatastoreCompilationCache
- Parameters:
queryKey
- The query key- Returns:
- Whether it is in the cache
-
evict
public void evict(String queryKey)
Description copied from interface:QueryDatastoreCompilationCache
Evict the query from the compilation cache.- Specified by:
evict
in interfaceQueryDatastoreCompilationCache
- Parameters:
queryKey
- Key for the query to evict.
-
get
public Object get(String queryKey)
Description copied from interface:QueryDatastoreCompilationCache
Accessor for a (generic) compilation from the cache.- Specified by:
get
in interfaceQueryDatastoreCompilationCache
- Parameters:
queryKey
- The query key- Returns:
- The cached query compilation
-
isEmpty
public boolean isEmpty()
Description copied from interface:QueryDatastoreCompilationCache
Accessor for whether the cache is empty.- Specified by:
isEmpty
in interfaceQueryDatastoreCompilationCache
- Returns:
- Whether it is empty.
-
put
public Object put(String queryKey, Object compilation)
Description copied from interface:QueryDatastoreCompilationCache
Method to put an object in the cache.- Specified by:
put
in interfaceQueryDatastoreCompilationCache
- Parameters:
queryKey
- The query keycompilation
- The compilation for this datastore- Returns:
- The cached compilation previously associated with this query (if any)
-
size
public int size()
Description copied from interface:QueryDatastoreCompilationCache
Accessor for the total number of compilations in the query cache.- Specified by:
size
in interfaceQueryDatastoreCompilationCache
- Returns:
- Number of queries
-
-