org.infinispan.container.entries
Interface InternalCacheEntry

All Superinterfaces:
CacheEntry, Cloneable, Map.Entry<Object,Object>, Versioned
All Known Implementing Classes:
AbstractInternalCacheEntry, ImmortalCacheEntry, MortalCacheEntry, TransientCacheEntry, TransientMortalCacheEntry, VersionedImmortalCacheEntry, VersionedMortalCacheEntry, VersionedTransientCacheEntry, VersionedTransientMortalCacheEntry

public interface InternalCacheEntry
extends CacheEntry, Cloneable

Interface for internal cache entries that expose whether an entry has expired.

Since:
4.0
Author:
Manik Surtani, Sanne Grinovero

Method Summary
 boolean canExpire()
           
 InternalCacheEntry clone()
           
 long getCreated()
           
 long getExpiryTime()
          Only used with entries that have a lifespan, this determines when an entry is due to expire.
 long getLastUsed()
           
 boolean isExpired()
           
 boolean isExpired(long now)
           
 void reincarnate()
          "Reincarnates" an entry.
 void setLifespan(long lifespan)
          Sets the lifespan of the entry.
 void setMaxIdle(long maxIdle)
          Sets the maximum idle time of the entry.
 InternalCacheValue toInternalCacheValue()
          Creates a representation of this entry as an InternalCacheValue.
 void touch()
          Updates access timestamps on this instance
 void touch(long currentTimeMillis)
          Updates access timestamps on this instance to a specified time
 
Methods inherited from interface org.infinispan.container.entries.CacheEntry
commit, getKey, getLifespan, getMaxIdle, getValue, isChanged, isCreated, isEvicted, isLockPlaceholder, isNull, isRemoved, isValid, rollback, setCreated, setEvicted, setRemoved, setValid, setValue, undelete
 
Methods inherited from interface java.util.Map.Entry
equals, hashCode
 
Methods inherited from interface org.infinispan.container.entries.versioned.Versioned
getVersion, setVersion
 

Method Detail

isExpired

boolean isExpired(long now)
Parameters:
the - current time as defined by System.currentTimeMillis()
Returns:
true if the entry has expired; false otherwise
Since:
5.1

isExpired

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

canExpire

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

setMaxIdle

void setMaxIdle(long maxIdle)
Sets the maximum idle time of the entry.

Specified by:
setMaxIdle in interface CacheEntry
Parameters:
maxIdle - maxIdle to set

setLifespan

void setLifespan(long lifespan)
Sets the lifespan of the entry.

Specified by:
setLifespan in interface CacheEntry
Parameters:
lifespan - lifespan to set

getCreated

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

getLastUsed

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

getExpiryTime

long getExpiryTime()
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

void touch()
Updates access timestamps on this instance


touch

void touch(long currentTimeMillis)
Updates access timestamps on this instance to a specified time

Parameters:
currentTimeMillis -

reincarnate

void reincarnate()
"Reincarnates" an entry. Essentially, resets the 'created' timestamp of the entry to the current time.


toInternalCacheValue

InternalCacheValue toInternalCacheValue()
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.

clone

InternalCacheEntry clone()

-->

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