freemarker.cache
Class StrongCacheStorage

java.lang.Object
  extended by 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

Constructor Summary
StrongCacheStorage()
           
 
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
 

Constructor Detail

StrongCacheStorage

public StrongCacheStorage()
Method Detail

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