org.infinispan.util.concurrent.locks.containers
Interface LockContainer

All Known Implementing Classes:
AbstractPerEntryLockContainer, AbstractStripedLockContainer, OwnableReentrantPerEntryLockContainer, OwnableReentrantStripedLockContainer, ReentrantPerEntryLockContainer, ReentrantStripedLockContainer

public interface LockContainer

A container for locks

Since:
4.0
Author:
Manik Surtani

Method Summary
 Lock acquireLock(Object key, long timeout, TimeUnit unit)
          Attempts to acquire a lock for the given object within certain time boundaries defined by the timeout and time unit parameters.
 Lock getLock(Object key)
           
 int getNumLocksHeld()
           
 boolean isLocked(Object key)
           
 boolean ownsLock(Object key, Object owner)
          Tests if a give owner owns a lock on a specified object.
 void releaseLock(Object key)
          Release lock on the given key.
 int size()
           
 

Method Detail

ownsLock

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

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

isLocked

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

getLock

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

getNumLocksHeld

int getNumLocksHeld()
Returns:
number of locks held

size

int size()
Returns:
the size of the shared lock pool

acquireLock

Lock acquireLock(Object key,
                 long timeout,
                 TimeUnit unit)
                 throws InterruptedException
Attempts to acquire a lock for the given object within certain time boundaries defined by the timeout and time unit parameters.

Parameters:
key - Object to acquire lock on
timeout - Time after which the lock acquisition will fail
unit - Time unit of the given timeout
Returns:
If lock was acquired it returns the corresponding Lock object. If lock was not acquired, it returns null
Throws:
InterruptedException - If the lock acquisition was interrupted

releaseLock

void releaseLock(Object key)
Release lock on the given key.

Parameters:
key - Object on which lock is to be removed

Google Analytics

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