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