概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| Woolpack API
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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` | `exec(C c)` 関数を実行します。
`Fn<? super C,? extends K>` | `getKeyGetter()`
`Fn<? super C,?>` | `getMaker()`
`Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>>` | `getMapGetter()`
`void` | `setKeyGetter(Fn<? super C,? extends K> keyGetter)`
`void` | `setMaker(Fn<? super C,?> maker)`
`void` | `setMapGetter(Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>> mapGetter)`

クラス 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)

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| Woolpack API
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.