org.mortbay.jetty
Class ResourceCache

java.lang.Object
  extended byorg.mortbay.component.AbstractLifeCycle
      extended byorg.mortbay.jetty.ResourceCache
All Implemented Interfaces:
LifeCycle, Serializable

public class ResourceCache
extends AbstractLifeCycle
implements Serializable

Author:
Greg Wilkins
See Also:
Serialized Form

Nested Class Summary
 class ResourceCache.Content
          MetaData associated with a context Resource.
 
Field Summary
protected  Map _cache
           
protected  int _cachedFiles
           
protected  int _cacheSize
           
protected  ResourceCache.Content _leastRecentlyUsed
           
protected  ResourceCache.Content _mostRecentlyUsed
           
 
Constructor Summary
ResourceCache(MimeTypes mimeTypes)
          Constructor.
 
Method Summary
 void doStart()
           
 void doStop()
          Stop the context.
protected  void fill(ResourceCache.Content content)
           
 void flushCache()
           
 int getMaxCachedFiles()
           
 int getMaxCachedFileSize()
           
 int getMaxCacheSize()
           
 ResourceCache.Content lookup(String pathInContext, ResourceFactory factory)
          Get a Entry from the cache.
 void setMaxCachedFiles(int maxCachedFiles)
           
 void setMaxCachedFileSize(int maxCachedFileSize)
           
 void setMaxCacheSize(int maxCacheSize)
           
 
Methods inherited from class org.mortbay.component.AbstractLifeCycle
isFailed, isRunning, isStarted, isStarting, isStopping, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_cache

protected transient Map _cache

_cacheSize

protected transient int _cacheSize

_cachedFiles

protected transient int _cachedFiles

_mostRecentlyUsed

protected transient ResourceCache.Content _mostRecentlyUsed

_leastRecentlyUsed

protected transient ResourceCache.Content _leastRecentlyUsed
Constructor Detail

ResourceCache

public ResourceCache(MimeTypes mimeTypes)
Constructor.

Method Detail

getMaxCachedFileSize

public int getMaxCachedFileSize()

setMaxCachedFileSize

public void setMaxCachedFileSize(int maxCachedFileSize)

getMaxCacheSize

public int getMaxCacheSize()

setMaxCacheSize

public void setMaxCacheSize(int maxCacheSize)

getMaxCachedFiles

public int getMaxCachedFiles()
Returns:
Returns the maxCachedFiles.

setMaxCachedFiles

public void setMaxCachedFiles(int maxCachedFiles)
Parameters:
maxCachedFiles - The maxCachedFiles to set.

flushCache

public void flushCache()

lookup

public ResourceCache.Content lookup(String pathInContext,
                                    ResourceFactory factory)
                             throws IOException
Get a Entry from the cache. Get either a valid entry object or create a new one if possible.

Parameters:
pathInContext - The key into the cache
factory - If no matching entry is found, this ResourceFactory will be used to create the Resource for the new enry that is created.
Returns:
The entry matching pathInContext, or a new entry if no matching entry was found
Throws:
IOException

doStart

public void doStart()
             throws Exception
Overrides:
doStart in class AbstractLifeCycle
Throws:
Exception

doStop

public void doStop()
            throws InterruptedException
Stop the context.

Overrides:
doStop in class AbstractLifeCycle
Throws:
InterruptedException

fill

protected void fill(ResourceCache.Content content)
             throws IOException
Throws:
IOException