public class MachineBase
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected StateInfo |
currentState |
protected Logbuf |
rtcout
Format object for Logging
|
protected java.lang.Class<? extends StateBase> |
topState |
Modifier | Constructor and Description |
---|---|
protected |
MachineBase(java.lang.Class<? extends StateBase> topState) |
Modifier and Type | Method and Description |
---|---|
void |
addDeferredEvent(Event event,
java.lang.String name) |
void |
clearHistory(java.lang.Class<? extends StateBase> stateClass)
保存された履歴を削除する。
|
void |
clearHistoryDeep(java.lang.Class<? extends StateBase> stateClass)
保存された深い履歴を削除する。
|
java.lang.Object |
data() |
void |
dispatch(Event event)
イベントを発生させる。
|
protected StateInfo |
getInfo(java.lang.Class stateClass)
対応するStateInfoを取得する。
|
(package private) void |
performDeferredEvents() |
protected void |
performPending() |
void |
setInfo(java.lang.Class stateClass,
StateInfo info) |
(package private) void |
setPendingEvent(Event event) |
protected void |
setPendingState(StateInfo info,
boolean history,
java.lang.Object data) |
void |
setState(State state,
boolean history)
Machineに対して直接状態遷移を指示する。イベントハンドラ外から使用する。
アプリケーションで本来想定していない遷移も可能のため、主にテスト目的。
|
void |
setState(State state,
boolean history,
java.lang.Object data)
Machineに対して直接状態遷移を指示する。イベントハンドラ外から使用する。
アプリケーションで本来想定していない遷移も可能のため、主にテスト目的。
|
void |
setState(StateInfo info,
boolean history,
java.lang.Object data) |
void |
shutdown() |
protected StateInfo currentState
protected final java.lang.Class<? extends StateBase> topState
protected Logbuf rtcout
protected MachineBase(java.lang.Class<? extends StateBase> topState)
protected final StateInfo getInfo(java.lang.Class stateClass)
stateClass
- この状態についての情報を取得する。public void setInfo(java.lang.Class stateClass, StateInfo info)
public void setState(StateInfo info, boolean history, java.lang.Object data)
protected void setPendingState(StateInfo info, boolean history, java.lang.Object data)
protected void performPending()
public void addDeferredEvent(Event event, java.lang.String name)
void performDeferredEvents()
public java.lang.Object data()
void setPendingEvent(Event event)
public void shutdown()
public void dispatch(Event event)
event
- 発生させるイベントオブジェクト。public void clearHistory(java.lang.Class<? extends StateBase> stateClass)
保存された履歴を削除する。
C++の実装ではLinkクラスのstaticメソッドだが、Javaの制限により、Machineクラスのメソッドとしている。
stateClass
- 履歴を削除したいユーザー定義状態クラスpublic void clearHistoryDeep(java.lang.Class<? extends StateBase> stateClass)
保存された深い履歴を削除する。
C++の実装ではLinkクラスのstaticメソッドだが、Javaの制限により、Machineクラスのメソッドとしている。
stateClass
- 履歴を削除したいユーザー定義状態クラスpublic void setState(State state, boolean history)
state
- 遷移先の状態history
- 履歴を使うかどうかpublic void setState(State state, boolean history, java.lang.Object data)
state
- 遷移先の状態history
- 履歴を使うかどうかdata
- 遷移先の状態に設定するデータ