## com.sun.appserv.util.cache
Interface Cache

All Known Implementing Classes:
  BaseCache, BoundedMultiLruCache, LruCache, MultiLruCache

    public interface Cache

Cache Generic cache interface

Method Summary
`void` `add(Object key, Object value)` add the given value to the cache at the specified key
`void` `add(Object key, Object value, int size)` add the given value with specified size to the cache at specified key
`void` `addCacheListener(CacheListener listener)` add the cache module listener
`int` `clear()` clear all the entries from the cache.
`void` `clearStats()` clear all stats
`boolean` `contains(Object key)` check if the cache contains the item at the key
`void` `destroy()` Destroys this cache.
`Enumeration` `elements()` get an Enumeration for the keys stored in the cache
`Object` `get(Object key)` get the item stored at the key.
`Iterator` `getAll(Object key)` get all the items with the given key.
`int` `getEntryCount()` get the number of entries in the cache
`int` `getIndex(Object key)` get the index of the item given a key
`Object` `getStatByName(String key)` get the desired statistic counter
`Map` `getStats()` get the stats snapshot
`void` `init(int maxEntries, float loadFactor, Properties props)` initialize the cache
`void` `init(int maxEntries, Properties props)` initialize the cache with the default load factor (0.75)
`boolean` `isEmpty()` is this cache empty?
`Iterator` `keys()` get an Iterator for the keys stored in the cache
`void` `notifyRefresh(int index)` notify threads waiting for a refresh on the object associated with the key
`Object` `put(Object key, Object value)` cache the given value at the specified key and return previous value
`Object` `put(Object key, Object value, int size)` cache the given value at the specified key and return previous value
`Object` `remove(Object key)` remove the item with the given key.
`Object` `remove(Object key, Object value)` remove the given value stored at the key.
`void` `removeAll(Object key)` remove all the item with the given key.
`void` `trimExpiredEntries(int maxCount)` trim the expired entries from the cache.
`Iterator` `values()` get an Iterator for the values stored in the cache
`boolean` `waitRefresh(int index)` wait for a refresh on the object associated with the key

Method Detail

### init

    void init(int maxEntries,
              float loadFactor,
              Properties props)
              throws Exception

  initialize the cache

  Parameters:
    `maxEntries` - maximum number of entries expected in the cache
    `loadFactor` - the load factor
    `props` - opaque list of properties for a given cache implementation
  Throws:
    `a` - generic Exception if the initialization failed
    `Exception`

### init

    void init(int maxEntries,
              Properties props)
              throws Exception

  initialize the cache with the default load factor (0.75)

  Parameters:
    `maxEntries` - maximum number of entries expected in the cache
    `props` - opaque list of properties for a given cache implementation
  Throws:
    `a` - generic Exception if the initialization failed
    `Exception`

### addCacheListener

    void addCacheListener(CacheListener listener)

  add the cache module listener

  Parameters:
    `listener` - `CacheListener` implementation

### getIndex

    int getIndex(Object key)

  get the index of the item given a key

  Parameters:
    `key` - of the entry
  Returns:
    the index to be used in the cache

### get

    Object get(Object key)

  get the item stored at the key.

  Parameters:
    `key` - lookup key

### getAll

    Iterator getAll(Object key)

  get all the items with the given key.

  Parameters:
    `key` - lookup key

### contains

    boolean contains(Object key)

  check if the cache contains the item at the key

  Parameters:
    `key` - lookup key

### keys

    Iterator keys()

  get an Iterator for the keys stored in the cache

### elements

    Enumeration elements()

  get an Enumeration for the keys stored in the cache

### values

    Iterator values()

  get an Iterator for the values stored in the cache

### put

    Object put(Object key,
               Object value)

  cache the given value at the specified key and return previous value

  Parameters:
    `key` - lookup key
    `object` - item value to be stored

### put

    Object put(Object key,
               Object value,
               int size)

  cache the given value at the specified key and return previous value

  Parameters:
    `key` - lookup key
    `object` - item value to be stored
    `size` - in bytes of the value being cached

### add

    void add(Object key,
             Object value)

  add the given value to the cache at the specified key

  Parameters:
    `key` - lookup key
    `object` - item value to be stored This function is suitable for multi-valued keys.

### add

    void add(Object key,
             Object value,
             int size)

  add the given value with specified size to the cache at specified key

  Parameters:
    `key` - lookup key
    `object` - item value to be stored
    `size` - in bytes of the value being added This function is suitable for multi-valued keys.

### remove

    Object remove(Object key)

  remove the item with the given key.

  Parameters:
    `key` - lookup key

### remove

    Object remove(Object key,
                  Object value)

  remove the given value stored at the key.

  Parameters:
    `key` - lookup key
    `value` - to match (for multi-valued keys)

### removeAll

    void removeAll(Object key)

  remove all the item with the given key.

  Parameters:
    `key` - lookup key

### waitRefresh

    boolean waitRefresh(int index)

  wait for a refresh on the object associated with the key

  Parameters:
    `index` - index of the entry. The index must be obtained via one of the `getIndex()` methods.

### notifyRefresh

    void notifyRefresh(int index)

  notify threads waiting for a refresh on the object associated with the key

  Parameters:
    `index` - index of the entry. The index must be obtained via one of the `getIndex()` methods.

### clear

    int clear()

  clear all the entries from the cache.

### isEmpty

    boolean isEmpty()

  is this cache empty?

### getEntryCount

    int getEntryCount()

  get the number of entries in the cache

  Returns:
    the number of entries the cache currently holds

### getStatByName

    Object getStatByName(String key)

  get the desired statistic counter

  Parameters:
    `key` - to corresponding stat
  Returns:
    an Object corresponding to the stat See also: Constant.java for the key

### getStats

    Map getStats()

  get the stats snapshot

  Returns:
    a Map of stats See also: Constant.java for the keys

### clearStats

    void clearStats()

  clear all stats

### trimExpiredEntries

    void trimExpiredEntries(int maxCount)

  trim the expired entries from the cache.

  Parameters:
    `maxCount` - maximum number of invalid entries to trim specify Integer.MAX_VALUE to trim all timedout entries This call is to be scheduled by a thread managed by the container.

### destroy

    void destroy()

  Destroys this cache. This method should perform final clean ups.

Copyright © 2007 Mort Bay Consulting. All Rights Reserved.