org.apache.fulcrum.yaafi.framework.util
Class ReadWriteLock

java.lang.Object
  extended by org.apache.fulcrum.yaafi.framework.util.ReadWriteLock

public class ReadWriteLock
extends java.lang.Object

A simple lock manager supporting read locks and write locks. The main intention is to shield the application from the implementation details.

Author:
Siegfried Goeschl

Constructor Summary
ReadWriteLock(java.lang.String name, org.apache.avalon.framework.logger.Logger logger)
          Constructor
 
Method Summary
 java.lang.Object getReadLock(java.lang.String ownerId)
           
 java.lang.Object getWriteLock(java.lang.String ownerId)
           
 void releaseLock(java.lang.Object lock, java.lang.String ownerId)
          releases the lock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReadWriteLock

public ReadWriteLock(java.lang.String name,
                     org.apache.avalon.framework.logger.Logger logger)
Constructor

Parameters:
name - the name of the lock
logger - the logger to be used
Method Detail

getReadLock

public java.lang.Object getReadLock(java.lang.String ownerId)
                             throws java.lang.InterruptedException
Returns:
a read lock
Throws:
java.lang.InterruptedException

getWriteLock

public java.lang.Object getWriteLock(java.lang.String ownerId)
                              throws java.lang.InterruptedException
Returns:
a write lock
Throws:
java.lang.InterruptedException

releaseLock

public void releaseLock(java.lang.Object lock,
                        java.lang.String ownerId)
releases the lock

Parameters:
lock - the lock


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.