org.infinispan.container.entries
Class TransientCacheEntry

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

public class TransientCacheEntry
extends AbstractInternalCacheEntry

A cache entry that is transient, i.e., it can be considered expired after a period of not being used.

Since:
4.0
Author:
Manik Surtani

Nested Class Summary
static class TransientCacheEntry.Externalizer
           
 
Method Summary
 boolean canExpire()
           
 TransientCacheEntry 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.
 void setMaxIdle(long maxIdle)
          Sets the maximum idle time of the 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, setRemoved, setValid
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

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

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.


canExpire

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

isExpired

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

setMaxIdle

public void setMaxIdle(long maxIdle)
Description copied from interface: InternalCacheEntry
Sets the maximum idle time of the entry.

Specified by:
setMaxIdle in interface CacheEntry
Specified by:
setMaxIdle in interface InternalCacheEntry
Overrides:
setMaxIdle in class AbstractInternalCacheEntry
Parameters:
maxIdle - maxIdle to set

getCreated

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

getLastUsed

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

getLifespan

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

getExpiryTime

public 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

getMaxIdle

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

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.

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 TransientCacheEntry 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.