public class SoftReferenceCache extends java.lang.Object implements ExpungingCacheI, CacheI
| Constructor and Description |
|---|
SoftReferenceCache() |
SoftReferenceCache(CacheFetcherI _fetcher,
DependencyCalculatorI _dependencyCalculator,
java.util.Map _cache) |
SoftReferenceCache(CacheFetcherI _fetcher,
DependencyCalculatorI _dependencyCalculator,
java.util.Map _cache,
java.lang.Class _cachedClass) |
SoftReferenceCache(CacheFetcherI _fetcher,
java.util.Map _cache) |
SoftReferenceCache(CacheFetcherI _fetcher,
java.util.Map _cache,
java.lang.Class _cachedClass) |
SoftReferenceCache(java.lang.Class _cachedClass) |
SoftReferenceCache(java.util.Map _cache) |
SoftReferenceCache(java.util.Map _cache,
java.lang.Class _cachedClass) |
| Modifier and Type | Method and Description |
|---|---|
void |
clear() |
java.lang.Object |
computeIfAbsent(java.lang.Object key,
java.util.function.Function mappingFunction)
Returns the value associated with the specified key, computing it if necessary.
|
boolean |
contains(java.lang.Object key) |
void |
expunge(java.lang.Object key) |
void |
expungeAll(java.lang.Object[] keys) |
void |
expungeAllForDependencies(long[] deps) |
void |
expungeAllForDependencies(java.lang.Long[] deps) |
void |
expungeForDependency(long dep) |
void |
expungeForDependency(java.lang.Long dep) |
java.lang.Object |
get(java.lang.Object key) |
java.lang.Object[] |
get(java.lang.Object[] keys) |
java.lang.Object[] |
get(java.lang.Object[] keys,
boolean dontCacheNulls) |
java.lang.Object[] |
get(java.lang.Object[] keys,
boolean dontCacheNulls,
boolean dontFetch) |
java.lang.Object |
get(java.lang.Object key,
boolean dontCacheNulls) |
java.lang.Object |
get(java.lang.Object key,
boolean dontCacheNulls,
boolean dontFetch) |
java.lang.Object |
getAt(java.lang.Object key) |
ExpungeableReferenceI |
getExpungeableReference(java.lang.Object key) |
java.util.Set |
keySet() |
void |
put(java.lang.Object key,
java.lang.Object value) |
void |
put(java.lang.Object key,
java.lang.Object value,
boolean dontCacheNulls) |
void |
put(java.lang.Object key,
java.lang.Object value,
boolean dontCacheNulls,
long[] dependencies) |
void |
putAt(java.lang.Object key,
java.lang.Object value) |
java.lang.Object |
putIfAbsent(java.lang.Object key,
java.lang.Object value)
Associates the specified key with the given value if it is not already
associated with a live value.
|
void |
remove(java.lang.Object key) |
int |
size() |
java.util.Collection |
values() |
public SoftReferenceCache()
public SoftReferenceCache(java.lang.Class _cachedClass)
public SoftReferenceCache(java.util.Map _cache)
public SoftReferenceCache(java.util.Map _cache,
java.lang.Class _cachedClass)
public SoftReferenceCache(CacheFetcherI _fetcher, DependencyCalculatorI _dependencyCalculator, java.util.Map _cache)
public SoftReferenceCache(CacheFetcherI _fetcher, DependencyCalculatorI _dependencyCalculator, java.util.Map _cache, java.lang.Class _cachedClass)
public SoftReferenceCache(CacheFetcherI _fetcher, java.util.Map _cache)
public SoftReferenceCache(CacheFetcherI _fetcher, java.util.Map _cache, java.lang.Class _cachedClass)
public java.lang.Object getAt(java.lang.Object key)
public java.lang.Object[] get(java.lang.Object[] keys,
boolean dontCacheNulls)
public java.lang.Object[] get(java.lang.Object[] keys,
boolean dontCacheNulls,
boolean dontFetch)
public java.lang.Object get(java.lang.Object key)
get in interface CacheIget in interface ExpungingCacheIpublic java.lang.Object get(java.lang.Object key,
boolean dontCacheNulls)
public java.lang.Object get(java.lang.Object key,
boolean dontCacheNulls,
boolean dontFetch)
public ExpungeableReferenceI getExpungeableReference(java.lang.Object key)
getExpungeableReference in interface ExpungingCacheIpublic void putAt(java.lang.Object key,
java.lang.Object value)
public void put(java.lang.Object key,
java.lang.Object value)
public void put(java.lang.Object key,
java.lang.Object value,
boolean dontCacheNulls)
public void put(java.lang.Object key,
java.lang.Object value,
boolean dontCacheNulls,
long[] dependencies)
public void expunge(java.lang.Object key)
expunge in interface ExpungingCacheIpublic void expungeAll(java.lang.Object[] keys)
expungeAll in interface ExpungingCacheIpublic void expungeForDependency(long dep)
expungeForDependency in interface ExpungingCacheIpublic void expungeForDependency(java.lang.Long dep)
expungeForDependency in interface ExpungingCacheIpublic void expungeAllForDependencies(long[] deps)
expungeAllForDependencies in interface ExpungingCacheIpublic void expungeAllForDependencies(java.lang.Long[] deps)
expungeAllForDependencies in interface ExpungingCacheIpublic java.util.Collection values()
public java.util.Set keySet()
public int size()
public java.lang.Object putIfAbsent(java.lang.Object key,
java.lang.Object value)
Treats "ghost entries" (keys with GC-cleared SoftReferences) as absent, replacing them with the new value atomically.
key - key with which the specified value is to be associatedvalue - value to be associated with the specified keyjava.lang.IllegalStateException - if the map is not concurrent or dependency tracking is enabledpublic java.lang.Object computeIfAbsent(java.lang.Object key,
java.util.function.Function mappingFunction)
Handles the "Ghost Entry" problem by checking if an existing SoftReference has been cleared. If cleared, it re-computes the value.
computeIfAbsent in interface CacheIkey - the key with which the specified value is to be associatedmappingFunction - the function to compute a value if missingjava.lang.IllegalStateException - if the underlying map is not concurrentCopyright © 2000-2026 OAshi S.à r.l. All Rights Reserved.