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, setTriggeringEvent
public 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 Transition
eventObject
- The event to testeventObject
can trigger this transition.public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Class<?> getClassEvent()