|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.Dictionary
java.util.Hashtable
org.apache.derby.impl.services.locks.LockSpace
A LockSpace represents the complete set of locks held within a single compatability space, broken into groups of locks. A LockSpace is a hashtable keyed by the group reference, the data for each key is a Hashtable of Lock's.
Nested Class Summary |
Nested classes inherited from class java.util.Hashtable |
|
Field Summary | |
private Limit |
callback
|
private java.lang.Object |
callbackGroup
|
private java.lang.Object |
compatSpace
|
private java.util.Dictionary |
holder
|
private boolean |
inLimit
|
private int |
limit
|
private int |
nextLimitCall
|
private java.util.HashMap[] |
spareGroups
|
Fields inherited from class java.util.Hashtable |
|
Constructor Summary | |
(package private) |
LockSpace(java.util.Dictionary holder,
java.lang.Object compatSpace)
|
Method Summary | |
protected void |
addLock(java.lang.Object group,
Lock lock)
Add a lock to a group. |
(package private) boolean |
areLocksHeld(java.lang.Object group)
Return true if locks are held in a group |
(package private) void |
clearLimit(java.lang.Object group)
Clear a limit set by setLimit. |
(package private) int |
deadlockCount(int bail)
Return a count of the number of locks held by this space. |
private java.util.HashMap |
getGroupMap(java.lang.Object group)
|
(package private) boolean |
isLockHeld(java.lang.Object group,
Lockable ref,
java.lang.Object qualifier)
|
private void |
mergeGroups(java.util.HashMap from,
java.util.HashMap into)
|
private void |
saveGroup(java.util.HashMap dl)
|
(package private) void |
setLimit(java.lang.Object group,
int limit,
Limit callback)
|
(package private) void |
transfer(java.lang.Object oldGroup,
java.lang.Object newGroup)
|
(package private) void |
unlockGroup(LockSet lset,
java.lang.Object group)
Unlock all the locks in a group and then remove the group. |
(package private) void |
unlockGroup(LockSet lset,
java.lang.Object group,
Matchable key)
Unlock all locks in the group that match the key |
(package private) int |
unlockReference(LockSet lset,
Lockable ref,
java.lang.Object qualifier,
java.lang.Object group)
|
Methods inherited from class java.util.Hashtable |
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
private final java.lang.Object compatSpace
private final java.util.Dictionary holder
private java.util.HashMap[] spareGroups
private java.lang.Object callbackGroup
private int limit
private int nextLimitCall
private Limit callback
private boolean inLimit
Constructor Detail |
LockSpace(java.util.Dictionary holder, java.lang.Object compatSpace)
Method Detail |
protected void addLock(java.lang.Object group, Lock lock) throws StandardException
StandardException
void unlockGroup(LockSet lset, java.lang.Object group)
private java.util.HashMap getGroupMap(java.lang.Object group)
private void saveGroup(java.util.HashMap dl)
void unlockGroup(LockSet lset, java.lang.Object group, Matchable key)
void transfer(java.lang.Object oldGroup, java.lang.Object newGroup)
private void mergeGroups(java.util.HashMap from, java.util.HashMap into)
int unlockReference(LockSet lset, Lockable ref, java.lang.Object qualifier, java.lang.Object group)
boolean areLocksHeld(java.lang.Object group)
boolean isLockHeld(java.lang.Object group, Lockable ref, java.lang.Object qualifier)
void setLimit(java.lang.Object group, int limit, Limit callback)
void clearLimit(java.lang.Object group)
int deadlockCount(int bail)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |