org.infinispan.container.entries
Class ImmortalCacheEntry

java.lang.Object
  extended by org.infinispan.container.entries.AbstractInternalCacheEntry
      extended by org.infinispan.container.entries.ImmortalCacheEntry
All Implemented Interfaces:
Cloneable, Map.Entry<Object,Object>, CacheEntry, InternalCacheEntry

public class ImmortalCacheEntry
extends AbstractInternalCacheEntry

A cache entry that is immortal/cannot expire

Since:
4.0
Author:
Manik Surtani

Nested Class Summary
static class ImmortalCacheEntry.Externalizer
           
 
Method Summary
 boolean canExpire()
           
 ImmortalCacheEntry clone()
           
 boolean equals(Object o)
           
 long getCreated()
           
 long getExpiryTime()
          Only used with entries that have a lifespan, this determines when an entry is due to expire.
 long getLastUsed()
           
 long getLifespan()
           
 long getMaxIdle()
           
 Object getValue()
          Retrieves the value of this entry
 int hashCode()
           
 boolean isExpired()
           
 void reincarnate()
          "Reincarnates" an entry.
 Object setValue(Object value)
          Sets the value of the entry, returing the previous value
 InternalCacheValue toInternalCacheValue()
          Creates a representation of this entry as an InternalCacheValue.
 String toString()
           
 void touch()
          Updates access timestamps on this instance
 
Methods inherited from class org.infinispan.container.entries.AbstractInternalCacheEntry
commit, getKey, isChanged, isCreated, isNull, isRemoved, isValid, rollback, setCreated, setLifespan, setMaxIdle, setRemoved, setValid
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

isExpired

public final boolean isExpired()
Returns:
true if the entry has expired; false otherwise

canExpire

public final boolean canExpire()
Returns:
true if the entry can expire, false otherwise

getCreated

public final long getCreated()
Returns:
timestamp when the entry was created

getLastUsed

public final long getLastUsed()
Returns:
timestamp when the entry was last used

getLifespan

public final long getLifespan()
Returns:
retrieves the lifespan of this entry. -1 means an unlimited lifespan.

getMaxIdle

public final long getMaxIdle()
Returns:
the maximum allowed time for which this entry can be idle, after which it is considered expired.

getExpiryTime

public final long getExpiryTime()
Description copied from interface: InternalCacheEntry
Only used with entries that have a lifespan, this determines when an entry is due to expire.

Returns:
timestamp when the entry is due to expire, or -1 if it doesn't have a lifespan

touch

public final void touch()
Description copied from interface: InternalCacheEntry
Updates access timestamps on this instance


reincarnate

public final void reincarnate()
Description copied from interface: InternalCacheEntry
"Reincarnates" an entry. Essentially, resets the 'created' timestamp of the entry to the current time.


toInternalCacheValue

public InternalCacheValue toInternalCacheValue()
Description copied from interface: InternalCacheEntry
Creates a representation of this entry as an InternalCacheValue. The main purpose of this is to provide a representation that does not have a reference to the key. This is useful in situations where the key is already known or stored elsewhere, making serialization and deserialization more efficient.

Note that this should not be used to optimize memory overhead, since the saving of an additional reference to a key (a single object reference) does not warrant the cost of constructing an InternalCacheValue. This only makes sense when marshalling is involved, since the cost of marshalling the key again can be sidestepped using an InternalCacheValue if the key is already known/marshalled.

Returns:
a new InternalCacheValue encapsulating this InternalCacheEntry's value and expiration information.

getValue

public Object getValue()
Description copied from interface: CacheEntry
Retrieves the value of this entry

Returns:
the value of the entry

setValue

public Object setValue(Object value)
Description copied from interface: CacheEntry
Sets the value of the entry, returing the previous value

Parameters:
value - value to set
Returns:
previous value

equals

public boolean equals(Object o)
Specified by:
equals in interface Map.Entry<Object,Object>
Overrides:
equals in class Object

hashCode

public int hashCode()
Specified by:
hashCode in interface Map.Entry<Object,Object>
Overrides:
hashCode in class Object

clone

public ImmortalCacheEntry clone()
Specified by:
clone in interface InternalCacheEntry
Overrides:
clone in class AbstractInternalCacheEntry

toString

public String toString()
Overrides:
toString in class AbstractInternalCacheEntry

Google Analytics

Copyright © 2010 JBoss, a division of Red Hat. All Rights Reserved.