class Lock extends java.lang.Object implements Latch, Control
| Modifier and Type | Field and Description |
|---|---|
(package private) int |
count |
private java.lang.Object |
qualifier
Qualifier used in the lock request..
|
private Lockable |
ref
Object being locked.
|
private CompatibilitySpace |
space
Compatibility space the object is locked in.
|
| Modifier | Constructor and Description |
|---|---|
protected |
Lock(CompatibilitySpace space,
Lockable ref,
java.lang.Object qualifier) |
| Modifier and Type | Method and Description |
|---|---|
void |
addWaiters(java.util.Map waiters) |
(package private) Lock |
copy() |
boolean |
equals(java.lang.Object other) |
ActiveLock |
firstWaiter() |
CompatibilitySpace |
getCompatabilitySpace()
Return the compatibility space this lock is held in.
|
int |
getCount()
Return the count of locks.
|
Lock |
getFirstGrant() |
java.util.List |
getGranted() |
Lock |
getLock(CompatibilitySpace compatibilitySpace,
java.lang.Object qualifier) |
Lockable |
getLockable()
Return the object this lock is held on
MT - Thread safe
|
LockControl |
getLockControl() |
java.lang.Object |
getQualifier()
Return the qualifier lock was obtained with.
|
java.util.List |
getWaiting() |
(package private) void |
grant() |
int |
hashCode() |
boolean |
isEmpty() |
boolean |
isGrantable(boolean noWaitersBeforeMe,
CompatibilitySpace compatibilitySpace,
java.lang.Object requestQualifier) |
Control |
shallowClone()
We can return ourselves here because our identity
is immutable and what we returned will not be accessed
as a Lock, so the count cannot be changed.
|
(package private) int |
unlock(int unlockCount) |
boolean |
unlock(Latch lockInGroup,
int unlockCount) |
private final CompatibilitySpace space
private final Lockable ref
private final java.lang.Object qualifier
int count
protected Lock(CompatibilitySpace space, Lockable ref, java.lang.Object qualifier)
public final Lockable getLockable()
getLockable in interface LatchgetLockable in interface Controlpublic final CompatibilitySpace getCompatabilitySpace()
getCompatabilitySpace in interface Latchpublic final java.lang.Object getQualifier()
getQualifier in interface Latchpublic final int getCount()
final Lock copy()
void grant()
int unlock(int unlockCount)
public final int hashCode()
hashCode in class java.lang.Objectpublic final boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic LockControl getLockControl()
getLockControl in interface Controlpublic Lock getLock(CompatibilitySpace compatibilitySpace, java.lang.Object qualifier)
public Control shallowClone()
shallowClone in interface Controlpublic ActiveLock firstWaiter()
firstWaiter in interface Controlpublic boolean unlock(Latch lockInGroup, int unlockCount)
public void addWaiters(java.util.Map waiters)
addWaiters in interface Controlpublic Lock getFirstGrant()
getFirstGrant in interface Controlpublic java.util.List getGranted()
getGranted in interface Controlpublic java.util.List getWaiting()
getWaiting in interface Controlpublic boolean isGrantable(boolean noWaitersBeforeMe,
CompatibilitySpace compatibilitySpace,
java.lang.Object requestQualifier)
isGrantable in interface ControlApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.