EclipseLink1.0 - 20080707 API Reference

org.eclipse.persistence.descriptors.invalidation
Class CacheInvalidationPolicy

java.lang.Object
  extended by org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
DailyCacheInvalidationPolicy, NoExpiryCacheInvalidationPolicy, TimeToLiveCacheInvalidationPolicy

public abstract class CacheInvalidationPolicy
extends java.lang.Object
implements java.io.Serializable

PUBLIC: A CacheInvalidationPolicy is used to set objects in TopLink's identity maps to be invalid following given rules. CacheInvalidationPolicy is the abstract superclass for all policies used for cache invalidation. By default in EclipseLink, objects do not expire in the cache. Several different policies are available to allow objects to expire. These can be set on the ClassDescriptor.

See Also:
ClassDescriptor, org.eclipse.persistence.descriptors.cacheinvalidation.NoExpiryCacheInvalidationPolicy, org.eclipse.persistence.descriptors.cacheinvalidation.DailyCacheInvalidationPolicy, org.eclipse.persistence.descriptors.cacheinvalidation.TimeToLiveCacheInvalidationPolicy, Serialized Form

Field Summary
static long NO_EXPIRY
           
protected  boolean shouldRefreshInvalidObjectsInUnitOfWork
          Determines if expired object registered in the unit of work should be refreshed, default true.
protected  boolean shouldUpdateReadTimeOnUpdate
          this will represent objects that do not expire
 
Constructor Summary
CacheInvalidationPolicy()
           
 
Method Summary
abstract  long getExpiryTimeInMillis(org.eclipse.persistence.internal.identitymaps.CacheKey key)
          INTERNAL: Get the next time when this object will become invalid
 long getRemainingValidTime(org.eclipse.persistence.internal.identitymaps.CacheKey key)
          INTERNAL: Return the remaining life of this object
 boolean isInvalidated(org.eclipse.persistence.internal.identitymaps.CacheKey key)
          INTERNAL: return true if this object is expire, false otherwise.
abstract  boolean isInvalidated(org.eclipse.persistence.internal.identitymaps.CacheKey key, long currentTimeMillis)
          INTERNAL: return true if this object is expire, false otherwise.
 void setShouldRefreshInvalidObjectsInUnitOfWork(boolean shouldRefreshInvalidObjectsInUnitOfWork)
          PUBLIC: Set if expired object registered in the unit of work should be refreshed, default is true.
 void setShouldUpdateReadTimeOnUpdate(boolean shouldUpdateReadTime)
          PUBLIC: Set whether to update the stored time an object was read when an object is updated.
 boolean shouldRefreshInvalidObjectsInUnitOfWork()
          PUBLIC: Return if expired object registered in the unit of work should be refreshed.
 boolean shouldUpdateReadTimeOnUpdate()
          PUBLIC: Return whether objects affected by this CacheInvalidationPolicy should have the read time on their cache keys updated when an update occurs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_EXPIRY

public static final long NO_EXPIRY
See Also:
Constant Field Values

shouldUpdateReadTimeOnUpdate

protected boolean shouldUpdateReadTimeOnUpdate
this will represent objects that do not expire


shouldRefreshInvalidObjectsInUnitOfWork

protected boolean shouldRefreshInvalidObjectsInUnitOfWork
Determines if expired object registered in the unit of work should be refreshed, default true.

Constructor Detail

CacheInvalidationPolicy

public CacheInvalidationPolicy()
Method Detail

getExpiryTimeInMillis

public abstract long getExpiryTimeInMillis(org.eclipse.persistence.internal.identitymaps.CacheKey key)
INTERNAL: Get the next time when this object will become invalid


getRemainingValidTime

public long getRemainingValidTime(org.eclipse.persistence.internal.identitymaps.CacheKey key)
INTERNAL: Return the remaining life of this object


isInvalidated

public boolean isInvalidated(org.eclipse.persistence.internal.identitymaps.CacheKey key)
INTERNAL: return true if this object is expire, false otherwise.


isInvalidated

public abstract boolean isInvalidated(org.eclipse.persistence.internal.identitymaps.CacheKey key,
                                      long currentTimeMillis)
INTERNAL: return true if this object is expire, false otherwise.


setShouldUpdateReadTimeOnUpdate

public void setShouldUpdateReadTimeOnUpdate(boolean shouldUpdateReadTime)
PUBLIC: Set whether to update the stored time an object was read when an object is updated. When the read time is updated, it indicates to EclipseLink that the data in the object is up to date. This means that cache invalidation checks will occur relative to the new read time. By default, the read time will not be updated when an object is updated. Often it is possible to be confident that the object is up to date after an update because otherwise the update will fail because of the locking policies in use.


shouldUpdateReadTimeOnUpdate

public boolean shouldUpdateReadTimeOnUpdate()
PUBLIC: Return whether objects affected by this CacheInvalidationPolicy should have the read time on their cache keys updated when an update occurs.


setShouldRefreshInvalidObjectsInUnitOfWork

public void setShouldRefreshInvalidObjectsInUnitOfWork(boolean shouldRefreshInvalidObjectsInUnitOfWork)
PUBLIC: Set if expired object registered in the unit of work should be refreshed, default is true.


shouldRefreshInvalidObjectsInUnitOfWork

public boolean shouldRefreshInvalidObjectsInUnitOfWork()
PUBLIC: Return if expired object registered in the unit of work should be refreshed.


EclipseLink1.0 - 20080707 API Reference