IBM WebSphere Application ServerTM
Release 7

com.ibm.websphere.cache
Interface CacheEntry


public interface CacheEntry

A CacheEntry is a struct object that holds the cache ID and value, as well as metadata for caching. The information in these variables is obtained from the EntryInfo object used when the entry was cached.


Field Summary
static int CACHE_TYPE_DEFAULT
          Default type of a cache entry.
static int CACHE_TYPE_JAXRPC
          This type of cache entry is is used internally by Dynamic Cache for when caching webservices.
 
Method Summary
 boolean equals(java.lang.Object object)
          the default equals method.
 void finish()
          Call the finish() method when you no longer need this CacheEntry.
 java.util.Enumeration getAliasList()
          Returns the alias list.
 int getCacheType()
          Returns the type of CacheEntry (CACHE_TYPE_DEFAULT or CACHE_TYPE_JAXRPC) ALL implementors of this method other than Dynacache should return CACHE_TYPE_DEFAULT for this method.
 long getCacheValueSize()
          Returns the best-effort size of the cache entry's value.
 long getCreationTime()
          Returns the time of the entry was first created.
 java.util.Enumeration getDataIds()
          Returns all IDs (cache IDs and data IDs) that this entry depends on for invalidation.
 byte[] getDisplayValue()
          Returns the entry's value in a displayable format.
 long getExpirationTime()
          Returns the absolute time when the entry should expire.
 java.lang.String getExternalCacheGroupId()
          Returns the ExternalCacheGroup name this the cache entry belongs too.
 java.lang.String getId()
          Returns the unique identifier of this cached entry.
 java.lang.Object getIdObject()
          This method gets the unique identifier of this cached entry.
 int getPriority()
          Returns the priority of this cache entry, which determines how long the entry will stay in cache when it is not being used.
 int getSharingPolicy()
          Returns the sharing policy of this entry.
 java.util.Enumeration getTemplates()
          Returns all templates that this entry depends on for invalidation.
 int getTimeLimit()
          Returns the maximum interval of time in seconds that the entry is allowed to stay in the cache.
 long getTimeStamp()
          Returns the creation time of this entry.
 java.lang.Object getUserMetaData()
          Returns the user metadata.
 long getValidatorExpirationTime()
          Returns the validator expiration time of the entry in the cache The validator expiration time along with the expiration time control the state of the entry in the cache.
 java.lang.Object getValue()
          Returns the entry's value.
 int hashCode()
          the default hashcode method of the cache entry.
 boolean isBatchEnabled()
          Deprecated. The updates for Push or Push-Pull sharing policies are always done in an asynchronous batch mode. It always returns true.
 boolean isInvalid()
          Is this entry an invalid entry?
 boolean prepareForSerialization()
          This method will be called before serialization of the CacheEntry.
 void refreshEntry()
          This mimics a cache Hit, refreshing an entries spot in the replacement algorithm.
 java.lang.String toString()
          default implementation of CacheEntry
 

Field Detail

CACHE_TYPE_DEFAULT

static final int CACHE_TYPE_DEFAULT
Default type of a cache entry. All cache provider entries are of this type.

See Also:
Constant Field Values

CACHE_TYPE_JAXRPC

static final int CACHE_TYPE_JAXRPC
This type of cache entry is is used internally by Dynamic Cache for when caching webservices. Not to be used by cache providers.

See Also:
Constant Field Values
Method Detail

getTemplates

java.util.Enumeration getTemplates()
Returns all templates that this entry depends on for invalidation. For a JSP/servlet, a template is the URI for this entry.

Returns:
An Enumeration of the templates.

getDataIds

java.util.Enumeration getDataIds()
Returns all IDs (cache IDs and data IDs) that this entry depends on for invalidation. Its elements are Strings. They are the identifiers used in the invalidateById methods to invalidate all cache entries having a dependency on these IDs. Data IDs must be unique within the same scope as cache IDs.

Returns:
An Enumeration of the IDs.

getTimeStamp

long getTimeStamp()
Returns the creation time of this entry.

Returns:
The creation timestamp.

equals

boolean equals(java.lang.Object object)
the default equals method. It compares cache IDs.

Overrides:
equals in class java.lang.Object
Returns:
True if they are equal.

hashCode

int hashCode()
the default hashcode method of the cache entry.

Overrides:
hashCode in class java.lang.Object
Returns:
The hashCode of the cache ID.

getTimeLimit

int getTimeLimit()
Returns the maximum interval of time in seconds that the entry is allowed to stay in the cache. The entry may be discarded via LRU replacement prior to this time. A negative value indicates no time limit.

Returns:
The time limit.

getExpirationTime

long getExpirationTime()
Returns the absolute time when the entry should expire. The entry may be discarded via LRU replacement prior to this time. A negative value indicates no expiration time.

Returns:
The expiration time.

getPriority

int getPriority()
Returns the priority of this cache entry, which determines how long the entry will stay in cache when it is not being used. A larger priority gives an entry a longer time in the cache. The value of priority should be based on the ratio of the cost of computing the entry to the cost of the memory in the cache (the size of the entry). The default is 1.

Returns:
This entry's priority.

getSharingPolicy

int getSharingPolicy()
Returns the sharing policy of this entry. In a multi-JVM environment, this indicates whether the cache entry should be EntryInfo.NOT_SHARED, EntryInfo.SHARED_PUSH_PULL or EntryInfo.SHARED_PUSH. The default is NOT_SHARED.

Returns:
The sharing policy.

isBatchEnabled

boolean isBatchEnabled()
Deprecated. The updates for Push or Push-Pull sharing policies are always done in an asynchronous batch mode. It always returns true.

In a multi-JVM environment, this indicates whether updates to the cache entry (when using EntryInfo.SHARED_PUSH) will be written out immediately or in a batched, asynchronous fashion.

Returns:
True if batch is enabled, false otherwise.

getId

java.lang.String getId()
Returns the unique identifier of this cached entry. It must be unique within the scope of the group of Cache instances. Having this in the CacheEntry allows an entry obtained via the LRU array to know how to find it in the entryHashtable.

Returns:
The String ID of this CacheEntry.

getValue

java.lang.Object getValue()
Returns the entry's value.

Returns:
The enrty's value.

getDisplayValue

byte[] getDisplayValue()
Returns the entry's value in a displayable format.

Returns:
The entry's value.

refreshEntry

void refreshEntry()
This mimics a cache Hit, refreshing an entries spot in the replacement algorithm.


getAliasList

java.util.Enumeration getAliasList()
Returns the alias list.

Returns:
The alias list.

getUserMetaData

java.lang.Object getUserMetaData()
Returns the user metadata.

Returns:
The user metadata.

finish

void finish()
Call the finish() method when you no longer need this CacheEntry. This will allow any NIO buffers to be released when the CacheEntry is removed from cache.


getCacheValueSize

long getCacheValueSize()
Returns the best-effort size of the cache entry's value.

Returns:
The best-effort determination of the size of the cache entry's value. If the size cannot be determined, the return value is -1;

isInvalid

boolean isInvalid()
Is this entry an invalid entry? An invalid entry is like a zombie i.e. the entry's age is beyond its validator expiration time and before its real expiration time. Returns false if the validator expiration time was not set on the CacheEntry. Returns true if the validator expiration time < current time < real expiration time.

Returns:
boolean to indicate the entry invalid or not.

getCreationTime

long getCreationTime()
Returns the time of the entry was first created.


getIdObject

java.lang.Object getIdObject()
This method gets the unique identifier of this cached entry. It must be unique within the scope of a Cache Instance

Returns:
The Object representation of the ID of this Cache Entry.

getCacheType

int getCacheType()
Returns the type of CacheEntry (CACHE_TYPE_DEFAULT or CACHE_TYPE_JAXRPC) ALL implementors of this method other than Dynacache should return CACHE_TYPE_DEFAULT for this method.

Returns:
cache type

getValidatorExpirationTime

long getValidatorExpirationTime()
Returns the validator expiration time of the entry in the cache The validator expiration time along with the expiration time control the state of the entry in the cache.

Returns:
long the current validator expiration time in milliseconds

prepareForSerialization

boolean prepareForSerialization()
This method will be called before serialization of the CacheEntry. The implementor of this method returns a boolean if this CacheEntry for some reason cannot be serialized

Returns:
true - The value was serialized false - The value can not be serialized.

toString

java.lang.String toString()
default implementation of CacheEntry

Overrides:
toString in class java.lang.Object
Returns:
The string representation of the cache entry.

getExternalCacheGroupId

java.lang.String getExternalCacheGroupId()
Returns the ExternalCacheGroup name this the cache entry belongs too.

Returns:
null of this cache entry is not cached externally

IBM WebSphere Application ServerTM
Release 7