public static class Caches.HardRef extends Caches.LRU
EngineWrapper.CloseOnJVMShutdown, EngineWrapper.ImmutabilityCheckEngine, EngineWrapper.ReadOnlyEngine, EngineWrapper.SerializerCheckEngineWrapper, EngineWrapper.SynchronizedEngineWrapper| Modifier and Type | Field and Description |
|---|---|
(package private) static int |
CHECK_EVERY_N |
(package private) int |
counter |
cache, locksCLOSEDCATALOG_RECID, CHECK_RECORD, CLASS_INFO_RECID, LAST_RESERVED_RECID| Constructor and Description |
|---|
HardRef(Engine engine,
int initialCapacity,
boolean disableLocks) |
| Modifier and Type | Method and Description |
|---|---|
private void |
checkFreeMem() |
<A> boolean |
compareAndSwap(long recid,
A expectedOldValue,
A newValue,
Serializer<A> serializer)
Updates existing record in atomic (Compare And Swap) manner.
|
<A> void |
delete(long recid,
Serializer<A> serializer)
Remove existing record from store/cache
Recid must be a number returned by 'put' method.
|
<A> A |
get(long recid,
Serializer<A> serializer)
Get existing record.
|
<A> void |
update(long recid,
A value,
Serializer<A> serializer)
Update existing record with new value.
|
clearCache, close, put, rollbackcanRollback, canSnapshot, checkClosed, closeListenerRegister, closeListenerUnregister, commit, compact, getSerializerPojo, getWrappedEngine, isClosed, isReadOnly, preallocate, preallocate, snapshotstatic final int CHECK_EVERY_N
int counter
public HardRef(Engine engine, int initialCapacity, boolean disableLocks)
public <A> A get(long recid,
Serializer<A> serializer)
Engineget in interface Engineget in class Caches.LRUrecid - (record identifier) under which record was persistedserializer - used to deserialize record from binary formprivate void checkFreeMem()
public <A> void update(long recid,
A value,
Serializer<A> serializer)
Engineupdate in interface Engineupdate in class Caches.LRUrecid - (record identifier) under which record was persisted.value - new record value to be storedserializer - used to serialize record into binary formpublic <A> void delete(long recid,
Serializer<A> serializer)
Enginedelete in interface Enginedelete in class Caches.LRUrecid - (record identifier) under which was record persistedserializer - which may be used in some circumstances to deserialize and store old objectpublic <A> boolean compareAndSwap(long recid,
A expectedOldValue,
A newValue,
Serializer<A> serializer)
EngineoldValue==expectedOldValue when old value is found in instance cacheoldValue using serializer and checking oldValue.equals(expectedOldValue)expectedOldValue using serializer and comparing binary array with already serialized oldValue
compareAndSwap in interface EnginecompareAndSwap in class Caches.LRUrecid - (record identifier) under which record was persisted.expectedOldValue - old value to be compared with existing recordnewValue - to be written if values are matchingserializer - used to serialize record into binary form