Package freemarker.cache
Class SoftCacheStorage
java.lang.Object
freemarker.cache.SoftCacheStorage
- All Implemented Interfaces:
CacheStorage,ConcurrentCacheStorage
Soft cache storage is a cache storage that uses
SoftReference
objects to hold the objects it was passed, therefore allows the garbage
collector to purge the cache when it determines that it wants to free up
memory.
This class is thread-safe to the extent that its underlying map is. The
default implementation uses a concurrent map on Java 5 and above, so it is
thread-safe in that case.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Removes all values from this cacheRetrieve a cached value associated with a keybooleanReturns true if this instance of cache storage is concurrently accessible from multiple threads without synchronization.voidAssociates a key with a cached valuevoidRemoves the value associated with a key, if it exists.
-
Constructor Details
-
SoftCacheStorage
public SoftCacheStorage() -
SoftCacheStorage
-
-
Method Details
-
isConcurrent
public boolean isConcurrent()Description copied from interface:ConcurrentCacheStorageReturns true if this instance of cache storage is concurrently accessible from multiple threads without synchronization.- Specified by:
isConcurrentin interfaceConcurrentCacheStorage- Returns:
- true if this instance of cache storage is concurrently accessible from multiple threads without synchronization.
-
get
Description copied from interface:CacheStorageRetrieve a cached value associated with a key- Specified by:
getin interfaceCacheStorage- Parameters:
key- the key for retrieving an associated value- Returns:
- the cached value associated with the key, or null if no value is associated with the key.
-
put
Description copied from interface:CacheStorageAssociates a key with a cached value- Specified by:
putin interfaceCacheStorage- Parameters:
key- the key to associate with a valuevalue- the value associated with the key.
-
remove
Description copied from interface:CacheStorageRemoves the value associated with a key, if it exists. If it doesn't exist, this method does nothing.- Specified by:
removein interfaceCacheStorage- Parameters:
key- the key whose associated value is removed from the cache.
-
clear
public void clear()Description copied from interface:CacheStorageRemoves all values from this cache- Specified by:
clearin interfaceCacheStorage
-