Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.1.0 E18814-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.net.cache
Class OldCache.Entry

`java.lang.Object
com.tangosol.util.Base
com.tangosol.util.SafeHashMap.Entry
com.tangosol.net.cache.OldCache.Entry`

All Implemented Interfaces:
  ConfigurableCacheMap.Entry, java.io.Serializable, java.lang.Cloneable, java.util.Map.Entry

Direct Known Subclasses:
  LocalCache.Entry

Enclosing class:
  OldCache

      public class OldCache.Entry

extends SafeHashMap.Entry
implements ConfigurableCacheMap.Entry

A holder for a cached value.

Author:
  cp 2001.04.19

Field Summary

Fields inherited from class com.tangosol.util.SafeHashMap.Entry
`m_eNext, m_nHash, m_oKey, m_oValue`

Constructor Summary
`OldCache.Entry()` Construct the cacheable entry that holds the cached value.

Method Summary
`protected int` | `calculateUnits(java.lang.Object oValue)` Calculate a cache cost for the specified object.
`protected void` | `copyFrom(SafeHashMap.Entry entry)` Copy this Entry's information from another Entry.
`protected void` | `discard()` Called to inform the Entry that it is no longer used.
`long` | `getCreatedMillis()` Determine when the cache entry was created.
`long` | `getExpiryMillis()` Determine when the cache entry will expire, if ever.
`long` | `getLastTouchMillis()` Determine when the cache entry was last touched.
`int` | `getPriority()` Calculate a cache priority.
`int` | `getTouchCount()` Determine the number of times that the cache entry has been touched.
`int` | `getUnits()` Determine the number of cache units used by this Entry.
`protected boolean` | `isDiscarded()` Determine if this entry has already been discarded from the cache.
`protected boolean` | `isEvictable()` Determine if this entry has been marked as being evictable.
`boolean` | `isExpired()` Determine if the cache entry has expired.
`protected void` | `onAdd()` This method is invoked when the containing Map has actually added this Entry to itself.
`protected void` | `registerExpiry(long lMillis)` Register (or unregister or replace the registration of) this entry for expiry.
`protected void` | `resetTouchCount()` Reset the number of times that the cache entry has been touched.
`protected void` | `scheduleExpiry()` Reschedule the cache entry expiration.
`protected void` | `setEvictable(boolean fEvict)` Specify that this entry is evictable or not.
`void` | `setExpiryMillis(long lMillis)` Specify when the cache entry will expire, or disable expiry.
`void` | `setUnits(int cUnits)` Specify the number of cache units used by this Entry.
`java.lang.Object` | `setValue(java.lang.Object oValue)` Update the cached value.
`java.lang.String` | `toString()` Render the cache entry as a String.
`void` | `touch()` Called each time the entry is accessed or modified.

Methods inherited from class com.tangosol.util.SafeHashMap.Entry
`clone, equals, getKey, getValue, hashCode`

Methods inherited from interface java.util.Map.Entry
`equals, getKey, getValue, hashCode`

Constructor Detail

### OldCache.Entry

    public OldCache.Entry()

  Construct the cacheable entry that holds the cached value.

Method Detail

### onAdd

    protected void onAdd()

  This method is invoked when the containing Map has actually added this Entry to itself.
  Overrides:
    `onAdd` in class `SafeHashMap.Entry`

### setValue

    public java.lang.Object setValue(java.lang.Object oValue)

  Update the cached value.
  Specified by:
    `setValue` in interface `java.util.Map.Entry`
  Overrides:
    `setValue` in class `SafeHashMap.Entry`
  Parameters:
    `oValue` - the new value to cache
  Returns:
    the old cache value

### copyFrom

    protected void copyFrom(SafeHashMap.Entry entry)

  Copy this Entry's information from another Entry. Sub-classes must implement this method if they add any additional fields.
  Overrides:
    `copyFrom` in class `SafeHashMap.Entry`
  Parameters:
    `entry` - the entry to copy from

### getPriority

    public int getPriority()

  Calculate a cache priority.
  Returns:
    a value between 0 and 10, 0 being the highest priority

### getCreatedMillis

    public long getCreatedMillis()

  Determine when the cache entry was created.
  Returns:
    the date/time value, in millis, when the entry was created

### touch

    public void touch()

  Called each time the entry is accessed or modified.
  Specified by:
    `touch` in interface `ConfigurableCacheMap.Entry`

### getLastTouchMillis

    public long getLastTouchMillis()

  Determine when the cache entry was last touched.
  Specified by:
    `getLastTouchMillis` in interface `ConfigurableCacheMap.Entry`
  Returns:
    the date/time value, in millis, when the entry was most recently touched

### getTouchCount

    public int getTouchCount()

  Determine the number of times that the cache entry has been touched.
  Specified by:
    `getTouchCount` in interface `ConfigurableCacheMap.Entry`
  Returns:
    the number of times that the cache entry has been touched

### resetTouchCount

    protected void resetTouchCount()

  Reset the number of times that the cache entry has been touched. The touch count does not get reset to zero, but rather to a fraction of its former self; this prevents long lived items from gaining an unasailable advantage in the eviction process.
  Since:
    Coherence 3.5

### getExpiryMillis

    public long getExpiryMillis()

  Determine when the cache entry will expire, if ever.
  Specified by:
    `getExpiryMillis` in interface `ConfigurableCacheMap.Entry`
  Returns:
    the date/time value, in millis, when the entry will (or did) expire; zero indicates no expiry

### setExpiryMillis

    public void setExpiryMillis(long lMillis)

  Specify when the cache entry will expire, or disable expiry. Note that if the cache is configured for automatic expiry, each subsequent update to this cache entry will reschedule the expiry time.
  Specified by:
    `setExpiryMillis` in interface `ConfigurableCacheMap.Entry`
  Parameters:
    `lMillis` - pass the date/time value, in millis, for when the entry will expire, or pass zero to disable automatic expiry

### registerExpiry

    protected void registerExpiry(long lMillis)

  Register (or unregister or replace the registration of) this entry for expiry.
  Parameters:
    `lMillis` - the date/time value for when the entry will expire; 0 is passed to indicate that the entry needs to be removed from the items queued for expiry

### isExpired

    public boolean isExpired()

  Determine if the cache entry has expired.
  Returns:
    true if the cache entry was subject to automatic expiry and the current time is greater than the entry's expiry time

### scheduleExpiry

    protected void scheduleExpiry()

  Reschedule the cache entry expiration.

### discard

    protected void discard()

  Called to inform the Entry that it is no longer used.

### isDiscarded

    protected boolean isDiscarded()

  Determine if this entry has already been discarded from the cache.
  Returns:
    true if this entry has been discarded

### calculateUnits

    protected int calculateUnits(java.lang.Object oValue)

  Calculate a cache cost for the specified object. The default implementation uses the unit calculator type of the containing cache.
  Parameters:
    `oValue` - the cache value to evaluate for unit cost
  Returns:
    an integer value 0 or greater, with a larger value signifying a higher cost

### getUnits

    public int getUnits()

  Determine the number of cache units used by this Entry.
  Specified by:
    `getUnits` in interface `ConfigurableCacheMap.Entry`
  Returns:
    an integer value 0 or greater, with a larger value signifying a higher cost; -1 implies that the Entry has been discarded

### setUnits

    public void setUnits(int cUnits)

  Specify the number of cache units used by this Entry.
  Specified by:
    `setUnits` in interface `ConfigurableCacheMap.Entry`
  Parameters:
    `cUnits` - an integer value 0 or greater, with a larger value signifying a higher cost

### isEvictable

    protected boolean isEvictable()

  Determine if this entry has been marked as being evictable.
  Returns:
    true if this entry is evictable
  Since:
    Coherence 3.5

### setEvictable

    protected void setEvictable(boolean fEvict)

  Specify that this entry is evictable or not.
  Parameters:
    `fEvict` - true to specify that this entry is evictable, such as when it is selected for deferred eviction, and false to specify that it is no longer evictable
  Since:
    Coherence 3.5

### toString

    public java.lang.String toString()

  Render the cache entry as a String.
  Overrides:
    `toString` in class `SafeHashMap.Entry`
  Returns:
    the details about this Entry

Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.1.0 E18814-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.