予備知識。
  Woolpack を使用するための予備知識とその簡単な説明を以下に示します。(順不同)
  1. Generics(汎用型)
     型をパラメータ化して扱う言語機構です。JSE5 からサポートされています。 静的型宣言により見える化と品質が維持されます。 Woolpack では関数を汎用型のインタフェースで定義し、部品を汎用的に定義しています。 次の例はキー・値とも文字列型の HashMap の初期化宣言です。

     final Map<String,String> map = new HashMap<String,String>();

  2. OGNL(Object Graph Navigation Language)
     式言語の一種です。Woolpack では主に Context 役に対して作用させます。 次の例はリクエストスコープのプロパティ名 "key0" に値 "value0" を設定する操作を表します。

     request.key0 = "value0"

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

     config[node.getAttribute("name")]

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

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

     Jakarta Commons JXPath 1.2 では、XML だけでなく Java インスタンスの構造に対して XPath 拡張言語により検索と値設定が可能です。
  4. DOM(Document Object Model)
     HTML または XML をオブジェクトで表現し操作するための API です。 Woolpack では DOM による操作を Expression 役の実装でカプセル化するため、 ユーザが直接 DOM を操作することは多くありません。
  5. 正規表現(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"))

  6. コレクションフレームワーク(java.util パッケージ)
     コレクションとはオブジェクトのグループを表すオブジェクトのことです(JSE の API リファレンスより)。 重複要素を持たない Set、順序付けられた一覧を表す List、キーと値の組の集合を表す Map、一覧を表す Collection、一覧の反復子を表す Iterator などの概念を持ちます。 またコレクションフレームワークには含まれませんが、反復可能であることを表す Iterable をWoolpack で多用します。

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