T
- ユーザー定義の最上位状態クラス。EP
- イベントプロトコルとなるインターフェース。public class Machine<T extends StateDef,EP> extends MachineBase
Modifier and Type | Class and Description |
---|---|
(package private) class |
Machine.MyHandler |
currentState, rtcout, topState
Constructor and Description |
---|
Machine(java.lang.Class<T> topState,
java.lang.Class<EP> eventProtocolInterface,
java.lang.Object data)
状態遷移マシンを初期化する。
|
Machine(java.lang.Class<T> topState,
java.lang.Class<EP> eventProtocolInterface,
State state,
java.lang.Object data)
最初の状態を指定して状態遷移マシンを初期化する。
|
Modifier and Type | Method and Description |
---|---|
EP |
current()
イベントを発生させるためのエンドポイントを取得する。
イベントハンドラをメソッド呼び出しの形で以下のように記述できる。
machine.current().eventHandler(param)
エンドポイントは java.lang.reflect.Proxy のインスタンスとなっている。 |
boolean |
isCurrent(java.lang.Class<? extends T> stateClass)
現在の状態を調べる。
|
boolean |
isCurrentDirect(java.lang.Class<? extends T> stateClass)
現在の状態を調べる。
|
addDeferredEvent, clearHistory, clearHistoryDeep, data, dispatch, getInfo, performPending, setInfo, setPendingState, setState, setState, setState, shutdown
public Machine(java.lang.Class<T> topState, java.lang.Class<EP> eventProtocolInterface, java.lang.Object data)
topState
- ユーザー定義の最上位状態クラス。eventProtocolInterface
- ベントプロトコルとなるインターフェース。data
- 最上位状態クラスが初期状態で持つデータ。ない場合はnullを指定する。public Machine(java.lang.Class<T> topState, java.lang.Class<EP> eventProtocolInterface, State state, java.lang.Object data)
topState
- ユーザー定義の最上位状態クラス。eventProtocolInterface
- ベントプロトコルとなるインターフェース。state
- 開始時の状態。data
- 最上位状態クラスが初期状態で持つデータ。ない場合はnullを指定する。public boolean isCurrent(java.lang.Class<? extends T> stateClass)
stateClass
- ここで指定した状態かどうかを調べる。public boolean isCurrentDirect(java.lang.Class<? extends T> stateClass)
stateClass
- ここで指定した状態かどうかを調べる。public EP current()
machine.current().eventHandler(param)
エンドポイントは java.lang.reflect.Proxy のインスタンスとなっている。