org.jboss.cache.util.concurrent.locks
Interface LockContainer<E>

All Known Implementing Classes:
AbstractSharedLockContainer, OwnableReentrantSharedLockContainer, PerElementLockContainer, PerElementOwnableReentrantLockContainer, PerElementReentrantLockContainer, ReentrantSharedLockContainer

public interface LockContainer<E>

A container for locks

Since:
3.1.0
Author:
Manik Surtani

Method Summary
 void acquireLock(E object)
           
 boolean acquireLock(E object, long timeout, TimeUnit unit)
           
 Lock getLock(E object)
           
 int getNumLocksHeld()
           
 boolean isLocked(E object)
           
 boolean ownsLock(E object, Object owner)
          Tests if a give owner owns a lock on a specified object.
 void releaseLock(E object)
           
 void reset()
          Clears all locks held and re-initialises stripes.
 int size()
           
 

Method Detail

ownsLock

boolean ownsLock(E object,
                 Object owner)
Tests if a give owner owns a lock on a specified object.

Parameters:
object - object to check
owner - owner to test
Returns:
true if owner owns lock, false otherwise

isLocked

boolean isLocked(E object)
Parameters:
object - object
Returns:
true if an object is locked, false otherwise

getLock

Lock getLock(E object)
Parameters:
object - object
Returns:
the lock for a specific object

getNumLocksHeld

int getNumLocksHeld()
Returns:
number of locks held

reset

void reset()
Clears all locks held and re-initialises stripes.


size

int size()

acquireLock

void acquireLock(E object)

acquireLock

boolean acquireLock(E object,
                    long timeout,
                    TimeUnit unit)
                    throws InterruptedException
Throws:
InterruptedException

releaseLock

void releaseLock(E object)


Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.