Class RWOLockManager.LockState<OBJECT,CONTEXT>
- java.lang.Object
-
- org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<OBJECT,CONTEXT>
-
- Enclosing class:
- RWOLockManager<OBJECT,CONTEXT>
public static class RWOLockManager.LockState<OBJECT,CONTEXT> extends java.lang.Object
Represents a combination of locks for one OBJECT. The different lock types are represented by the values of the enumIRWLockManager.LockType
The locking semantics established by this class are as follows:
- A read lock prevents a write lock by another, but allows read locks by others and allows a write option by another, and is therefore non-exclusive.
- A write lock prevents read locks by others, a write lock by another, and a write option by another, and is therefore exclusive.
- A write option prevents write locks by others and a write option by another, but allows read locks by others, and is therefore exclusive.
- Since:
- 3.2
- Author:
- Caspar De Groot
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
OBJECT
getLockedObject()
java.util.Set<CONTEXT>
getReadLockOwners()
CONTEXT
getWriteLockOwner()
CONTEXT
getWriteOptionOwner()
int
hashCode()
boolean
hasLock(IRWLockManager.LockType type)
boolean
hasLock(IRWLockManager.LockType type, CONTEXT view, boolean byOthers)
java.lang.String
toString()
-
-
-
Method Detail
-
getLockedObject
public OBJECT getLockedObject()
-
hasLock
public boolean hasLock(IRWLockManager.LockType type, CONTEXT view, boolean byOthers)
-
hasLock
public boolean hasLock(IRWLockManager.LockType type)
-
getReadLockOwners
public java.util.Set<CONTEXT> getReadLockOwners()
-
getWriteLockOwner
public CONTEXT getWriteLockOwner()
-
getWriteOptionOwner
public CONTEXT getWriteOptionOwner()
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-