jp.terasoluna.fw.beans.jxpath
クラス HashMapForJXPathIntrospector<K,V>

java.lang.Object
  上位を拡張 java.util.AbstractMap<K,V>
      上位を拡張 java.util.HashMap<K,V>
          上位を拡張 jp.terasoluna.fw.beans.jxpath.HashMapForJXPathIntrospector<K,V>
すべての実装されたインタフェース:
Serializable, Cloneable, Map<K,V>

public class HashMapForJXPathIntrospector<K,V>
extends HashMap<K,V>

commons-JXPathのバグ(JXPATH-152)回避用HashMap。

commons-JXPath-1.3の JXPathIntrospectorの実装に合わせて、 putとgetのみ、スレッドセーフ化している。
同期化制御には、ReadWriteLockを利用しており、 putの実行中は、他のスレッドはputもgetも実行できない(一時的に待ち状態となる)が、 putの実行中でなければ、複数のスレッドで同時にgetを実行することができる。

関連項目:
JXPATH152PatchActivator, 直列化された形式

コンストラクタの概要
HashMapForJXPathIntrospector(Map<? extends K,? extends V> m)
          指定された Map と同じマッピングで新規 HashMapForJXPathIntrospector を作成する。
 
メソッドの概要
 V get(Object key)
          キーにマッピングされている値を返す。
 V put(K key, V value)
          指定されたキーで指定された値をマッピングする。
 
クラス java.util.HashMap から継承されたメソッド
clear, clone, containsKey, containsValue, entrySet, isEmpty, keySet, putAll, remove, size, values
 
クラス java.util.AbstractMap から継承されたメソッド
equals, hashCode, toString
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース java.util.Map から継承されたメソッド
equals, hashCode
 

コンストラクタの詳細

HashMapForJXPathIntrospector

public HashMapForJXPathIntrospector(Map<? extends K,? extends V> m)
指定された Map と同じマッピングで新規 HashMapForJXPathIntrospector を作成する。

パラメータ:
m - 初期マッピングを保持したマップ(JXPathIntrospectorから取得したマップ)
例外:
NullPointerException - 指定されたマップが null の場合
メソッドの詳細

get

public V get(Object key)
キーにマッピングされている値を返す。

このメソッドは、読み込みロックを獲得した状態で、HashMap.get(Object)に委譲する。

定義:
インタフェース Map<K,V> 内の get
オーバーライド:
クラス HashMap<K,V> 内の get
パラメータ:
key - キー
関連項目:
HashMap.get(Object)

put

public V put(K key,
             V value)
指定されたキーで指定された値をマッピングする。

このメソッドは、書き込みロックを獲得した状態で、HashMap.put(Object, Object)に委譲する。

定義:
インタフェース Map<K,V> 内の put
オーバーライド:
クラス HashMap<K,V> 内の put
パラメータ:
key - キー
value - 値
関連項目:
HashMap.put(Object, Object)


Copyright © 2012. All Rights Reserved.