com.sleepycat.je.txn
Class LockType

java.lang.Object
  extended by com.sleepycat.je.txn.LockType

public class LockType
extends Object

LockType is a type safe enumeration of all lock types. Methods on LockType objects can be used to determine whether a type conflicts with another type or can be upgraded to another type.


Field Summary
static LockType NONE
          NONE is used for requesting a dirty read and does not appear in the conflict or upgrade matrices.
static LockType RANGE_INSERT
           
static LockType RANGE_READ
           
static LockType RANGE_WRITE
           
static LockType READ
          Lock types.
static LockType RESTART
          RESTART is used for waiting for a restart and does not appear in the conflict or upgrade matrices.
static LockType WRITE
           
 
Method Summary
(package private)  boolean getCausesRestart()
          Returns whether when this type is requested it can result in LockGrantType.RESTART.
(package private)  LockConflict getConflict(LockType requestedType)
          Returns the LockConfict that results when this lock type is held and the given lock type is requested by another locker.
(package private)  LockUpgrade getUpgrade(LockType requestedType)
          Returns the LockUpgrade that results when this lock type is held and the given lock type is requested by the same locker.
 boolean isWriteLock()
          Returns true if this is a WRITE or RANGE_WRITE lock.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

READ

public static final LockType READ
Lock types. Indexes must be kept manually synchronized in the matrixes below.


WRITE

public static final LockType WRITE

RANGE_READ

public static final LockType RANGE_READ

RANGE_WRITE

public static final LockType RANGE_WRITE

RANGE_INSERT

public static final LockType RANGE_INSERT

NONE

public static final LockType NONE
NONE is used for requesting a dirty read and does not appear in the conflict or upgrade matrices.


RESTART

public static final LockType RESTART
RESTART is used for waiting for a restart and does not appear in the conflict or upgrade matrices.

Method Detail

isWriteLock

public final boolean isWriteLock()
Returns true if this is a WRITE or RANGE_WRITE lock. For RANGE_INSERT, false is returned because RANGE_INSERT is used to lock the key following the insertion key, not the insertion key itself.


getCausesRestart

final boolean getCausesRestart()
Returns whether when this type is requested it can result in LockGrantType.RESTART.


getConflict

LockConflict getConflict(LockType requestedType)
Returns the LockConfict that results when this lock type is held and the given lock type is requested by another locker.


getUpgrade

LockUpgrade getUpgrade(LockType requestedType)
Returns the LockUpgrade that results when this lock type is held and the given lock type is requested by the same locker.

For the returned LockUpgrade object, getIllegal will never return true because this method fires an assertion if getIllegal returns true.


toString

public String toString()
Overrides:
toString in class Object


Copyright 2004-2005 Sleepycat, Inc. All Rights Reserved.