予備知識。
  Woolpack を使用するための予備知識とその簡単な説明を以下に示します。(順不同)
  1. OGNL(Object Graph Navigation Language)
     式言語の一種です。Woolpack では主に Context 役に対して作用させます。 次の例はリクエストスコープのプロパティ名 "key0" に値 "value0" を設定する操作を表します。

     request.key0 = "value0"

     次の例はノードの属性 "name" の値が "name0" の場合、マップ config のキー "name0" の値を表します。

     config[node.getAttribute("name")]

     Woolpack では Java 言語の文字列として OGNL を指定する必要があるため、 ダブルクォートがエスケープされることに注意する必要があります。
  2. XPath
     XML の位置を表すパス言語です。Woolpack では基点から任意の距離を表す表現 "//" を多用します。 次の例はノードの属性 "id" の値が "dummy" であるか、 または属性 "name" の値が "dummy" である基点以下の全てのエレメントを表します。

     //*[@id=\"dummy\" or @name=\"dummy\"]

     Jakarta Commons JXPath 1.2 では、XML だけでなく Java インスタンスの構造に対して XPath 拡張言語により検索と値設定が可能です。
  3. DOM(Document Object Model)
     HTML または XML をオブジェクトで表現し操作するための API です。 Woolpack では DOM による操作を Expression 役の実装でカプセル化するため、 ユーザが直接 DOM を操作することは多くありません。
  4. 正規表現(java.util.regex パッケージ)
     文字列の集合を一つの形式で表現する言語です(Wikipediaより)。 Woolpack では java.util.regex パッケージの正規表現を利用します。 Woolpack では正規表現を Expression 役実装のひとつとして部品化しており、 インタープリタ デザインパターンの中で容易に使用することができます。 次の正規表現は "user_registerConfirm","user_registerResult","user_updateConfirm","user_updateResult" にマッチします。

     user_(register|update)(Confirm|Result)

     正規表現を利用して値を変換することができます。 次の例は例えば"a0/a1/a2"を"a2"に変換する部品です。"$1"は1番目の丸括弧に該当する文字列を示します。

     new RegExpConverter("^.*/([^/]+)$", "$1"))

トップに戻る
Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.