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.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Method to clear the cache.void
close()
Method to close the cache when no longer needed.boolean
Accessor for whether the specified query is in the cachevoid
Evict the query from the compilation cache.Accessor for a (generic) compilation from the cache.boolean
isEmpty()
Accessor for whether the cache is empty.Method to put an object in the cache.int
size()
Accessor for the total number of compilations in the query cache.
-
Field Details
-
cache
-
-
Constructor Details
-
AbstractQueryDatastoreCompilationCache
public AbstractQueryDatastoreCompilationCache()
-
-
Method Details
-
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
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
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
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
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
-