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

## 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` | `getCacheKey()` 委譲先で生成する`Map`を一意に識別するためのキーを取得するために呼び出される(called)。
`void` | `interpret(ConfigContext context)` `Map`を加工するために呼び出される(called)。

クラス 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`を一意に識別するためのキー。

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