Woolpack API

パッケージ woolpack.visitor

インタープリタ デザインパターンの Expression 役と Context 役との間をダブルディスパッチする方式で定義した ビジター デザインパターンのパッケージです。

参照先:
          説明

クラスの概要
ArrayAcceptor<E extends Exception> エレメント役を配列とみなして、順次取り出した 値を引数にしてVisitor.visit(Object)に委譲する関数です。
BeanAcceptor<E extends Exception> エレメント役から順次取り出したプロパティの 名前と値を引数にしてVisitor.visit(Object)に委譲する関数です。
ComplexAcceptor<E extends Exception> 複合体を一段階分解した値を引数にして Visitor.visit(Object)に委譲する関数です。
EchoAcceptor<E extends Exception> Visitor.visit()に委譲する関数です。
ElementAcceptor<E extends Exception> コンテキストに DOM エレメントを追加して子ノードの処理を委譲する関数です。
FixAcceptor<E extends Exception> 固定値を引数にしてVisitor.visit(Object)に委譲する関数です。
IterableAcceptor<E extends Exception> エレメント役をIterableにキャストして、順次取り出した 値を引数にしてVisitor.visit(Object)に委譲する関数です。
MapAcceptor<E extends Exception> エレメント役をMapにキャストして、順次取り出した キーと値を引数にしてVisitor.visit(Object)に委譲する関数です。
Visitor<S,E extends Exception> インタープリタ デザインパターンの Expression 役と Context 役との間をダブルディスパッチする方式で定義した Visitor デザインパターンの Visitor 役です。
VisitorAppUtils visitorパッケージの一般的な応用を集めたユーティリティです。
 

パッケージ woolpack.visitor の説明

インタープリタ デザインパターンの Expression 役と Context 役との間をダブルディスパッチする方式で定義した ビジター デザインパターンのパッケージです。 一般の Visitor デザインパターンと本パッケージの Visitor デザインパターンの対応を以下に示します。

一般のVisitorパターン本パッケージ
Visitor役Visitor
visitメソッド(オーバロード機構を使用して一般に複数ある) Visitor.visit(Object)(このメソッドのみ)
Element役(acceptメソッドを除く) Visitor.visit(Object)に渡した任意のオブジェクト
Element役のacceptメソッド VisitorをコンテキストとしたFn実装
Element役のacceptメソッドの集合 Visitor.setMap(Map)に設定したキーとFnの対応表
本パッケージの Visitor デザインパターンには以下の特徴があります。
  1. 任意の構造に対してアスペクト(横断的関心)を適用することができます。
  2. acceptメソッドをFnとして部品化しているので、 キーとFnの対応表を加工することにより動作の一部を変更することができます。


Woolpack API

Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.