Class ConcurrentCache<K,V>

java.lang.Object
com.sun.faces.util.ConcurrentCache<K,V>
Direct Known Subclasses:
ExpiringConcurrentCache

public abstract class ConcurrentCache<K,V> extends Object
Defines a concurrent cache with a factory for creating new object instances. This (combined with ExpiringConcurrentCache) offers functionality similar to com.sun.faces.util.Cache. Two differences: 1. Cache is concrete/assumes a particular implementation. ConcurrentCache is abstract/allows subclasses to provide the implementation. This facilitates alternative implementations, such as DefaultFaceletCache's NoCache. 2. ConcurrentCache does not provide remove() as part of its contract, since remove behavior may be subclass-specific. For example, ExpiringConcurentCache automatically removes items by checking for expiration rather than requiring manual removes. We should consider consolidating Cache and ConcurrentCache + ExpiringConcurrentCache into a single class hierarchy so that we do not need to duplicate the JCIP scalable result cache code.