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

## woolpack.dom
クラス CacheNode

    java.lang.Object
      woolpack.dom.CacheNode

すべての実装されたインタフェース:
  DomExpression

直系の既知のサブクラス:
  LocaleCacheNode

    public class CacheNode

extends java.lang.Object
implements DomExpression

DOM ノードをキャッシュする`DomExpression`。 委譲先で生成される`Node`が`getCacheKey(String)`に対して一意であることを想定しているため並行性制御を行っていない。 適用しているパターン：Proxy, Template Method。

作成者:
  nakamura

コンストラクタの概要
`CacheNode(java.util.Map<java.lang.Object,org.w3c.dom.Node> cacheMap, DomExpression nodeMaker)` コンストラクタ。

メソッドの概要
`java.lang.Object` | `getCacheKey(java.lang.String id)` 委譲先で生成する DOM ノードを一意に識別するキーを取得するために呼び出される(called)。
`void` | `interpret(DomContext context)` DOM ノードを加工するために呼び出される(called)。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### CacheNode

    public CacheNode(java.util.Map<java.lang.Object,org.w3c.dom.Node> cacheMap,
                     DomExpression nodeMaker)

  コンストラクタ。

  パラメータ:
    `cacheMap` - キャッシュ。本クラスはこの引数の状態を変化させる。null が指定された場合はキャッシュを行わない。`LinkedHashMap.removeEldestEntry(java.util.Map.Entry)`を指定した`LinkedHashMap`を指定するとキャッシュの容量を制御することができる。`HashMap`などの強参照の`Map`を指定すると容量制限のないキャッシュになる。`WeakHashMap`を指定すると弱参照によるキャッシュになる。
    `nodeMaker` - DOM ノードを生成し加工する委譲先。
  例外:
    `java.lang.NullPointerException` - nodeMaker が null の場合。

メソッドの詳細

### interpret

    public void interpret(DomContext context)

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

  定義:
    インタフェース `DomExpression` 内の `interpret`
  パラメータ:
    `context` - コンテキスト。
  例外:
    `java.lang.NullPointerException` - 引数または生成された`DomContext.getNode()`が null の場合。

### getCacheKey

    public java.lang.Object getCacheKey(java.lang.String id)

  委譲先で生成する DOM ノードを一意に識別するキーを取得するために呼び出される(called)。 `WeakHashMap`により GC されるようにするため、デフォルトは id でなく new String(id) を返す。 `Locale`や端末ごとに DOM ノードをキャッシュする際にオーバライドする。 オーバライドする際は DOM ノードを生成するクラスと整合性を保つ必要がある。

  パラメータ:
    `id` - 委譲先で DOM ノードを生成するのに使用した id。
  戻り値:
    委譲先で生成する DOM ノードを一意に識別するキー。

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

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