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.StringNAMEprivate java.util.Map<java.lang.Object,DNStateManager>weakCacheprivate 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 voidclear()booleancontainsKey(java.lang.Object id)booleancontainsValue(java.lang.Object value)java.util.SetentrySet()DNStateManagerget(java.lang.Object id)DNStateManagergetUnique(CacheUniqueKey key)Method to retrieve StateManager for the specified unique key.booleanisEmpty()java.util.SetkeySet()DNStateManagerput(java.lang.Object id, DNStateManager sm)voidputAll(java.util.Map t)java.lang.ObjectputUnique(CacheUniqueKey key, DNStateManager sm)Method to store a StateManager for this unique key.DNStateManagerremove(java.lang.Object id)intsize()java.util.Collectionvalues()
-
-
-
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:
putin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
get
public DNStateManager get(java.lang.Object id)
- Specified by:
getin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
containsKey
public boolean containsKey(java.lang.Object id)
- Specified by:
containsKeyin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
remove
public DNStateManager remove(java.lang.Object id)
- Specified by:
removein interfacejava.util.Map<java.lang.Object,DNStateManager>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValuein interfacejava.util.Map<java.lang.Object,DNStateManager>
-
entrySet
public java.util.Set entrySet()
- Specified by:
entrySetin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
keySet
public java.util.Set keySet()
- Specified by:
keySetin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
putAll
public void putAll(java.util.Map t)
- Specified by:
putAllin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
size
public int size()
- Specified by:
sizein interfacejava.util.Map<java.lang.Object,DNStateManager>
-
values
public java.util.Collection values()
- Specified by:
valuesin interfacejava.util.Map<java.lang.Object,DNStateManager>
-
getUnique
public DNStateManager getUnique(CacheUniqueKey key)
Description copied from interface:Level1CacheMethod to retrieve StateManager for the specified unique key.- Specified by:
getUniquein 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:Level1CacheMethod to store a StateManager for this unique key.- Specified by:
putUniquein interfaceLevel1Cache- Parameters:
key- The unique keysm- StateManager- Returns:
- The previous StateManager for this unique key if one was present, otherwise null
-
-