概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| Woolpack API
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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

フィールドの概要
`static int` | `DEFAULT_DEPTH` ダブルディスパッチの深さ閾値のデフォルト値です。

コンストラクタの概要
`ContainerContext()`

メソッドの概要
`int` | `getDepth()`
`Fn<? super ContainerContext<S>,?,? extends java.lang.Exception>` | `getFn()`
`java.lang.Object` | `getKey()`
`S` | `getSubContext()`
`void` | `setDepth(int depth)`
`void` | `setFn(Fn<? super ContainerContext<S>,?,? extends java.lang.Exception> fn)`
`void` | `setKey(java.lang.Object key)`
`void` | `setSubContext(S subContext)`
`java.lang.Object` | `visit(java.lang.Object key)` 引数のキーを一時的に設定して委譲し、 委譲先から復帰したときに呼び出し時の状態に初期化します。

クラス 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)

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| Woolpack API
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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