CoherenceTM v3.4
Copyright© 2000-2008 by Oracle Corporation

com.tangosol.net.cache
Class OldCache

java.lang.Object
  extended by java.util.AbstractMap
      extended by com.tangosol.util.SafeHashMap
          extended by com.tangosol.net.cache.OldCache
All Implemented Interfaces:
ObservableMap, java.io.Serializable, java.lang.Cloneable, java.util.Map
Direct Known Subclasses:
LocalCache

Deprecated. As of release 3.1, replaced by LocalCache

public class OldCache
extends SafeHashMap
implements ObservableMap

A generic cache manager.

The implementation is thread safe and uses a combination of Most Recently Used (MRU) and Most Frequently Used (MFU) caching strategies.

The cache is size-limited, which means that once it reaches its maximum size ("high-water mark") it prunes itself (to its "low-water mark"). The cache high- and low-water-marks are measured in terms of "units", and each cached item by default uses one unit. All of the cache constructors, except for the default constructor, require the maximum number of units to be passed in. To change the number of units that each cache entry uses, either set the Units property of the cache entry, or extend the Cache implementation so that the inner Entry class calculates its own unit size. To determine the current, high-water and low-water sizes of the cache, use the cache object's Units, HighUnits and LowUnits properties. The HighUnits and LowUnits properties can be changed, even after the cache is in use. To specify the LowUnits value as a percentage when constructing the cache, use the extended constructor taking the percentage-prune-level.

Each cached entry expires after one hour by default. To alter this behavior, use a constructor that takes the expiry-millis; for example, an expiry-millis value of 10000 will expire entries after 10 seconds. The ExpiryDelay property can also be set once the cache is in use, but it will not affect the expiry of previously cached items.

The cache can optionally be flushed on a periodic basis by setting the FlushDelay property or scheduling a specific flush time by setting the FlushTime property.

Cache hit statistics can be obtained from the CacheHits, CacheMisses, HitProbability, KeyHitProbability and CompositeHitProbability read-only properties. The statistics can be reset by invoking resetHitStatistics. The statistics are automatically reset when the cache is cleared (the clear method).

The OldCache implements the ObservableMap interface, meaning it provides event notifications to any interested listener for each insert, update and delete, including those that occur when the cache is pruned or entries are automatically expired.

This implementation is designed to support extension through inheritence. When overriding the inner Entry class, the OldCache.instantiateEntry factory method must be overridden to instantiate the correct Entry sub-class. To override the one-unit-per-entry default behavior, extend the inner Entry class and override the calculateUnits method.

Author:
cp 2001.04.19, cp 2005.05.18 moved to com.tangosol.net.cache package

Nested Class Summary
 class OldCache.Entry
          Deprecated. A holder for a cached value.
protected  class OldCache.EntrySet
          Deprecated. A set of entries backed by this map.
static interface OldCache.EvictionPolicy
          Deprecated. An eviction policy is an object that the cache provides with access information, and when requested, the eviction policy selects and evicts entries from the cache.
protected  class OldCache.KeySet
          Deprecated. A set of entries backed by this map.
static interface OldCache.UnitCalculator
          Deprecated. A unit calculator is an object that can calculate the cost of caching an object.
protected  class OldCache.ValuesCollection
          Deprecated. A collection of values backed by this map.
 
Field Summary
static int DEFAULT_EXPIRE
          Deprecated. By default, the cache entries expire after one hour.
static int DEFAULT_FLUSH
          Deprecated. By default, expired cache entries are flushed on a minute interval.
static double DEFAULT_PRUNE
          Deprecated. By default, when the cache prunes, it reduces its entries by 25%, meaning it retains 75% (.75) of its entries.
static int DEFAULT_UNITS
          Deprecated. By default, the cache size (in units).
static int EVICTION_POLICY_EXTERNAL
          Deprecated. The cache can prune using an external eviction policy.
static int EVICTION_POLICY_HYBRID
          Deprecated. By default, the cache prunes based on a hybrid LRU+LFU algorithm.
static int EVICTION_POLICY_LFU
          Deprecated. The cache can prune based on a pure Least Frequently Used (LFU) algorithm.
static int EVICTION_POLICY_LRU
          Deprecated. The cache can prune based on a pure Least Recently Used (LRU) algorithm.
protected  OldCache.UnitCalculator m_calculator
          Deprecated. The external unit calculator.
protected  int m_cCurUnits
          Deprecated. The current number of units in the cache.
protected  int m_cExpiryDelay
          Deprecated. The number of milliseconds that a value will live in the cache.
protected  int m_cFlushDelay
          Deprecated. The interval between full cache flushes, in milliseconds.
protected  int m_cMaxUnits
          Deprecated. The number of units to allow the cache to grow to before pruning.
protected  int m_cPruneUnits
          Deprecated. The number of units to prune the cache down to.
protected  MapListenerSupport m_listenerSupport
          Deprecated. The MapListenerSupport object.
protected  long m_lNextFlush
          Deprecated. The time (ie System.currentTimeMillis) at which the next full cache flush should occur.
protected  int m_nCalculatorType
          Deprecated. The type of unit calculator employed by the cache; one of the UNIT_CALCULATOR_* enumerated values.
protected  int m_nEvictionType
          Deprecated. The type of eviction policy employed by the cache; one of the EVICTION_POLICY_* enumerated values.
protected  OldCache.EvictionPolicy m_policy
          Deprecated. The eviction policy; for eviction type EVICTION_POLICY_EXTERNAL.
protected  SimpleCacheStatistics m_stats
          Deprecated. The CacheStatistics object maintained by this cache.
static int UNIT_CALCULATOR_BINARY
          Deprecated. Specifies a unit calculator that assigns an object a weight equal to the number of bytes of memory required to cache the object.
static int UNIT_CALCULATOR_EXTERNAL
          Deprecated. Specifies a external (custom) unit calculator implementation.
static int UNIT_CALCULATOR_FIXED
          Deprecated. Specifies the default unit calculator that weighs all entries equally as 1.
 
Fields inherited from class com.tangosol.util.SafeHashMap
BIGGEST_MODULO, DEFAULT_GROWTHRATE, DEFAULT_INITIALSIZE, DEFAULT_LOADFACTOR, m_aeBucket, m_cCapacity, m_cEntries, m_colValues, m_flGrowthRate, m_flLoadFactor, m_oIterActive, m_setEntries, m_setKeys, PRIME_MODULO, RESIZING
 
Constructor Summary
OldCache()
          Deprecated. Construct the cache manager.
OldCache(int cUnits)
          Deprecated. Construct the cache manager.
OldCache(int cUnits, int cExpiryMillis)
          Deprecated. Construct the cache manager.
OldCache(int cUnits, int cExpiryMillis, double dflPruneLevel)
          Deprecated. Construct the cache manager.
 
Method Summary
 void addMapListener(MapListener listener)
          Deprecated. Add a standard map listener that will receive all events (inserts, updates, deletes) that occur against the map, with the key, old-value and new-value included.
 void addMapListener(MapListener listener, Filter filter, boolean fLite)
          Deprecated. Add a map listener that receives events based on a filter evaluation.
 void addMapListener(MapListener listener, java.lang.Object oKey, boolean fLite)
          Deprecated. Add a map listener for a specific key.
protected  void adjustUnits(int cDelta)
          Deprecated. Adjust current size.
protected  void checkFlush()
          Deprecated. Check if the cache is timed out, and clear if it is.
protected  void checkSize()
          Deprecated. Check if the cache is too big, and if it is prune it by discarding the lowest priority cache entries.
 void clear()
          Deprecated. Remove everything from the cache.
protected  void configureEviction(int nType, OldCache.EvictionPolicy policy)
          Deprecated. Configure the eviction type and policy.
protected  void configureUnitCalculator(int nType, OldCache.UnitCalculator calculator)
          Deprecated. Configure the unit calculator type and implementation.
 boolean containsKey(java.lang.Object key)
          Deprecated. Returns true if the cache contains the specified key.
protected  void deferFlush()
          Deprecated. Defer the next flush by scheduling it for infinity and beyond.
protected  void dispatchEvent(MapEvent evt)
          Deprecated. Dispatch the passed event.
 void evict()
          Deprecated. Evict all entries from the cache that are no longer valid, and potentially prune the cache size if the cache is size-limited and its size is above the caching low water mark.
 void evict(java.lang.Object oKey)
          Deprecated. Evict a specified key from the cache, as if it had expired from the cache.
 void evictAll(java.util.Collection colKeys)
          Deprecated. Evict the specified keys from the cache, as if they had each expired from the cache.
 java.lang.Object get(java.lang.Object oKey)
          Deprecated. If the specified item is in the cache, return it.
 long getCacheHits()
          Deprecated. Determine the rough number of cache hits since the cache statistics were last reset.
 long getCacheMisses()
          Deprecated. Determine the rough number of cache misses since the cache statistics were last reset.
 CacheStatistics getCacheStatistics()
          Deprecated. Returns the CacheStatistics for this cache.
 SafeHashMap.Entry getEntry(java.lang.Object oKey)
          Deprecated. Locate an Entry in the hash map based on its key.
protected  SafeHashMap.Entry getEntryInternal(java.lang.Object oKey)
          Deprecated. Locate an Entry in the hash map based on its key.
 OldCache.EvictionPolicy getEvictionPolicy()
          Deprecated. Determine the current external eviction policy, if any.
 int getEvictionType()
          Deprecated. Determine the current eviction type.
 int getExpiryDelay()
          Deprecated. Determine the "time to live" for each individual cache entry.
 int getFlushDelay()
          Deprecated. Determine the delay between cache flushes.
 long getFlushTime()
          Deprecated. Determine the date/time at which the next cache flush is scheduled.
 int getHighUnits()
          Deprecated. Determine the limit of the cache size in units.
 double getHitProbability()
          Deprecated. Determine the rough probability (0 <= p <= 1) that any particular get(java.lang.Object) invocation will be satisfied by an existing entry in the cache, based on the statistics collected since the last reset of the cache statistics.
 int getLowUnits()
          Deprecated. Determine the point to which the cache will shrink when it prunes.
protected  MapListenerSupport getMapListenerSupport()
          Deprecated. Accessor for the MapListenerSupport for sub-classes.
 OldCache.UnitCalculator getUnitCalculator()
          Deprecated. Determine the current external unit calculator, if any.
 int getUnitCalculatorType()
          Deprecated. Determine the current unit calculator type.
 int getUnits()
          Deprecated. Determine the number of units that the cache currently stores.
protected  boolean hasListeners()
          Deprecated. Determine if the OverflowMap has any listeners at all.
protected  SafeHashMap.Entry instantiateEntry()
          Deprecated. Factory method.
protected  SafeHashMap.EntrySet instantiateEntrySet()
          Deprecated. Factory pattern.
protected  SafeHashMap.KeySet instantiateKeySet()
          Deprecated. Factory pattern.
protected  MapEvent instantiateMapEvent(int nId, java.lang.Object oKey, java.lang.Object oValueOld, java.lang.Object oValueNew)
          Deprecated. Factory pattern: instantiate a new MapEvent corresponding to the specified parameters.
protected  SafeHashMap.ValuesCollection instantiateValuesCollection()
          Deprecated. Factory pattern.
protected  void prune()
          Deprecated. Prune the cache by discarding the lowest priority cache entries.
 java.lang.Object put(java.lang.Object oKey, java.lang.Object oValue)
          Deprecated. Store a value in the cache.
 java.lang.Object put(java.lang.Object oKey, java.lang.Object oValue, long cMillis)
          Deprecated. Store a value in the cache that will be automatically evicted according to the specified expiration value.
 java.lang.Object remove(java.lang.Object oKey)
          Deprecated. Remove an entry from the cache.
protected  void removeExpired(OldCache.Entry entry, boolean fRemoveInternal)
          Deprecated. Remove an entry because it has expired.
 void removeMapListener(MapListener listener)
          Deprecated. Remove a standard map listener that previously signed up for all events.
 void removeMapListener(MapListener listener, Filter filter)
          Deprecated. Remove a map listener that previously signed up for events based on a filter evaluation.
 void removeMapListener(MapListener listener, java.lang.Object oKey)
          Deprecated. Remove a map listener that previously signed up for events about a specific key.
 void resetHitStatistics()
          Deprecated. Reset the cache statistics.
protected  void scheduleFlush()
          Deprecated. Schedule the next flush.
 void setEvictionPolicy(OldCache.EvictionPolicy policy)
          Deprecated. Set the external eviction policy, and change the eviction type to EVICTION_POLICY_EXTERNAL.
 void setEvictionType(int nType)
          Deprecated. Specify the eviction type for the cache.
 void setExpiryDelay(int cMillis)
          Deprecated. Specify the "time to live" for cache entries.
 void setFlushDelay(int cMillis)
          Deprecated. Specify the delay between cache flushes.
 void setFlushTime(long lMillis)
          Deprecated. Specify the date/time at which the next cache flush is to occur.
 void setHighUnits(int cMax)
          Deprecated. Update the maximum size of the cache in units.
 void setLowUnits(int cUnits)
          Deprecated. Specify the point to which the cache will shrink when it prunes.
 void setUnitCalculator(OldCache.UnitCalculator calculator)
          Deprecated. Set the external unit calculator, and change the unit calculator type to UNIT_CALCULATOR_EXTERNAL.
 void setUnitCalculatorType(int nType)
          Deprecated. Specify the unit calculator type for the cache.
 int size()
          Deprecated. Returns the number of key-value mappings in this map.
 java.lang.String toString()
          Deprecated. For debugging purposes, format the contents of the cache as a String.
 
Methods inherited from class com.tangosol.util.SafeHashMap
clone, cloneEntryList, entrySet, getBucketIndex, getStableBucketArray, grow, instantiateEntry, isActiveIterator, isEmpty, iteratorActivated, iteratorDeactivated, keySet, removeEntryInternal, values
 
Methods inherited from class java.util.AbstractMap
containsValue, equals, hashCode, putAll
 
Methods inherited from interface java.util.Map
containsValue, entrySet, equals, hashCode, isEmpty, keySet, putAll, values
 

Field Detail

DEFAULT_UNITS

public static final int DEFAULT_UNITS
Deprecated. 
By default, the cache size (in units).

See Also:
Constant Field Values

DEFAULT_EXPIRE

public static final int DEFAULT_EXPIRE
Deprecated. 
By default, the cache entries expire after one hour.

See Also:
Constant Field Values

DEFAULT_FLUSH

public static final int DEFAULT_FLUSH
Deprecated. 
By default, expired cache entries are flushed on a minute interval.

See Also:
Constant Field Values

DEFAULT_PRUNE

public static final double DEFAULT_PRUNE
Deprecated. 
By default, when the cache prunes, it reduces its entries by 25%, meaning it retains 75% (.75) of its entries.

See Also:
Constant Field Values

EVICTION_POLICY_HYBRID

public static final int EVICTION_POLICY_HYBRID
Deprecated. 
By default, the cache prunes based on a hybrid LRU+LFU algorithm.

See Also:
Constant Field Values

EVICTION_POLICY_LRU

public static final int EVICTION_POLICY_LRU
Deprecated. 
The cache can prune based on a pure Least Recently Used (LRU) algorithm.

See Also:
Constant Field Values

EVICTION_POLICY_LFU

public static final int EVICTION_POLICY_LFU
Deprecated. 
The cache can prune based on a pure Least Frequently Used (LFU) algorithm.

See Also:
Constant Field Values

EVICTION_POLICY_EXTERNAL

public static final int EVICTION_POLICY_EXTERNAL
Deprecated. 
The cache can prune using an external eviction policy.

See Also:
Constant Field Values

UNIT_CALCULATOR_FIXED

public static final int UNIT_CALCULATOR_FIXED
Deprecated. 
Specifies the default unit calculator that weighs all entries equally as 1.

See Also:
Constant Field Values

UNIT_CALCULATOR_BINARY

public static final int UNIT_CALCULATOR_BINARY
Deprecated. 
Specifies a unit calculator that assigns an object a weight equal to the number of bytes of memory required to cache the object.

See Also:
BinaryMemoryCalculator, Constant Field Values

UNIT_CALCULATOR_EXTERNAL

public static final int UNIT_CALCULATOR_EXTERNAL
Deprecated. 
Specifies a external (custom) unit calculator implementation.

See Also:
Constant Field Values

m_cCurUnits

protected int m_cCurUnits
Deprecated. 
The current number of units in the cache. A unit is an undefined means of measuring cached values, and must be 0 or positive. The particular Entry implementation being used defines the meaning of unit.


m_cMaxUnits

protected int m_cMaxUnits
Deprecated. 
The number of units to allow the cache to grow to before pruning.


m_cPruneUnits

protected int m_cPruneUnits
Deprecated. 
The number of units to prune the cache down to.


m_cExpiryDelay

protected int m_cExpiryDelay
Deprecated. 
The number of milliseconds that a value will live in the cache. Zero indicates no timeout.


m_cFlushDelay

protected int m_cFlushDelay
Deprecated. 
The interval between full cache flushes, in milliseconds.


m_lNextFlush

protected volatile long m_lNextFlush
Deprecated. 
The time (ie System.currentTimeMillis) at which the next full cache flush should occur.


m_stats

protected SimpleCacheStatistics m_stats
Deprecated. 
The CacheStatistics object maintained by this cache.


m_listenerSupport

protected MapListenerSupport m_listenerSupport
Deprecated. 
The MapListenerSupport object.


m_nEvictionType

protected int m_nEvictionType
Deprecated. 
The type of eviction policy employed by the cache; one of the EVICTION_POLICY_* enumerated values.


m_policy

protected OldCache.EvictionPolicy m_policy
Deprecated. 
The eviction policy; for eviction type EVICTION_POLICY_EXTERNAL.


m_nCalculatorType

protected int m_nCalculatorType
Deprecated. 
The type of unit calculator employed by the cache; one of the UNIT_CALCULATOR_* enumerated values.


m_calculator

protected OldCache.UnitCalculator m_calculator
Deprecated. 
The external unit calculator.

Constructor Detail

OldCache

public OldCache()
Deprecated. 
Construct the cache manager.


OldCache

public OldCache(int cUnits)
Deprecated. 
Construct the cache manager.

Parameters:
cUnits - the number of units that the cache manager will cache before pruning the cache

OldCache

public OldCache(int cUnits,
                int cExpiryMillis)
Deprecated. 
Construct the cache manager.

Parameters:
cUnits - the number of units that the cache manager will cache before pruning the cache
cExpiryMillis - the number of milliseconds that each cache entry lives before being automatically expired

OldCache

public OldCache(int cUnits,
                int cExpiryMillis,
                double dflPruneLevel)
Deprecated. 
Construct the cache manager.

Parameters:
cUnits - the number of units that the cache manager will cache before pruning the cache
cExpiryMillis - the number of milliseconds that each cache entry lives before being automatically expired
dflPruneLevel - the percentage of the total number of units that will remain after the cache manager prunes the cache (i.e. this is the "low water mark" value); this value is in the range 0.0 to 1.0
Method Detail

size

public int size()
Deprecated. 
Returns the number of key-value mappings in this map.

Specified by:
size in interface java.util.Map
Overrides:
size in class SafeHashMap
Returns:
the number of key-value mappings in this map

containsKey

public boolean containsKey(java.lang.Object key)
Deprecated. 
Returns true if the cache contains the specified key.

Specified by:
containsKey in interface java.util.Map
Overrides:
containsKey in class SafeHashMap
Parameters:
key - key whose presence in this map is to be tested
Returns:
true if this map contains a mapping for the specified key

get

public java.lang.Object get(java.lang.Object oKey)
Deprecated. 
If the specified item is in the cache, return it.

Specified by:
get in interface java.util.Map
Overrides:
get in class SafeHashMap
Parameters:
oKey - the key to the desired cached item
Returns:
the desired Object if it is in the cache, otherwise null

getEntry

public SafeHashMap.Entry getEntry(java.lang.Object oKey)
Deprecated. 
Locate an Entry in the hash map based on its key.

Overrides:
getEntry in class SafeHashMap
Parameters:
oKey - the key object to search for
Returns:
the Entry or null

put

public java.lang.Object put(java.lang.Object oKey,
                            java.lang.Object oValue)
Deprecated. 
Store a value in the cache.

Specified by:
put in interface java.util.Map
Overrides:
put in class SafeHashMap
Parameters:
oKey - the key with which to associate the cache value
oValue - the value to cache
Returns:
the value that was cached associated with that key, or null if no value was cached associated with that key

put

public java.lang.Object put(java.lang.Object oKey,
                            java.lang.Object oValue,
                            long cMillis)
Deprecated. 
Store a value in the cache that will be automatically evicted according to the specified expiration value.

Parameters:
oKey - the key with which to associate the cache value
oValue - the value to cache
cMillis - the number of milliseconds until the entry will expire; pass zero to use the cache's default ExpiryDelay settings; pass -1 to indicate that the entry should never expire
Returns:
the value that was cached associated with that key, or null if no value was cached associated with that key
Since:
Coherence 2.3

remove

public java.lang.Object remove(java.lang.Object oKey)
Deprecated. 
Remove an entry from the cache.

Specified by:
remove in interface java.util.Map
Overrides:
remove in class SafeHashMap
Parameters:
oKey - the key of a cached value
Returns:
the value that was cached associated with that key, or null if no value was cached associated with that key

clear

public void clear()
Deprecated. 
Remove everything from the cache.

Specified by:
clear in interface java.util.Map
Overrides:
clear in class SafeHashMap

addMapListener

public void addMapListener(MapListener listener)
Deprecated. 
Add a standard map listener that will receive all events (inserts, updates, deletes) that occur against the map, with the key, old-value and new-value included. This has the same result as the following call:
   addMapListener(listener, (Filter) null, false);
 

Specified by:
addMapListener in interface ObservableMap
Parameters:
listener - the MapEvent listener to add

removeMapListener

public void removeMapListener(MapListener listener)
Deprecated. 
Remove a standard map listener that previously signed up for all events. This has the same result as the following call:
   removeMapListener(listener, (Filter) null);
 

Specified by:
removeMapListener in interface ObservableMap
Parameters:
listener - the listener to remove

addMapListener

public void addMapListener(MapListener listener,
                           java.lang.Object oKey,
                           boolean fLite)
Deprecated. 
Add a map listener for a specific key.

The listeners will receive MapEvent objects, but if fLite is passed as true, they might not contain the OldValue and NewValue properties.

To unregister the MapListener, use the ObservableMap.removeMapListener(MapListener, Object) method.

Specified by:
addMapListener in interface ObservableMap
Parameters:
listener - the MapEvent listener to add
oKey - the key that identifies the entry for which to raise events
fLite - true to indicate that the MapEvent objects do not have to include the OldValue and NewValue property values in order to allow optimizations

removeMapListener

public void removeMapListener(MapListener listener,
                              java.lang.Object oKey)
Deprecated. 
Remove a map listener that previously signed up for events about a specific key.

Specified by:
removeMapListener in interface ObservableMap
Parameters:
listener - the listener to remove
oKey - the key that identifies the entry for which to raise events

addMapListener

public void addMapListener(MapListener listener,
                           Filter filter,
                           boolean fLite)
Deprecated. 
Add a map listener that receives events based on a filter evaluation.

The listeners will receive MapEvent objects, but if fLite is passed as true, they might not contain the OldValue and NewValue properties.

To unregister the MapListener, use the ObservableMap.removeMapListener(MapListener, Filter) method.

Specified by:
addMapListener in interface ObservableMap
Parameters:
listener - the MapEvent listener to add
filter - a filter that will be passed MapEvent objects to select from; a MapEvent will be delivered to the listener only if the filter evaluates to true for that MapEvent (see MapEventFilter); null is equivalent to a filter that alway returns true
fLite - true to indicate that the MapEvent objects do not have to include the OldValue and NewValue property values in order to allow optimizations

removeMapListener

public void removeMapListener(MapListener listener,
                              Filter filter)
Deprecated. 
Remove a map listener that previously signed up for events based on a filter evaluation.

Specified by:
removeMapListener in interface ObservableMap
Parameters:
listener - the listener to remove
filter - the filter that was passed into the corresponding addMapListener() call

evict

public void evict(java.lang.Object oKey)
Deprecated. 
Evict a specified key from the cache, as if it had expired from the cache. If the key is not in the cache, then the method has no effect.

Parameters:
oKey - the key to evict from the cache

evictAll

public void evictAll(java.util.Collection colKeys)
Deprecated. 
Evict the specified keys from the cache, as if they had each expired from the cache.

The result of this method is defined to be semantically the same as the following implementation: for (Iterator iter = colKeys.iterator(); iter.hasNext(); ) { Object oKey = iter.next(); evict(oKey); }

Parameters:
colKeys - a collection of keys to evict from the cache

evict

public void evict()
Deprecated. 
Evict all entries from the cache that are no longer valid, and potentially prune the cache size if the cache is size-limited and its size is above the caching low water mark.


getCacheStatistics

public CacheStatistics getCacheStatistics()
Deprecated. 
Returns the CacheStatistics for this cache.

Returns:
a CacheStatistics object

instantiateEntrySet

protected SafeHashMap.EntrySet instantiateEntrySet()
Deprecated. 
Factory pattern.

Overrides:
instantiateEntrySet in class SafeHashMap
Returns:
a new instance of the EntrySet class (or a subclass thereof)

instantiateKeySet

protected SafeHashMap.KeySet instantiateKeySet()
Deprecated. 
Factory pattern.

Overrides:
instantiateKeySet in class SafeHashMap
Returns:
a new instance of the KeySet class (or subclass thereof)

instantiateValuesCollection

protected SafeHashMap.ValuesCollection instantiateValuesCollection()
Deprecated. 
Factory pattern.

Overrides:
instantiateValuesCollection in class SafeHashMap
Returns:
a new instance of the ValuesCollection class (or subclass thereof)

toString

public java.lang.String toString()
Deprecated. 
For debugging purposes, format the contents of the cache as a String.

Overrides:
toString in class java.util.AbstractMap
Returns:
a String representation of the cache contents

getUnits

public int getUnits()
Deprecated. 
Determine the number of units that the cache currently stores.

Returns:
the current size of the cache in units

getHighUnits

public int getHighUnits()
Deprecated. 
Determine the limit of the cache size in units. The cache will prune itself automatically once it reaches its maximum unit level. This is often referred to as the "high water mark" of the cache.

Returns:
the limit of the cache size in units

setHighUnits

public void setHighUnits(int cMax)
Deprecated. 
Update the maximum size of the cache in units. This is often referred to as the "high water mark" of the cache.

Parameters:
cMax - the new maximum size of the cache, in units

getLowUnits

public int getLowUnits()
Deprecated. 
Determine the point to which the cache will shrink when it prunes. This is often referred to as a "low water mark" of the cache.

Returns:
the number of units that the cache prunes to

setLowUnits

public void setLowUnits(int cUnits)
Deprecated. 
Specify the point to which the cache will shrink when it prunes. This is often referred to as a "low water mark" of the cache.

Parameters:
cUnits - the number of units that the cache prunes to

getEvictionType

public int getEvictionType()
Deprecated. 
Determine the current eviction type.

Returns:
one of the EVICTION_POLICY_* enumerated values

setEvictionType

public void setEvictionType(int nType)
Deprecated. 
Specify the eviction type for the cache. The type can only be set to an external policy if an EvictionPolicy object has been provided.

Parameters:
nType - one of the EVICTION_POLICY_* enumerated values

getEvictionPolicy

public OldCache.EvictionPolicy getEvictionPolicy()
Deprecated. 
Determine the current external eviction policy, if any.

Returns:
the external eviction policy, if one has been provided

setEvictionPolicy

public void setEvictionPolicy(OldCache.EvictionPolicy policy)
Deprecated. 
Set the external eviction policy, and change the eviction type to EVICTION_POLICY_EXTERNAL. If null is passed, clear the external eviction policy, and use the default internal policy.

Parameters:
policy - an external eviction policy, or null to use the default policy

getUnitCalculatorType

public int getUnitCalculatorType()
Deprecated. 
Determine the current unit calculator type.

Returns:
one of the UNIT_CALCULATOR_* enumerated values

setUnitCalculatorType

public void setUnitCalculatorType(int nType)
Deprecated. 
Specify the unit calculator type for the cache. The type can only be set to an external unit calculator if a UnitCalculator object has been provided.

Parameters:
nType - one of the UNIT_CALCULATOR_* enumerated values

getUnitCalculator

public OldCache.UnitCalculator getUnitCalculator()
Deprecated. 
Determine the current external unit calculator, if any.

Returns:
the external unit calculator, if one has been provided

setUnitCalculator

public void setUnitCalculator(OldCache.UnitCalculator calculator)
Deprecated. 
Set the external unit calculator, and change the unit calculator type to UNIT_CALCULATOR_EXTERNAL. If null is passed, clear the external unit calculator, and use the default unit calculator.

Parameters:
calculator - an external unit calculator, or null to use the default unit calculator

getExpiryDelay

public int getExpiryDelay()
Deprecated. 
Determine the "time to live" for each individual cache entry.

Returns:
the number of milliseconds that a cache entry value will live, or zero if cache entries are never automatically expired

setExpiryDelay

public void setExpiryDelay(int cMillis)
Deprecated. 
Specify the "time to live" for cache entries. This does not affect the already-scheduled expiry of existing entries.

Parameters:
cMillis - the number of milliseconds that cache entries will live, or zero to disable automatic expiry

getFlushDelay

public int getFlushDelay()
Deprecated. 
Determine the delay between cache flushes.

Returns:
the number of milliseconds between cache flushes, or zero which signifies that the cache never flushes

setFlushDelay

public void setFlushDelay(int cMillis)
Deprecated. 
Specify the delay between cache flushes.

Parameters:
cMillis - the number of milliseconds between cache flushes, or zero to never flush

getFlushTime

public long getFlushTime()
Deprecated. 
Determine the date/time at which the next cache flush is scheduled. Note that the date/time may be Long.MAX_VALUE, which implies that a flush will never occur. Also note that the cache may internally adjust the flush time to prevent a flush from occurring during certain processing as a means to raise concurrency.

Returns:
the date/time value, in milliseconds, when the cache will next automatically flush

setFlushTime

public void setFlushTime(long lMillis)
Deprecated. 
Specify the date/time at which the next cache flush is to occur. Note that the date/time may be Long.MAX_VALUE, which implies that a flush will never occur. A time in the past or at the present will cause an immediate flush.

Parameters:
lMillis - the date/time value, in milliseconds, when the cache should next automatically flush

getCacheHits

public long getCacheHits()
Deprecated. 
Determine the rough number of cache hits since the cache statistics were last reset.

Returns:
the number of get(java.lang.Object) calls that have been served by existing cache entries

getCacheMisses

public long getCacheMisses()
Deprecated. 
Determine the rough number of cache misses since the cache statistics were last reset.

Returns:
the number of get(java.lang.Object) calls that failed to find an existing cache entry because the requested key was not in the cache

getHitProbability

public double getHitProbability()
Deprecated. 
Determine the rough probability (0 <= p <= 1) that any particular get(java.lang.Object) invocation will be satisfied by an existing entry in the cache, based on the statistics collected since the last reset of the cache statistics.

Returns:
the cache hit probability (0 <= p <= 1)

resetHitStatistics

public void resetHitStatistics()
Deprecated. 
Reset the cache statistics.


configureEviction

protected void configureEviction(int nType,
                                 OldCache.EvictionPolicy policy)
Deprecated. 
Configure the eviction type and policy.

Parameters:
nType - one of the EVICTION_POLICY_* enumerated values
policy - an external eviction policy, or null

configureUnitCalculator

protected void configureUnitCalculator(int nType,
                                       OldCache.UnitCalculator calculator)
Deprecated. 
Configure the unit calculator type and implementation.

Parameters:
nType - one of the UNIT_CALCULATOR_* enumerated values
calculator - an external unit calculator, or null

getEntryInternal

protected SafeHashMap.Entry getEntryInternal(java.lang.Object oKey)
Deprecated. 
Locate an Entry in the hash map based on its key. If the Entry has expired, it is removed from the hash map.

Unlike the getEntry(java.lang.Object) method, this method does not flush the cache (if necessary) or update cache statistics.

Overrides:
getEntryInternal in class SafeHashMap
Parameters:
oKey - the key object to search for
Returns:
the Entry or null if the entry is not found in the hash map or has expired

removeExpired

protected void removeExpired(OldCache.Entry entry,
                             boolean fRemoveInternal)
Deprecated. 
Remove an entry because it has expired.

Parameters:
entry - the expired cache entry
fRemoveInternal - true if the cache entry still needs to be removed from the cache

adjustUnits

protected void adjustUnits(int cDelta)
Deprecated. 
Adjust current size.


checkSize

protected void checkSize()
Deprecated. 
Check if the cache is too big, and if it is prune it by discarding the lowest priority cache entries.


prune

protected void prune()
Deprecated. 
Prune the cache by discarding the lowest priority cache entries.


checkFlush

protected void checkFlush()
Deprecated. 
Check if the cache is timed out, and clear if it is.


deferFlush

protected void deferFlush()
Deprecated. 
Defer the next flush by scheduling it for infinity and beyond.


scheduleFlush

protected void scheduleFlush()
Deprecated. 
Schedule the next flush.


instantiateMapEvent

protected MapEvent instantiateMapEvent(int nId,
                                       java.lang.Object oKey,
                                       java.lang.Object oValueOld,
                                       java.lang.Object oValueNew)
Deprecated. 
Factory pattern: instantiate a new MapEvent corresponding to the specified parameters.

Returns:
a new instance of the MapEvent class (or a subclass thereof)

getMapListenerSupport

protected MapListenerSupport getMapListenerSupport()
Deprecated. 
Accessor for the MapListenerSupport for sub-classes.

Returns:
the MapListenerSupport, or null if there are no listeners

hasListeners

protected boolean hasListeners()
Deprecated. 
Determine if the OverflowMap has any listeners at all.

Returns:
true iff this OverflowMap has at least one MapListener

dispatchEvent

protected void dispatchEvent(MapEvent evt)
Deprecated. 
Dispatch the passed event.

Parameters:
evt - a CacheEvent object

instantiateEntry

protected SafeHashMap.Entry instantiateEntry()
Deprecated. 
Factory method. This method exists to allow the OldCache class to be easily inherited from by allowing the Entry class to be easily sub-classed.

Overrides:
instantiateEntry in class SafeHashMap
Returns:
an instance of Entry that holds the passed cache value

CoherenceTM v3.4
Copyright© 2000-2008 by Oracle Corporation