ojb.odmg.locking
Class InMemoryLockMapImpl

java.lang.Object
  |
  +--ojb.odmg.locking.InMemoryLockMapImpl
All Implemented Interfaces:
LockMap

public class InMemoryLockMapImpl
extends java.lang.Object
implements LockMap


Constructor Summary
InMemoryLockMapImpl()
           
 
Method Summary
 boolean addReader(TransactionImpl tx, java.lang.Object obj)
          Add a reader lock entry for transaction tx on object obj to the persistent storage.
 java.util.Collection getReaders(java.lang.Object obj)
          returns a collection of Reader LockEntries for object obj.
 LockEntry getWriter(java.lang.Object obj)
          returns the LockEntry for the Writer of object obj.
 boolean hasReadLock(TransactionImpl tx, java.lang.Object obj)
          check if there is a reader lock entry for transaction tx on object obj in the persistent storage.
 void removeReader(TransactionImpl tx, java.lang.Object obj)
          remove a reader lock entry for transaction tx on object obj from the persistent storage.
protected  void removeTimedOutLocks(long timeout)
          removes all timed out lock entries from the persistent storage.
 void removeWriter(LockEntry writer)
          remove a writer lock entry for transaction tx on object obj from the persistent storage.
 boolean setWriter(TransactionImpl tx, java.lang.Object obj)
          generate a writer lock entry for transaction tx on object obj and write it to the persistent storage.
 boolean upgradeLock(LockEntry reader)
          upgrade a reader lock entry for transaction tx on object obj and write it to the persistent storage.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InMemoryLockMapImpl

public InMemoryLockMapImpl()
Method Detail

getWriter

public LockEntry getWriter(java.lang.Object obj)
returns the LockEntry for the Writer of object obj. If now writer exists, null is returned.

Specified by:
getWriter in interface LockMap

removeTimedOutLocks

protected void removeTimedOutLocks(long timeout)
removes all timed out lock entries from the persistent storage. The timeout value can be set in the OJB properties file.


getReaders

public java.util.Collection getReaders(java.lang.Object obj)
returns a collection of Reader LockEntries for object obj. If no LockEntries could be found an empty Vector is returned.

Specified by:
getReaders in interface LockMap

addReader

public boolean addReader(TransactionImpl tx,
                         java.lang.Object obj)
Add a reader lock entry for transaction tx on object obj to the persistent storage.

Specified by:
addReader in interface LockMap

removeReader

public void removeReader(TransactionImpl tx,
                         java.lang.Object obj)
remove a reader lock entry for transaction tx on object obj from the persistent storage.

Specified by:
removeReader in interface LockMap

removeWriter

public void removeWriter(LockEntry writer)
remove a writer lock entry for transaction tx on object obj from the persistent storage.

Specified by:
removeWriter in interface LockMap

upgradeLock

public boolean upgradeLock(LockEntry reader)
upgrade a reader lock entry for transaction tx on object obj and write it to the persistent storage.

Specified by:
upgradeLock in interface LockMap

setWriter

public boolean setWriter(TransactionImpl tx,
                         java.lang.Object obj)
generate a writer lock entry for transaction tx on object obj and write it to the persistent storage.

Specified by:
setWriter in interface LockMap

hasReadLock

public boolean hasReadLock(TransactionImpl tx,
                           java.lang.Object obj)
check if there is a reader lock entry for transaction tx on object obj in the persistent storage.

Specified by:
hasReadLock in interface LockMap


Authors: Thomas Mahler and others. (C) 2000, 2001.
All rights reserved. Published under the Gnu Public License.
http://objectbridge.sourceforge.net
Version: 0.8.375, 2002-04-04