1 21 package oracle.toplink.essentials.descriptors.invalidation; 23 24 import oracle.toplink.essentials.internal.identitymaps.CacheKey; 25 26 38 public abstract class CacheInvalidationPolicy implements java.io.Serializable { 39 public static final long NO_EXPIRY = -1; 40 41 42 protected boolean shouldUpdateReadTimeOnUpdate = false; 43 44 48 public abstract long getExpiryTimeInMillis(CacheKey key); 49 50 54 public long getRemainingValidTime(CacheKey key) { 55 long expiryTime = getExpiryTimeInMillis(key); 56 long remainingTime = expiryTime - System.currentTimeMillis(); 57 if (remainingTime > 0) { 58 return remainingTime; 59 } 60 return 0; 61 } 62 63 67 public abstract boolean isInvalidated(CacheKey key, long currentTimeMillis); 68 69 79 public void setShouldUpdateReadTimeOnUpdate(boolean shouldUpdateReadTime) { 80 shouldUpdateReadTimeOnUpdate = shouldUpdateReadTime; 81 } 82 83 88 public boolean shouldUpdateReadTimeOnUpdate() { 89 return shouldUpdateReadTimeOnUpdate; 90 } 91 } 92 | Popular Tags |