V - the type of the value stored by this AbstractCacheRecordpublic abstract class AbstractCacheRecord<V,E> extends Object implements CacheRecord<V,E>, IdentifiedDataSerializable
CacheRecord with key, value and
expiration time as internal state.
This implementation provides getter, setter and serialization methods.
| Modifier and Type | Field and Description |
|---|---|
protected int |
accessHit |
protected long |
accessTime |
protected long |
creationTime |
protected long |
expirationTime |
static Version |
EXPIRY_POLICY_VERSION
Represents when
ICache.setExpiryPolicy(Object, ExpiryPolicy) is added. |
TIME_NOT_AVAILABLE| Modifier | Constructor and Description |
|---|---|
protected |
AbstractCacheRecord() |
|
AbstractCacheRecord(long creationTime,
long expirationTime) |
| Modifier and Type | Method and Description |
|---|---|
int |
getAccessHit()
Gets the access hit count of this
Evictable. |
long |
getCreationTime()
Gets the creation time of this
Evictable in milliseconds. |
long |
getExpirationTime()
Gets the expiration time in milliseconds.
|
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
long |
getLastAccessTime()
Gets the latest access time difference of this
Evictable in milliseconds. |
void |
incrementAccessHit()
Increases the access hit count of this
Evictable as 1. |
boolean |
isExpiredAt(long now)
Checks whether the expiration time is passed with respect to the provided time.
|
void |
readData(ObjectDataInput in)
Reads fields from the input stream
|
void |
resetAccessHit()
Resets the access hit count of this
Evictable to 0. |
void |
setAccessHit(int accessHit)
Sets the access hit count of this
Evictable. |
void |
setAccessTime(long accessTime)
Sets the access time of this
Evictable in milliseconds. |
void |
setCreationTime(long creationTime)
Sets the creation time of this
Evictable in milliseconds. |
void |
setExpirationTime(long expirationTime)
Sets the expiration time in milliseconds.
|
void |
writeData(ObjectDataOutput out)
Writes object fields to output stream
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetExpiryPolicy, setExpiryPolicy, setValuegetIdpublic static final Version EXPIRY_POLICY_VERSION
ICache.setExpiryPolicy(Object, ExpiryPolicy) is added.
The constant is used in selective serialization of CacheRecords.protected long creationTime
protected volatile long expirationTime
protected volatile long accessTime
protected volatile int accessHit
protected AbstractCacheRecord()
public AbstractCacheRecord(long creationTime,
long expirationTime)
public long getExpirationTime()
ExpirablegetExpirationTime in interface ExpirableSystem.currentTimeMillis()public void setExpirationTime(long expirationTime)
ExpirablesetExpirationTime in interface ExpirableSystem.currentTimeMillis()public long getCreationTime()
EvictableEvictable in milliseconds.getCreationTime in interface Evictable<V>Evictable in millisecondspublic void setCreationTime(long creationTime)
CacheRecordEvictable in milliseconds.setCreationTime in interface CacheRecord<V,E>creationTime - the creation time for this Evictable in millisecondspublic long getLastAccessTime()
EvictableEvictable in milliseconds.getLastAccessTime in interface Evictable<V>Evictable in millisecondspublic void setAccessTime(long accessTime)
CacheRecordEvictable in milliseconds.setAccessTime in interface CacheRecord<V,E>accessTime - the latest access time of this Evictable in millisecondspublic int getAccessHit()
EvictableEvictable.getAccessHit in interface Evictable<V>Evictablepublic void setAccessHit(int accessHit)
CacheRecordEvictable.setAccessHit in interface CacheRecord<V,E>accessHit - the access hit count for this Evictablepublic void incrementAccessHit()
CacheRecordEvictable as 1.incrementAccessHit in interface CacheRecord<V,E>public void resetAccessHit()
CacheRecordEvictable to 0.resetAccessHit in interface CacheRecord<V,E>public boolean isExpiredAt(long now)
ExpirableReturns true if and only if now > getExpirationTime()
isExpiredAt in interface Expirablenow - time in milliseconds.public void writeData(ObjectDataOutput out) throws IOException
DataSerializablewriteData in interface DataSerializableout - outputIOException - if an I/O error occurs. In particular,
an IOException may be thrown if the
output stream has been closed.public void readData(ObjectDataInput in) throws IOException
DataSerializablereadData in interface DataSerializablein - inputIOException - if an I/O error occurs. In particular,
an IOException may be thrown if the
input stream has been closed.public int getFactoryId()
IdentifiedDataSerializablegetFactoryId in interface IdentifiedDataSerializableCopyright © 2020 Hazelcast, Inc.. All Rights Reserved.