## Woolpack

Woolpack とは
  Woolpack は インタープリタ デザインパターン を汎用型で抽象化して関数型言語に似せた Java による API です。
  Woolpack is API by Java that abstracts the interpreter design pattern with generics and models it on the functional programming language.
Woolpack の特徴
  Woolpack の特徴を以下に示します。
  1. 開発効率が高いといわれる関数型言語の特性を インタープリタ デザインパターンを汎用型で抽象化することにより実現しています。
  2. Javaにおける多数のフレームワークでは設定を定義するためにXMLフォーマットを使用しますが、 Woolpack では XML で構造を表現する代わりにコンポジットを使用します。 これにより インタープリタ デザインパターンによる宣言的プログラミングと拡張性、 静的型定義と汎用型のエラー検出機構による品質確保、 式言語インタフェースで接続した動的型定義による設定の容易性 を同時に確保します。
  3. インタープリタ デザインパターンの Expression 役と Context 役との間をダブルディスパッチする方式で ビジター デザインパターンを再定義しています。 これにより、任意の構造に対してアスペクト(横断的関心)を適用することができます。
  4. DOMを加工するための処理をXSLTの様に宣言的に、 またMayaaの様にデザインと値の注入処理を分離して定義することができます。 また業務系プログラムで作成したデータ構造を HTMLのDOM表現に流し込む汎用的な部品を用意おり、 プログラマとデザイナの結合を疎に保ちます。 HTML フレームを HTML テーブルに変換する部品を用意しており、 HTML で作成したレイアウトをそのまま利用することができます。
  5. 入力値を検証し変換するための処理をJakarta Commons Validatorの様に宣言的に定義することができます。
  6. 値取得と値格納と作用のための式言語をインタフェースとして定義していて、 実装としてOGNLへのアダプタ、JXPathへのアダプタ、簡易パス言語を用意しています。 これにより Woolpack から POJO への作用を定義することができます。
目次
  1. Woolpack 設計の論理的背景
     1. インタープリタ デザインパターンのメタファ
     2. インタープリタ デザインパターンの特徴
     3. Woolpack のメタファ
     4. インタープリタ デザインパターンと LISP の論理的な関係
     5. 類似テンプレート技術との対応関係
     6. 類似ウェブアプリケーションフレームワーク技術との対応関係
  2. ダウンロード
  3. Woolpack の技術情報
     1. ソフトウェア要件
     2. 予備知識
     3. API リファレンス (フレームなし)
  4. 更新履歴
  5. 謝辞
  6. 参考資料
筆者紹介
  仲村貴大。沖縄出身。 大学2年の終わり頃からJavaを始めた1.0.2からのJavaプログラマです。 2006年4月現在で入社満4年。Strutsを利用した開発を2件担当しました。 2006年12月現在で tknakamuraの日記(http://d.hatena.ne.jp/tknakamura/)を行っています。 etmfa6i(l) fniawkoaempuerwa678 waite djmceoymm.shtobmieq.4nuep.sjkpn
ライセンス
  Woolpack は以下のライセンスでリリースしています。
  Apache License, Version 2.0
  ただし利用している外部ライブラリのライセンスはそれぞれに従います。
著作権表示
  Copyright (C) 2006 Takahiro Nakamura. All rights reserved.
商標
  Sun, Sun Microsystemsは米国およびその他の国における米国Sun Microsystems, Inc.の商標または登録商標です。 Javaおよびその他のJavaを含む標章は、米国Sun Microsystems, Inc.の商標であり、同社のJavaブランドの技術を使用した製品を指します。

以上