woolpack.factory
クラス ConcurrentMapCache<C,K>
java.lang.Object
woolpack.factory.ConcurrentMapCache<C,K>
- 型パラメータ:
C
- K
-
- すべての実装されたインタフェース:
- Fn<C,java.lang.Object>
public class ConcurrentMapCache<C,K>
- extends java.lang.Object
- implements Fn<C,java.lang.Object>
委譲先で生成したオブジェクトをConcurrentMap
にキャッシュして返すFn
です。
ConcurrentMap.putIfAbsent(Object, Object)
を使用して返却値の一意性を保証しますが、
ひとつの返却値に対応するインスタンス生成の委譲が複数回発生する可能性があります。
- 作成者:
- nakamura
コンストラクタの概要 |
ConcurrentMapCache(Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>> mapGetter,
Fn<? super C,K> keyGetter,
Fn<? super C,?> maker)
|
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ConcurrentMapCache
public ConcurrentMapCache(Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>> mapGetter,
Fn<? super C,K> keyGetter,
Fn<? super C,?> maker)
exec
public java.lang.Object exec(C c)
- インタフェース
Fn
の記述:
- 関数を実行します。
- 定義:
- インタフェース
Fn<C,java.lang.Object>
内の exec
- パラメータ:
c
- コンテキスト役。
- 戻り値:
- 返却値。
getKeyGetter
public Fn<? super C,? extends K> getKeyGetter()
setKeyGetter
public void setKeyGetter(Fn<? super C,? extends K> keyGetter)
getMaker
public Fn<? super C,?> getMaker()
setMaker
public void setMaker(Fn<? super C,?> maker)
getMapGetter
public Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>> getMapGetter()
setMapGetter
public void setMapGetter(Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>> mapGetter)
Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.