概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 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()`で返されるキーに対して 一意であることを想定しているため並行性制御を行っていない。 適用しているパターン：Proxy, Template Method。

作成者:
  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`を一意に識別するためのキーを取得するために `interpret(ConfigContext)`から呼び出される(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`を委譲先に指定した `NewStringKeyMap` を指定すると弱参照によるキャッシュになる。
    `mapMaker` - `Map`を生成し加工するための委譲先`ConfigExpression`。
  例外:
    `java.lang.NullPointerException` - mapMaker が null の場合。

メソッドの詳細

### interpret

    public void interpret(ConfigContext context)

  インタフェース `ConfigExpression` の記述:
  `Map`を加工するために呼び出される(called)。 実装クラスでは、引数が null でないことを前提としてよい。 実装クラスで`RuntimeException`のサブ例外が発生する場合は JavaDoc コメントに記載すると部品の可用性が維持される。

  定義:
    インタフェース `ConfigExpression` 内の `interpret`
  パラメータ:
    `context` - コンテキスト。
  例外:
    `NullPointerExcpeption` - 引数が null の場合。

### getCacheKey

    public java.lang.Object getCacheKey()

  委譲先で生成する`Map`を一意に識別するためのキーを取得するために `interpret(ConfigContext)`から呼び出される(called)。 デフォルトは常に同一のインスタンスを返す。 これは`WeakHashMap`が指定されていてもGCにより改修されないオブジェクトである。 `Locale`や端末ごとに`Map`をキャッシュする際にオーバライドする。 オーバライドする際は`PutResourceBundle.getResourceBundle(String)` と整合性を保つ必要がある。

  戻り値:
    委譲先で生成する`Map`を一意に識別するためのキー。

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

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