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.


Method Summary
 boolean equals(java.lang.Object object)
          This overrides the method in Object.
 java.util.Enumeration getDataIds()
          This gets all ids (cache ids and data ids) that this entry depends on for invalidation.
 byte[] getDisplayValue()
          This gets the entry's value in a displayable format.
 long getExpirationTime()
          This gets the absolute time when the entry should expire.
 java.lang.String getId()
          This gets the unique identifier of this cached entry.
 int getPriority()
          This gets the priority of this cache entry, which determines how long the entry will stay in cache when it is not being used.
 int getSharingPolicy()
          This gets the sharing policy of this entry.
 java.util.Enumeration getTemplates()
          This gets all templates that this entry depends on for invalidation.
 int getTimeLimit()
          This gets the maximum interval of time in seconds that the entry is allowed to stay in the cache.
 long getTimeStamp()
          This implements the method in the InvalidationEvent interface.
 java.lang.Object getValue()
          This gets the entry's value.
 int hashCode()
          This overrides the method in Object.
 boolean isBatchEnabled()
          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.
 void refreshEntry()
          This mimics a cache Hit, refreshing an entries spot in the replacement algorithm.
 

Method Detail

getTemplates

public java.util.Enumeration getTemplates()
This gets all templates that this entry depends on for invalidation. For a JSP/servlet, a template is the URI for this entry.
  • For a top-level entry (eg, a JSP/Servlet that is externally requested), this is obtained from the HTTP request object's URL. It can be set either by the server or by the top-level JSP/Servlet.
  • For a contained entry, this is the JSP/Servlet" file name URL (the parameter that would be used in the callPage method). It can be set either by the JSP/Servlet it names or its containing JSP/Servlet, plus other information from the request object.

Returns:
An Enumeration of the templates.

getDataIds

public java.util.Enumeration getDataIds()
This gets 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

public long getTimeStamp()
This implements the method in the InvalidationEvent interface.

Returns:
The creation timestamp.

equals

public boolean equals(java.lang.Object object)
This overrides the method in Object. It compares cache ids.

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

hashCode

public int hashCode()
This overrides the method in Object. It returns the hashCode of the cache id.

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

getTimeLimit

public int getTimeLimit()
This gets 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

public long getExpirationTime()
This gets 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

public int getPriority()
This gets 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

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

Returns:
The sharing policy.

isBatchEnabled

public boolean isBatchEnabled()
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

public java.lang.String getId()
This gets 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 Cache Entry.

getValue

public java.lang.Object getValue()
This gets the entry's value.

Returns:
The enrty's value.

getDisplayValue

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

Returns:
The entry's value.

refreshEntry

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

Returns:
The creation timestamp.


 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.