Package org.hibernate.cache.spi.support
Class AbstractReadWriteAccess.SoftLockImpl
java.lang.Object
org.hibernate.cache.spi.support.AbstractReadWriteAccess.SoftLockImpl
- All Implemented Interfaces:
Serializable
,SoftLock
,AbstractReadWriteAccess.Lockable
- Enclosing class:
- AbstractReadWriteAccess
public static class AbstractReadWriteAccess.SoftLockImpl
extends Object
implements Serializable, AbstractReadWriteAccess.Lockable, SoftLock
Wrapper type representing locked items.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
getValue()
Returns the enclosed value.int
hashCode()
boolean
isReadable
(long txTimestamp) Returnstrue
if the enclosed value can be read by a transaction started at the given time.boolean
isUnlockable
(SoftLock lock) Returnstrue
if the given lock can be unlocked using the given SoftLock instance as a handle.boolean
isWriteable
(long txTimestamp, Object newVersion, Comparator versionComparator) Returnstrue
if the enclosed value can be replaced with one of the given version by a transaction started at the given time.Locks this entry, stamping it with the UUID and lockId given, with the lock timeout occurring at the specified time.toString()
void
unlock
(long timestamp) Unlocks this Lock, and timestamps the unlock event.boolean
Returns true if this Lock has been concurrently locked by more than one transaction.
-
Method Details
-
isReadable
public boolean isReadable(long txTimestamp) Description copied from interface:AbstractReadWriteAccess.Lockable
Returnstrue
if the enclosed value can be read by a transaction started at the given time.- Specified by:
isReadable
in interfaceAbstractReadWriteAccess.Lockable
-
isWriteable
Description copied from interface:AbstractReadWriteAccess.Lockable
Returnstrue
if the enclosed value can be replaced with one of the given version by a transaction started at the given time.- Specified by:
isWriteable
in interfaceAbstractReadWriteAccess.Lockable
-
getValue
Description copied from interface:AbstractReadWriteAccess.Lockable
Returns the enclosed value.- Specified by:
getValue
in interfaceAbstractReadWriteAccess.Lockable
-
isUnlockable
Description copied from interface:AbstractReadWriteAccess.Lockable
Returnstrue
if the given lock can be unlocked using the given SoftLock instance as a handle.- Specified by:
isUnlockable
in interfaceAbstractReadWriteAccess.Lockable
-
equals
-
hashCode
public int hashCode() -
wasLockedConcurrently
public boolean wasLockedConcurrently()Returns true if this Lock has been concurrently locked by more than one transaction. -
lock
Description copied from interface:AbstractReadWriteAccess.Lockable
Locks this entry, stamping it with the UUID and lockId given, with the lock timeout occurring at the specified time. The returned Lock object can be used to unlock the entry in the future.- Specified by:
lock
in interfaceAbstractReadWriteAccess.Lockable
-
unlock
public void unlock(long timestamp) Unlocks this Lock, and timestamps the unlock event. -
toString
-