public static class Caches.HardRef extends Caches.LRU
EngineWrapper.CloseOnJVMShutdown, EngineWrapper.ImmutabilityCheckEngine, EngineWrapper.ReadOnlyEngine, EngineWrapper.SerializerCheckEngineWrapper, EngineWrapper.SynchronizedEngineWrapper
cache, locks
CLOSED
CATALOG_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 |
---|---|
<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, rollback
canRollback, canSnapshot, checkClosed, closeListenerRegister, closeListenerUnregister, commit, compact, getSerializerPojo, getWrappedEngine, isClosed, isReadOnly, preallocate, preallocate, snapshot
public HardRef(Engine engine, int initialCapacity, boolean disableLocks)
public <A> A get(long recid, Serializer<A> serializer)
Engine
get
in interface Engine
get
in class Caches.LRU
recid
- (record identifier) under which record was persistedserializer
- used to deserialize record from binary formpublic <A> void update(long recid, A value, Serializer<A> serializer)
Engine
update
in interface Engine
update
in class Caches.LRU
recid
- (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)
Engine
delete
in interface Engine
delete
in class Caches.LRU
recid
- (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)
Engine
oldValue==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 Engine
compareAndSwap
in class Caches.LRU
recid
- (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 formCopyright © 2019. All rights reserved.