|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectwoolpack.dom.CacheNode
public class CacheNode
DOM ノードをキャッシュするDomExpression
。
委譲先で生成されるNode
がgetCacheKey(String)
に対して一意であることを想定しているため並行性制御を行っていない。
適用しているパターン:Proxy, Template Method。
コンストラクタの概要 | |
---|---|
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 |
コンストラクタの詳細 |
---|
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 の場合。メソッドの詳細 |
---|
public void interpret(DomContext context)
DomExpression
の記述: RuntimeException
のサブ例外が発生する場合は JavaDoc コメントに記載すると部品の可用性が維持される。
DomExpression
内の interpret
context
- コンテキスト。
java.lang.NullPointerException
- 引数または生成されたDomContext.getNode()
が null の場合。public java.lang.Object getCacheKey(java.lang.String id)
WeakHashMap
により GC されるようにするため、デフォルトは id でなく new String(id) を返す。
Locale
や端末ごとに DOM ノードをキャッシュする際にオーバライドする。
オーバライドする際は DOM ノードを生成するクラスと整合性を保つ必要がある。
id
- 委譲先で DOM ノードを生成するのに使用した id。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |