org.apache.velocity.runtime.resource
Class ResourceCacheImpl

java.lang.Object
  extended by org.apache.velocity.runtime.resource.ResourceCacheImpl
All Implemented Interfaces:
ResourceCache

public class ResourceCacheImpl
extends Object
implements ResourceCache

Default implementation of the resource cache for the default ResourceManager. The cache uses a least recently used (LRU) algorithm, with a maximum size specified via the resource.manager.cache.size property (idenfied by the RuntimeConstants.RESOURCE_MANAGER_DEFAULTCACHE_SIZE constant). This property get be set to 0 or less for a greedy, unbounded cache (the behavior from pre-v1.5).

Version:
$Id: ResourceCacheImpl.java 1221053 2011-12-20 00:55:01Z nbubna $
Author:
Geir Magnusson Jr., Daniel Rall

Field Summary
protected  Map<Object,Resource> cache
          Cache storage, assumed to be thread-safe.
protected  RuntimeServices rsvc
          Runtime services, generally initialized by the initialize() method.
 
Constructor Summary
ResourceCacheImpl()
           
 
Method Summary
 void clear()
          Removes all of the resources from this cache.
 Iterator<Object> enumerateKeys()
          returns an Iterator of Keys in the cache.
 Resource get(Object key)
          retrieves a Resource from the cache
 void initialize(RuntimeServices rs)
          initializes the ResourceCache.
 Resource put(Object key, Resource value)
          stores a Resource in the cache
 Resource remove(Object key)
          removes a Resource from the cache
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cache

protected Map<Object,Resource> cache
Cache storage, assumed to be thread-safe.


rsvc

protected RuntimeServices rsvc
Runtime services, generally initialized by the initialize() method.

Constructor Detail

ResourceCacheImpl

public ResourceCacheImpl()
Method Detail

initialize

public void initialize(RuntimeServices rs)
Description copied from interface: ResourceCache
initializes the ResourceCache. Will be called before any utilization

Specified by:
initialize in interface ResourceCache
Parameters:
rs - RuntimeServices to use for logging, etc
See Also:
ResourceCache.initialize(org.apache.velocity.runtime.RuntimeServices)

get

public Resource get(Object key)
Description copied from interface: ResourceCache
retrieves a Resource from the cache

Specified by:
get in interface ResourceCache
Parameters:
key - key for Resource to be retrieved
Returns:
Resource specified or null if not found
See Also:
ResourceCache.get(java.lang.Object)

put

public Resource put(Object key,
                    Resource value)
Description copied from interface: ResourceCache
stores a Resource in the cache

Specified by:
put in interface ResourceCache
Parameters:
key - key to associate with the Resource
value - Resource to be stored
Returns:
existing Resource stored under this key, or null if none
See Also:
ResourceCache.put(java.lang.Object, org.apache.velocity.runtime.resource.Resource)

remove

public Resource remove(Object key)
Description copied from interface: ResourceCache
removes a Resource from the cache

Specified by:
remove in interface ResourceCache
Parameters:
key - resource to be removed
Returns:
stored under key
See Also:
ResourceCache.remove(java.lang.Object)

clear

public void clear()
Description copied from interface: ResourceCache
Removes all of the resources from this cache. The cache will be empty after this call returns.

Specified by:
clear in interface ResourceCache
Since:
2.0
See Also:
ResourceCache.clear()

enumerateKeys

public Iterator<Object> enumerateKeys()
Description copied from interface: ResourceCache
returns an Iterator of Keys in the cache.

Specified by:
enumerateKeys in interface ResourceCache
Returns:
An Iterator of Keys in the cache.
See Also:
ResourceCache.enumerateKeys()


Copyright © 2000-2012 The Apache Software Foundation. All Rights Reserved.