|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectwoolpack.visitor.Visitor
public class Visitor
Visitor デザインパターンの Visitor 役。 オリジナルの Visitor デザインパターンでは Element 役実装毎に Visitor
役インタフェースの visit メソッドを用意する(オーバロードする)ことを前提にしているが、 本設計では visit メソッドの内部で accept
メソッドの役割(Acceptable)を分岐する。 適用しているパターン:Visitor。
| コンストラクタの概要 | |
|---|---|
|
Visitor()
コンストラクタ。 |
protected |
Visitor(Visitor base)
浅いコピーコンストラクタ。 |
| メソッドの概要 | |
|---|---|
Visitor |
copy()
浅いコピーを行う。 |
java.lang.Object |
getContext()
コンテキストを返す。 |
java.util.Map<java.lang.Object,Acceptable> |
getMap()
委譲先 Acceptableを分岐する定義としての、
Element 役実装またはそのクラスオブジェクトと
AcceptableのMapを返す。 |
void |
setContext(java.lang.Object context)
コンテキストを設定する。 |
void |
setMap(java.util.Map<java.lang.Object,Acceptable> map)
委譲先 Acceptableを分岐する定義としての、
Element 役実装(またはそのクラスオブジェクト)と
AcceptableのMapを設定する。 |
void |
visit(java.lang.Object o)
利用クラスが直接呼び出すか、または Acceptable.accept(Visitor, Object)
から呼び出される(called)。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public Visitor()
protected Visitor(Visitor base)
base - コピー元。| メソッドの詳細 |
|---|
public void visit(java.lang.Object o)
Acceptable.accept(Visitor, Object)
から呼び出される(called)。
このメソッドはまず引数をキーとしてgetMap()を検索する。
最初にマッチした場合は対応するAcceptableに処理を委譲し処理を終了する。
次に引数のクラス名の代入可能性をgetMap()からキーを順に取り出して検証する。
最初にマッチした場合は対応するAcceptableに処理を委譲し処理を終了する。
いずれもマッチしない場合はなにもしないで処理を終了する。
o - Element 役。
java.lang.NullPointerException - mapが null の場合。public java.lang.Object getContext()
Acceptable.accept(Visitor, Object)から呼び出されることを想定している。
public void setContext(java.lang.Object context)
Acceptable.accept(Visitor, Object)で利用することを想定している。
context - コンテキストを設定する。public java.util.Map<java.lang.Object,Acceptable> getMap()
Acceptableを分岐する定義としての、
Element 役実装またはそのクラスオブジェクトと
AcceptableのMapを返す。
AcceptableのMap。public void setMap(java.util.Map<java.lang.Object,Acceptable> map)
Acceptableを分岐する定義としての、
Element 役実装(またはそのクラスオブジェクト)と
AcceptableのMapを設定する。
map - Element 役実装とAcceptableのMap。public Visitor copy()
Cloneableは実装していない。
Visitor。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||