Package org.infinispan.container.entries
Class VersionedRepeatableReadEntry
- java.lang.Object
-
- org.infinispan.container.entries.ReadCommittedEntry
-
- org.infinispan.container.entries.RepeatableReadEntry
-
- org.infinispan.container.entries.VersionedRepeatableReadEntry
-
- All Implemented Interfaces:
Cloneable,Map.Entry,CacheEntry,MetadataAware,MVCCEntry,StateChangingEntry,Versioned
public class VersionedRepeatableReadEntry extends RepeatableReadEntry implements Versioned
A version of RepeatableReadEntry that can perform write-skew checks during prepare.- Since:
- 5.1
- Author:
- Manik Surtani
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.infinispan.container.entries.ReadCommittedEntry
ReadCommittedEntry.Flags
-
-
Field Summary
-
Fields inherited from class org.infinispan.container.entries.RepeatableReadEntry
oldMetadata, oldValue
-
-
Constructor Summary
Constructors Constructor Description VersionedRepeatableReadEntry(Object key, Object value, Metadata metadata)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VersionedRepeatableReadEntryclone()EntryVersiongetVersion()booleanperformWriteSkewCheck(DataContainer container, int segment, PersistenceManager persistenceManager, org.infinispan.context.impl.TxInvocationContext ctx, EntryVersion versionSeen, VersionGenerator versionGenerator, TimeService timeService)voidsetVersion(EntryVersion version)Sets the version on this entry.-
Methods inherited from class org.infinispan.container.entries.RepeatableReadEntry
getOldMetadata, getOldValue, isRead, resetCurrentValue, setRead, setSkipLookup, setValue, skipLookup, updatePreviousValue
-
Methods inherited from class org.infinispan.container.entries.ReadCommittedEntry
commit, commit, getCreated, getKey, getLastUsed, getLifespan, getMaxIdle, getMetadata, getValue, isChanged, isCommitted, isCreated, isEvicted, isExpired, isLoaded, isNull, isRemoved, setChanged, setCommitted, setCreated, setCreated, setEvicted, setExpired, setFlag, setLastUsed, setLoaded, setMetadata, setRemoved, toString
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.infinispan.container.entries.CacheEntry
commit, isValid, rollback, setValid, undelete
-
Methods inherited from interface org.infinispan.container.entries.MVCCEntry
copyForUpdate, copyForUpdate
-
Methods inherited from interface org.infinispan.container.entries.StateChangingEntry
copyStateFlagsFrom, getStateFlags
-
-
-
-
Method Detail
-
performWriteSkewCheck
public boolean performWriteSkewCheck(DataContainer container, int segment, PersistenceManager persistenceManager, org.infinispan.context.impl.TxInvocationContext ctx, EntryVersion versionSeen, VersionGenerator versionGenerator, TimeService timeService)
- Parameters:
container- the data container to check the write skew againstsegment- the segment matching this entrypersistenceManager- the persistence manager to possibly check write skew againstctx- the invocation contextversionSeen- what version has been seen for this entryversionGenerator- generator to generate a new version if neededtimeService- time service to check if entries are expired- Returns:
- whether a write skew occurred for this entry
-
getVersion
public EntryVersion getVersion()
- Specified by:
getVersionin interfaceVersioned- Returns:
- the version of the entry. May be null if versioning is not supported, and must never be null if versioning is supported.
-
setVersion
public void setVersion(EntryVersion version)
Description copied from interface:VersionedSets the version on this entry.- Specified by:
setVersionin interfaceVersioned- Parameters:
version- version to set
-
clone
public VersionedRepeatableReadEntry clone()
- Specified by:
clonein interfaceCacheEntry- Specified by:
clonein interfaceMVCCEntry- Overrides:
clonein classRepeatableReadEntry
-
-