woolpack.container
クラス ContainerContext<S>
java.lang.Object
woolpack.container.ContainerContext<S>
- 型パラメータ:
S
- サブコンテキスト。
public class ContainerContext<S>
- extends java.lang.Object
インタープリタ デザインパターンとダブルディスパッチを使用した、
オブジェクトの生成をフラット構造で定義するためコンテキストです。
適用しているデザインパターン:InterpreterのContext役、Double Dispatch。
- 作成者:
- nakamura
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_DEPTH
public static final int DEFAULT_DEPTH
- ダブルディスパッチの深さ閾値のデフォルト値です。
- 関連項目:
- 定数フィールド値
ContainerContext
public ContainerContext()
visit
public java.lang.Object visit(java.lang.Object key)
throws java.lang.Exception
- 引数のキーを一時的に設定して委譲し、
委譲先から復帰したときに呼び出し時の状態に初期化します。
- パラメータ:
key
-
- 戻り値:
- 生成されたオブジェクト。
- 例外:
java.lang.IllegalStateException
- ダブルディスパッチの深さが閾値を超えたか、またはキー参照の循環を検出した場合。
java.lang.Exception
getKey
public java.lang.Object getKey()
setKey
public void setKey(java.lang.Object key)
getFn
public Fn<? super ContainerContext<S>,?,? extends java.lang.Exception> getFn()
setFn
public void setFn(Fn<? super ContainerContext<S>,?,? extends java.lang.Exception> fn)
getSubContext
public S getSubContext()
setSubContext
public void setSubContext(S subContext)
getDepth
public int getDepth()
setDepth
public void setDepth(int depth)
Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.