org.jgroups.blocks

## Class Cache<K,V>

- java.lang.Object
- - org.jgroups.blocks.Cache<K,V>

-     public class Cache<K,V>
      extends java.lang.Object

  Simple cache which maintains keys and value. A reaper can be enabled which periodically evicts expired entries. Also, when the cache is configured to be bounded, entries in excess of the max size will be evicted on put().
  Author:
    Bela Ban

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `Cache.ChangeListener`
    `static class` | `Cache.Value<V>`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Cache()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addChangeListener(Cache.ChangeListener l)`
    `void` | `disableReaping()`
    `java.lang.String` | `dump()`
    `void` | `enableReaping(long interval)` Runs the reaper every interval ms, evicts expired items
    `java.util.Set<java.util.Map.Entry<K,Cache.Value<V>>>` | `entrySet()`
    `V` | `get(K key)`
    `Cache.Value<V>` | `getEntry(K key)`
    `java.util.concurrent.ConcurrentMap<K,Cache.Value<V>>` | `getInternalMap()` This method should not be used to add or remove elements ! It was just added because ReplCacheDemo requires it for its data model
    `int` | `getMaxNumberOfEntries()`
    `int` | `getSize()`
    `boolean` | `isReapingEnabled()`
    `V` | `put(K key, V val, long caching_time)`
    `V` | `remove(K key)`
    `void` | `removeChangeListener(Cache.ChangeListener l)`
    `void` | `setMaxNumberOfEntries(int max_num_entries)`
    `void` | `start()`
    `void` | `stop()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Cache

          public Cache()

  - ### Method Detail

    - #### getMaxNumberOfEntries

          public int getMaxNumberOfEntries()

    - #### setMaxNumberOfEntries

          public void setMaxNumberOfEntries(int max_num_entries)

    - #### addChangeListener

          public void addChangeListener(Cache.ChangeListener l)

    - #### removeChangeListener

          public void removeChangeListener(Cache.ChangeListener l)

    - #### getSize

          public int getSize()

    - #### isReapingEnabled

          public boolean isReapingEnabled()

    - #### enableReaping

          public void enableReaping(long interval)

      Runs the reaper every interval ms, evicts expired items

    - #### disableReaping

          public void disableReaping()

    - #### start

          public void start()

    - #### stop

          public void stop()

    - #### put

          public V put(K key,
              V val,
              long caching_time)

      Parameters:
        `key` -
        `val` -
        `caching_time` - Number of milliseconds to keep an entry in the cache. -1 means don't cache (if reaping is enabled, we'll evict an entry with -1 caching time), 0 means never evict. In the latter case, we can still evict an entry with 0 caching time: when we have a bounded cache, we evict in order of insertion no matter what the caching time is.

    - #### get

          public V get(K key)

    - #### getInternalMap

          public java.util.concurrent.ConcurrentMap<K,Cache.Value<V>> getInternalMap()

      This method should not be used to add or remove elements ! It was just added because ReplCacheDemo requires it for its data model
      Returns:

    - #### getEntry

          public Cache.Value<V> getEntry(K key)

    - #### remove

          public V remove(K key)

    - #### entrySet

          public java.util.Set<java.util.Map.Entry<K,Cache.Value<V>>> entrySet()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### dump

          public java.lang.String dump()

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.