woolpack.config
クラス CacheMap
java.lang.Object
woolpack.config.CacheMap
- すべての実装されたインタフェース:
- ConfigExpression
- 直系の既知のサブクラス:
- LocaleCacheMap
public class CacheMap
- extends java.lang.Object
- implements ConfigExpression
Map
をキャッシュするConfigExpression
。
委譲先で生成されるMap
がgetCacheKey()
で返されるキーに対して一意であることを想定しているため並行性制御を行っていない。
- 作成者:
- nakamura
コンストラクタの概要 |
CacheMap(java.util.Map<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>> cacheMap,
ConfigExpression mapMaker)
コンストラクタ。 |
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CacheMap
public CacheMap(java.util.Map<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>> cacheMap,
ConfigExpression mapMaker)
- コンストラクタ。
- パラメータ:
cacheMap
- キャッシュ。本クラスはこの引数の状態を変化させる。null が指定された場合はキャッシュを行わない。LinkedHashMap.removeEldestEntry(java.util.Map.Entry)
を指定したLinkedHashMap
を指定するとキャッシュの容量を制御することができる。HashMap
などの強参照のMap
を指定すると容量制限のないキャッシュになる。WeakHashMap
を指定すると弱参照によるキャッシュになる。mapMaker
- Map
を生成し加工する委譲先のConfigExpression
。
- 例外:
java.lang.NullPointerException
- 引数が null の場合。
interpret
public void interpret(ConfigContext context)
- インタフェース
ConfigExpression
の記述:
Map
を加工するために呼び出される(called)。
実装クラスでは、引数が null でないことを前提としてよい。
実装クラスでRuntimeException
のサブ例外が発生する場合は JavaDoc コメントに記載すると部品の可用性が維持される。
- 定義:
- インタフェース
ConfigExpression
内の interpret
- パラメータ:
context
- Context 役。
- 例外:
NullPointerExcpeption
- 引数が null の場合。
getCacheKey
public java.lang.Object getCacheKey()
- 委譲先で生成する
Map
を一意に識別するためのキーを取得するために呼び出される(called)。
デフォルトは常に同一のインスタンスを返す。
これはWeakHashMap
が指定されていてもGCにより改修されないオブジェクトである。
Locale
や端末ごとにMap
をキャッシュする際にオーバライドする。
オーバライドする際はPutResourceBundle.getResourceBundle(String)
と整合性を保つ必要がある。
- 戻り値:
- cache 委譲先で生成する
Map
を一意に識別するためのキー。