Package freemarker.cache
Class StrongCacheStorage
- java.lang.Object
-
- freemarker.cache.StrongCacheStorage
-
- All Implemented Interfaces:
CacheStorage
,CacheStorageWithGetSize
,ConcurrentCacheStorage
public class StrongCacheStorage extends Object implements ConcurrentCacheStorage, CacheStorageWithGetSize
Strong cache storage is a cache storage that simply wraps aMap
. It holds a strong reference to all objects it was passed, therefore prevents the cache from being purged during garbage collection. 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's thread-safe in that case.
-
-
Constructor Summary
Constructors Constructor Description StrongCacheStorage()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Object
get(Object key)
int
getSize()
Returns a close approximation of the number of cache entries.boolean
isConcurrent()
Returns true if the underlying Map is aConcurrentMap
.void
put(Object key, Object value)
void
remove(Object key)
-
-
-
Method Detail
-
isConcurrent
public boolean isConcurrent()
Returns true if the underlying Map is aConcurrentMap
.- Specified by:
isConcurrent
in interfaceConcurrentCacheStorage
- Returns:
- true if this instance of cache storage is concurrently accessible from multiple threads without synchronization.
-
get
public Object get(Object key)
- Specified by:
get
in interfaceCacheStorage
-
put
public void put(Object key, Object value)
- Specified by:
put
in interfaceCacheStorage
-
remove
public void remove(Object key)
- Specified by:
remove
in interfaceCacheStorage
-
getSize
public int getSize()
Returns a close approximation of the number of cache entries.- Specified by:
getSize
in interfaceCacheStorageWithGetSize
- Since:
- 2.3.21
-
clear
public void clear()
- Specified by:
clear
in interfaceCacheStorage
-
-