Woolpack API

woolpack.visitor
クラス Visitor<S,E extends java.lang.Exception>

java.lang.Object
  上位を拡張 woolpack.visitor.Visitor<S,E>
型パラメータ:
S - サブコンテキスト。
E - 例外。

public class Visitor<S,E extends java.lang.Exception>
extends java.lang.Object

インタープリタ デザインパターンの Expression 役と Context 役との間をダブルディスパッチする方式で定義した Visitor デザインパターンの Visitor 役です。 visit(Object)メソッドは まず引数の element をキーとして委譲先を検索します。 最初にマッチした場合は委譲して処理を終了します。 次に引数の element のクラス名の代入可能性で委譲先を検索します。 最初にマッチした場合は委譲して処理を終了します。 いずれもマッチしない場合はなにもしないで処理を終了します。 このクラスは LSP(The Liskov Substitution Principle) を満たしません。
適用しているデザインパターン:Visitor, Interpreter(Context役)。

作成者:
nakamura

コンストラクタの概要
Visitor()
           
 
メソッドの概要
 java.lang.Object getElement()
           
 java.util.Map<java.lang.Object,? extends Fn<? super Visitor<S,E>,java.lang.Void,? extends E>> getMap()
           
 S getSubContext()
           
 void setElement(java.lang.Object element)
           
 void setMap(java.util.Map<java.lang.Object,? extends Fn<? super Visitor<S,E>,java.lang.Void,? extends E>> map)
           
 void setSubContext(S context)
           
 void visit()
           
 void visit(java.lang.Object element)
           
 void visit(java.lang.Object element, Fn<? super Visitor<S,E>,java.lang.Void,? extends E> acceptor)
          setElement(Object)を一時的に設定して委譲し、 委譲先から復帰したときに呼び出し時の状態に初期化します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Visitor

public Visitor()
メソッドの詳細

visit

public void visit(java.lang.Object element)
           throws E extends java.lang.Exception
例外:
E extends java.lang.Exception

visit

public void visit(java.lang.Object element,
                  Fn<? super Visitor<S,E>,java.lang.Void,? extends E> acceptor)
           throws E extends java.lang.Exception
setElement(Object)を一時的に設定して委譲し、 委譲先から復帰したときに呼び出し時の状態に初期化します。

パラメータ:
element - 一時的に置き換えるエレメント。
acceptor - 委譲先。
例外:
E extends java.lang.Exception

visit

public void visit()
           throws E extends java.lang.Exception
例外:
E extends java.lang.Exception

getSubContext

public S getSubContext()

setSubContext

public void setSubContext(S context)

getMap

public java.util.Map<java.lang.Object,? extends Fn<? super Visitor<S,E>,java.lang.Void,? extends E>> getMap()

setMap

public void setMap(java.util.Map<java.lang.Object,? extends Fn<? super Visitor<S,E>,java.lang.Void,? extends E>> map)
パラメータ:
map - 変数またはそのクラスオブジェクトと委譲先の対応表。

getElement

public java.lang.Object getElement()

setElement

public void setElement(java.lang.Object element)

Woolpack API

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