Package org.datanucleus.cache
Class WeakRefCache
- java.lang.Object
-
- org.datanucleus.cache.WeakRefCache
-
- All Implemented Interfaces:
java.util.Map<java.lang.Object,DNStateManager>
,Level1Cache
public class WeakRefCache extends java.lang.Object implements Level1Cache
Level 1 Cache using Weak referenced objects in a Map. If the garbage collector clears the reference, the corresponding key is automatically removed from the map.- See Also:
WeakReference
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
NAME
private java.util.Map<java.lang.Object,DNStateManager>
weakCache
private java.util.Map<CacheUniqueKey,DNStateManager>
weakCacheUnique
-
Fields inherited from interface org.datanucleus.cache.Level1Cache
NONE_NAME
-
-
Constructor Summary
Constructors Constructor Description WeakRefCache()
Default constructor (required)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
boolean
containsKey(java.lang.Object id)
boolean
containsValue(java.lang.Object value)
java.util.Set
entrySet()
DNStateManager
get(java.lang.Object id)
DNStateManager
getUnique(CacheUniqueKey key)
Method to retrieve StateManager for the specified unique key.boolean
isEmpty()
java.util.Set
keySet()
DNStateManager
put(java.lang.Object id, DNStateManager sm)
void
putAll(java.util.Map t)
java.lang.Object
putUnique(CacheUniqueKey key, DNStateManager sm)
Method to store a StateManager for this unique key.DNStateManager
remove(java.lang.Object id)
int
size()
java.util.Collection
values()
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
weakCache
private java.util.Map<java.lang.Object,DNStateManager> weakCache
-
weakCacheUnique
private java.util.Map<CacheUniqueKey,DNStateManager> weakCacheUnique
-
-
Method Detail
-
put
public DNStateManager put(java.lang.Object id, DNStateManager sm)
- Specified by:
put
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
get
public DNStateManager get(java.lang.Object id)
- Specified by:
get
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
containsKey
public boolean containsKey(java.lang.Object id)
- Specified by:
containsKey
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
remove
public DNStateManager remove(java.lang.Object id)
- Specified by:
remove
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
entrySet
public java.util.Set entrySet()
- Specified by:
entrySet
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
keySet
public java.util.Set keySet()
- Specified by:
keySet
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
putAll
public void putAll(java.util.Map t)
- Specified by:
putAll
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
size
public int size()
- Specified by:
size
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
values
public java.util.Collection values()
- Specified by:
values
in interfacejava.util.Map<java.lang.Object,DNStateManager>
-
getUnique
public DNStateManager getUnique(CacheUniqueKey key)
Description copied from interface:Level1Cache
Method to retrieve StateManager for the specified unique key.- Specified by:
getUnique
in interfaceLevel1Cache
- Parameters:
key
- Unique key- Returns:
- StateManager if one is cached for this unique key
-
putUnique
public java.lang.Object putUnique(CacheUniqueKey key, DNStateManager sm)
Description copied from interface:Level1Cache
Method to store a StateManager for this unique key.- Specified by:
putUnique
in interfaceLevel1Cache
- Parameters:
key
- The unique keysm
- StateManager- Returns:
- The previous StateManager for this unique key if one was present, otherwise null
-
-