Class LockableMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
nablarch.core.util.map.MapWrapper<K,V>
nablarch.core.util.map.LockableMap<K,V>
Type Parameters:
K - キーの型
V - 値の型
All Implemented Interfaces:
Lock, Map<K,V>
Direct Known Subclasses:
ExclusiveAccessMap

public class LockableMap<K,V> extends MapWrapper<K,V> implements Lock
排他ロックを内蔵したMapのラッパークラス。
Author:
Iwauo Tajima
  • Constructor Details

    • LockableMap

      public LockableMap(Map<K,V> baseMap)
      コンストラクタ。
      Parameters:
      baseMap - ラップ対象のMap
    • LockableMap

      public LockableMap(Map<K,V> baseMap, ReentrantLock lock)
      コンストラクタ
      Parameters:
      baseMap - ラップ対象のMap
      lock - ロックオブジェクト
  • Method Details

    • getDelegateMap

      public Map<K,V> getDelegateMap()
      Description copied from class: MapWrapper
      このラッパーが処理を委譲するMapオブジェクトを返す。
      Specified by:
      getDelegateMap in class MapWrapper<K,V>
      Returns:
      処理を委譲するMapオブジェクト
    • unlock

      public void unlock()
      Specified by:
      unlock in interface Lock
    • lock

      public void lock()
      Specified by:
      lock in interface Lock
    • deactivate

      public void deactivate()
      排他ロックを無効化する。 以降、どのスレッドも新たなロックを獲得することはできない。 (開放は可能。)
    • lockInterruptibly

      public void lockInterruptibly() throws InterruptedException
      Specified by:
      lockInterruptibly in interface Lock
      Throws:
      InterruptedException
    • newCondition

      public Condition newCondition()
      Specified by:
      newCondition in interface Lock
    • tryLock

      public boolean tryLock()
      Specified by:
      tryLock in interface Lock
    • tryLock

      public boolean tryLock(long time, TimeUnit unit)
      Specified by:
      tryLock in interface Lock