public class Event extends Transition
Event class can be directly used or extended to define your own events.
The above example shows how a state machine, sm1, can receive "longPress" events provided
by another state machine, sm2.
StateMachine sm1, sm2;
...
sm1 = new StateMachine() {
public State start = new State("start") {
public Transition event = new Event("longPress") {
public void action() {
System.out.println("a long press event");
}
};
};
};
sm2 = new StateMachine() {
public State start = new State("start") {
public Transition press = new Press(BUTTON1, ">> wait") {
public void action() {
armTimer(1000);
}
};
};
public State wait = new State("wait") {
public Transition release = new Release(BUTTON1, ">> start") {
public void action() {
disarmTimer();
}
};
public Transition longPress = new TimeOut(">> start") {
public void action() {
sm1.processEvent(new VirtualEvent("longPress"));
}
};
};
};
| Constructor and Description |
|---|
Event(java.lang.Class eventClass)
Builds a transition with no modifier that
is triggered by any virtual events
whose type is a subclass of
eventClass. |
Event(java.lang.Class eventClass,
java.lang.String outputState)
Builds a transition with no modifier that
is triggered by any virtual events
whose type is a subclass of
eventClass. |
Event(java.lang.String keyEvent)
Builds a transition on a position with no modifier
that loops on current state.
|
Event(java.lang.String keyEvent,
java.lang.String outputState)
Builds a transition with no modifier.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Class<?> |
getClassEvent() |
boolean |
matches(java.util.EventObject eventObject)
Tests if an event can trigger that transition.
|
java.lang.String |
toString() |
action, getEvent, getInputState, getOutputState, guard, manageEventID, oldToString, pickingRequired, setTriggeringEventpublic Event(java.lang.String keyEvent,
java.lang.String outputState)
keyEvent - The event that triggers this transitionoutputState - The name of the output statepublic Event(java.lang.String keyEvent)
keyEvent - The event that triggers this transitionpublic Event(java.lang.Class eventClass,
java.lang.String outputState)
eventClass.eventClass - The class of eventsoutputState - The name of the output statepublic Event(java.lang.Class eventClass)
eventClass.eventClass - The class of eventspublic boolean matches(java.util.EventObject eventObject)
matches in class TransitioneventObject - The event to testeventObject
can trigger this transition.public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.Class<?> getClassEvent()