Package freemarker.cache
Class SoftCacheStorage
java.lang.Object
freemarker.cache.SoftCacheStorage
- All Implemented Interfaces:
CacheStorage,CacheStorageWithGetSize,ConcurrentCacheStorage
public class SoftCacheStorage
extends Object
implements ConcurrentCacheStorage, CacheStorageWithGetSize
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 parameterless constructor uses a thread-safe map
since 2.3.24 or Java 5.-
Constructor Summary
ConstructorsConstructorDescriptionCreates an instance that uses aConcurrentMapinternally.SoftCacheStorage(Map backingMap) -
Method Summary
-
Constructor Details
-
SoftCacheStorage
public SoftCacheStorage()Creates an instance that uses aConcurrentMapinternally. -
SoftCacheStorage
-
-
Method Details
-
isConcurrent
public boolean isConcurrent()Returns true if the underlying Map is aConcurrentMap.- Specified by:
isConcurrentin interfaceConcurrentCacheStorage- Returns:
- true if this instance of cache storage is concurrently accessible from multiple threads without synchronization.
-
get
- Specified by:
getin interfaceCacheStorage
-
put
- Specified by:
putin interfaceCacheStorage
-
remove
- Specified by:
removein interfaceCacheStorage
-
clear
public void clear()- Specified by:
clearin interfaceCacheStorage
-
getSize
public int getSize()Returns a close approximation of the number of cache entries.- Specified by:
getSizein interfaceCacheStorageWithGetSize- Since:
- 2.3.21
-