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 VersionedRepeatableReadEntry
clone()
EntryVersion
getVersion()
boolean
performWriteSkewCheck(DataContainer container, int segment, PersistenceManager persistenceManager, org.infinispan.context.impl.TxInvocationContext ctx, EntryVersion versionSeen, VersionGenerator versionGenerator, TimeService timeService)
void
setVersion(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:
getVersion
in 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:Versioned
Sets the version on this entry.- Specified by:
setVersion
in interfaceVersioned
- Parameters:
version
- version to set
-
clone
public VersionedRepeatableReadEntry clone()
- Specified by:
clone
in interfaceCacheEntry
- Specified by:
clone
in interfaceMVCCEntry
- Overrides:
clone
in classRepeatableReadEntry
-
-