freemarker.cache
Class StrongCacheStorage
java.lang.Object
freemarker.cache.StrongCacheStorage
- All Implemented Interfaces:
- CacheStorage, ConcurrentCacheStorage
public class StrongCacheStorage
- extends java.lang.Object
- implements ConcurrentCacheStorage
Strong cache storage is a cache storage that simply wraps a Map
.
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 is
thread-safe in that case.
- Version:
- $Id: StrongCacheStorage.java,v 1.3 2003/09/22 20:47:03 ddekany Exp $
- Author:
- Attila Szegedi
Method Summary |
void |
clear()
|
java.lang.Object |
get(java.lang.Object key)
|
boolean |
isConcurrent()
Returns true if the underlying Map is a ConcurrentMap . |
void |
put(java.lang.Object key,
java.lang.Object value)
|
void |
remove(java.lang.Object key)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StrongCacheStorage
public StrongCacheStorage()
isConcurrent
public boolean isConcurrent()
- Returns true if the underlying Map is a
ConcurrentMap
.
- Specified by:
isConcurrent
in interface ConcurrentCacheStorage
- Returns:
- true if this instance of cache storage is concurrently
accessible from multiple threads without synchronization.
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get
in interface CacheStorage
put
public void put(java.lang.Object key,
java.lang.Object value)
- Specified by:
put
in interface CacheStorage
remove
public void remove(java.lang.Object key)
- Specified by:
remove
in interface CacheStorage
clear
public void clear()
- Specified by:
clear
in interface CacheStorage