Infinispan Distribution 5.2.6.Final-redhat-2

org.infinispan.util.concurrent.locks.containers
Class OwnableReentrantPerEntryLockContainer

java.lang.Object
  extended by org.infinispan.util.concurrent.locks.containers.AbstractLockContainer<L>
      extended by org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer<OwnableRefCountingReentrantLock>
          extended by org.infinispan.util.concurrent.locks.containers.OwnableReentrantPerEntryLockContainer
All Implemented Interfaces:
LockContainer<OwnableRefCountingReentrantLock>

public class OwnableReentrantPerEntryLockContainer
extends AbstractPerEntryLockContainer<OwnableRefCountingReentrantLock>

A per-entry lock container for OwnableReentrantLocks

Since:
4.0
Author:
Manik Surtani

Field Summary
 
Fields inherited from class org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer
locks
 
Constructor Summary
OwnableReentrantPerEntryLockContainer(int concurrencyLevel)
           
 
Method Summary
protected  Log getLog()
           
 boolean isLocked(Object key)
           
protected  void lock(OwnableRefCountingReentrantLock lock, Object lockOwner)
           
protected  OwnableRefCountingReentrantLock newLock()
           
 boolean ownsLock(Object key, Object owner)
          Tests if a give owner owns a lock on a specified object.
protected  boolean tryLock(OwnableRefCountingReentrantLock lock, long timeout, TimeUnit unit, Object lockOwner)
           
protected  void unlock(OwnableRefCountingReentrantLock l, Object owner)
           
 
Methods inherited from class org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer
acquireLock, getLock, getLockId, getNumLocksHeld, releaseLock, size, toString
 
Methods inherited from class org.infinispan.util.concurrent.locks.containers.AbstractLockContainer
safeRelease
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OwnableReentrantPerEntryLockContainer

public OwnableReentrantPerEntryLockContainer(int concurrencyLevel)
Method Detail

getLog

protected Log getLog()
Specified by:
getLog in class AbstractLockContainer<OwnableRefCountingReentrantLock>

newLock

protected OwnableRefCountingReentrantLock newLock()
Specified by:
newLock in class AbstractPerEntryLockContainer<OwnableRefCountingReentrantLock>

ownsLock

public boolean ownsLock(Object key,
                        Object owner)
Description copied from interface: LockContainer
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

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

tryLock

protected boolean tryLock(OwnableRefCountingReentrantLock lock,
                          long timeout,
                          TimeUnit unit,
                          Object lockOwner)
                   throws InterruptedException
Specified by:
tryLock in class AbstractLockContainer<OwnableRefCountingReentrantLock>
Throws:
InterruptedException

lock

protected void lock(OwnableRefCountingReentrantLock lock,
                    Object lockOwner)
Specified by:
lock in class AbstractLockContainer<OwnableRefCountingReentrantLock>

unlock

protected void unlock(OwnableRefCountingReentrantLock l,
                      Object owner)
Specified by:
unlock in class AbstractLockContainer<OwnableRefCountingReentrantLock>

Infinispan Distribution 5.2.6.Final-redhat-2

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