org.hypergraphdb.transaction
Class BDBTxLock

java.lang.Object
  extended by org.hypergraphdb.transaction.BDBTxLock
All Implemented Interfaces:
java.util.concurrent.locks.ReadWriteLock

public class BDBTxLock
extends java.lang.Object
implements java.util.concurrent.locks.ReadWriteLock

A ReadWriteLock implementation backed by the BerkeleyDB locking mechanism. This implementation uses the current HGDB transaction as the BDB locker. Only the lock(), unlock() and tryLock() methods are actually supported for now.

Author:
Borislav Iordanov

Constructor Summary
BDBTxLock(HyperGraph graph, byte[] objectId)
           
BDBTxLock(HyperGraph graph, com.sleepycat.db.DatabaseEntry objectId)
           
 
Method Summary
 HyperGraph getGraph()
           
 byte[] getObjectId()
           
 java.util.concurrent.locks.Lock readLock()
           
 java.util.concurrent.locks.Lock writeLock()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BDBTxLock

public BDBTxLock(HyperGraph graph,
                 byte[] objectId)

BDBTxLock

public BDBTxLock(HyperGraph graph,
                 com.sleepycat.db.DatabaseEntry objectId)
Method Detail

readLock

public java.util.concurrent.locks.Lock readLock()
Specified by:
readLock in interface java.util.concurrent.locks.ReadWriteLock

writeLock

public java.util.concurrent.locks.Lock writeLock()
Specified by:
writeLock in interface java.util.concurrent.locks.ReadWriteLock

getGraph

public HyperGraph getGraph()

getObjectId

public byte[] getObjectId()