## org.apache.naming.resources
Class ResourceCache

    java.lang.Object
      org.apache.naming.resources.ResourceCache

public class ResourceCache
extends java.lang.Object

Implements a special purpose cache.

Version:
  $Revision: 1.3 $
Author:
  Remy Maucherat

Field Summary
`protected long` `accessCount` Number of accesses to the cache.
`protected CacheEntry[]` `cache` Cache.
`protected int` `cacheMaxSize` Max size of resources which will have their content cached.
`protected int` `cacheSize` Current cache size in KB.
`protected long` `desiredEntryAccessRatio` Entry hit ratio at which an entry will never be removed from the cache.
`protected long` `hitsCount` Number of cache hits.
`protected int` `maxAllocateIterations` Max amount of removals during a make space.
`protected java.util.HashMap` `notFoundCache` Not found cache.
`protected int` `spareNotFoundEntries` Spare amount of not found entries.

Constructor Summary
`ResourceCache()`

Method Summary
`boolean` `allocate(int space)`
`long` `getAccessCount()` Return the access count.
`int` `getCacheMaxSize()` Return the maximum size of the cache in KB.
`int` `getCacheSize()` Return the current cache size in KB.
`long` `getDesiredEntryAccessRatio()` Return desired entry access ratio.
`long` `getHitsCount()` Return the number of cache hits.
`int` `getMaxAllocateIterations()` Return the maximum amount of iterations during a space allocation.
`int` `getSpareNotFoundEntries()` Return the amount of spare not found entries.
`void` `load(CacheEntry entry)`
`CacheEntry` `lookup(java.lang.String name)`
`void` `setCacheMaxSize(int cacheMaxSize)` Set the maximum size of the cache in KB.
`void` `setDesiredEntryAccessRatio(long desiredEntryAccessRatio)` Set the desired entry access ratio.
`void` `setMaxAllocateIterations(int maxAllocateIterations)` Set the maximum amount of iterations during a space allocation.
`void` `setSpareNotFoundEntries(int spareNotFoundEntries)` Set the amount of spare not found entries.
`boolean` `unload(java.lang.String name)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### cache

    protected CacheEntry[] cache

  Cache. Path -> Cache entry.

### notFoundCache

    protected java.util.HashMap notFoundCache

  Not found cache.

### cacheMaxSize

    protected int cacheMaxSize

  Max size of resources which will have their content cached.

### maxAllocateIterations

    protected int maxAllocateIterations

  Max amount of removals during a make space.

### desiredEntryAccessRatio

    protected long desiredEntryAccessRatio

  Entry hit ratio at which an entry will never be removed from the cache. Compared with entry.access / hitsCount

### spareNotFoundEntries

    protected int spareNotFoundEntries

  Spare amount of not found entries.

### cacheSize

    protected int cacheSize

  Current cache size in KB.

### accessCount

    protected long accessCount

  Number of accesses to the cache.

### hitsCount

    protected long hitsCount

  Number of cache hits.

Constructor Detail

### ResourceCache

    public ResourceCache()

Method Detail

### getAccessCount

    public long getAccessCount()

  Return the access count. Note: Update is not synced, so the number may not be completely accurate.

### getCacheMaxSize

    public int getCacheMaxSize()

  Return the maximum size of the cache in KB.

### setCacheMaxSize

    public void setCacheMaxSize(int cacheMaxSize)

  Set the maximum size of the cache in KB.

### getCacheSize

    public int getCacheSize()

  Return the current cache size in KB.

### getDesiredEntryAccessRatio

    public long getDesiredEntryAccessRatio()

  Return desired entry access ratio.

### setDesiredEntryAccessRatio

    public void setDesiredEntryAccessRatio(long desiredEntryAccessRatio)

  Set the desired entry access ratio.

### getHitsCount

    public long getHitsCount()

  Return the number of cache hits. Note: Update is not synced, so the number may not be completely accurate.

### getMaxAllocateIterations

    public int getMaxAllocateIterations()

  Return the maximum amount of iterations during a space allocation.

### setMaxAllocateIterations

    public void setMaxAllocateIterations(int maxAllocateIterations)

  Set the maximum amount of iterations during a space allocation.

### getSpareNotFoundEntries

    public int getSpareNotFoundEntries()

  Return the amount of spare not found entries.

### setSpareNotFoundEntries

    public void setSpareNotFoundEntries(int spareNotFoundEntries)

  Set the amount of spare not found entries.

### allocate

    public boolean allocate(int space)

### lookup

    public CacheEntry lookup(java.lang.String name)

### load

    public void load(CacheEntry entry)

### unload

    public boolean unload(java.lang.String name)

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.