woolpack.dom
インタフェース DomExpression
- 既知の実装クラスの一覧:
- AbstractCountProperty, AbstractNodeLoop, AutoUpdate, AutoUpdate2, Branch, BranchButton, BranchByAttrValue, BranchByLocale, BranchPropertyCount, CacheNode, ConfigDomExpression, Count, DelegateDomExpression, DoAcquire, DoAcquireSession, DoAcquireTransaction, DoEL, DumpIfCatch, FormatAttrValue, FormatId, FrameToTable, HiddenAllToChild, If, InsertElementToChild, InsertElementToParent, JoinProcess, LocaleCacheNode, LocaleId, Loop, MakeRadio, MakeSelect, MeasureLapTime, NodeLoopDelegate, RemoveAttr, ReplaceText, ReplaceTextToChild, ResetId, RunnableDomExpression, SaveInputForBack, Serial, Sleep, ToNodeUsingNeko, UpdateAttrValue, UpdateToSelectedValue, UpdateValue, UpdateValue2, XmlToNode, XPath
public interface DomExpression
DOM ノードを加工することが可能であることを表す。 実装クラスのコンストラクタツリーは複数のスレッドまたは複数の J2EE
セッションから同時に実行されることを想定しているため イミュータブルである必要がある。 よって以下のケースを除いて実装クラスは状態を持たないべきである。
(1)複数のスレッドまたは複数の J2EE セッションの並行性を制御するクラス(セマフォにより同時実行を制御するクラスなどが挙げられる)。
(2)ユーザから見てステートレスであるクラス(オブジェクトをキャッシュするクラスなどが挙げられる)。 (3)カウンタなどテストで使用するクラス。
ステートレスな実装クラスを作成する際、コンストラクタ引数の不変性に注意する必要がある。
特にコレクションフレームワークのインタフェース(Map/List/Set/Collection/Iterable)を引数で受け取る場合は
実装クラスでコピーをとるか引数に渡した後に状態を変更しないことを明記する必要がある。 適用しているパターン:Interpreter(Expression
役)。
- 作成者:
- nakamura
interpret
void interpret(DomContext context)
- DOM ノードを加工するために呼び出される(called)。
実装クラスでは、引数が null でないことを前提としてよい。
実装クラスで
RuntimeException
のサブ例外が発生する場合は
JavaDoc コメントに記載すると部品の可用性が維持される。
- パラメータ:
context
- コンテキスト。
Copyright (C) 2006 Takahiro Nakamura. All rights reserved.