Skip to content
This repository was archived by the owner on May 22, 2021. It is now read-only.

Commit 733fce9

Browse files
committed
Event Handler support added
1 parent 0676434 commit 733fce9

File tree

5 files changed

+15
-5
lines changed

5 files changed

+15
-5
lines changed

src/main/java/Main2.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import stateMachine.Event;
12
import stateMachine.MyStateMachine;
23

34
import java.util.Scanner;
@@ -13,7 +14,7 @@ public static void main(String[] args){
1314
String input = "";
1415
while(!input.equals("exit")){
1516
input = sc.nextLine();
16-
ms.notifyEvent(input);
17+
ms.notifyEvent(new Event(input).setType(Event.Type.SEND));
1718
}
1819
}
1920
}

src/main/java/stateMachine/AbstractStateMachine.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ public void stop(){
4848
eventHandler.stop();
4949
}
5050

51-
public void notifyEvent(String event){
52-
this.currentState = this.currentState.notifyEvent(event);
51+
public void notifyEvent(Event e){
52+
this.eventHandler.notifyEvent(e);
5353
}
5454

5555
public void connectToEvent(String eventName, Object object, Method method){

src/main/java/stateMachine/Event.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,9 @@ public int getDelay(){
4545
public Type getType(){
4646
return this.type;
4747
}
48+
49+
public Event setType(Type t){
50+
this.type = t;
51+
return this;
52+
}
4853
}

src/main/java/stateMachine/EventHandler.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,8 @@ private Event getNextEvent(){
5050
}
5151
return null;
5252
}
53+
54+
public void notifyEvent(Event e) {
55+
this.eventsStack.add(e);
56+
}
5357
}

src/main/java/stateMachine/EventSender.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ public class EventSender extends Caller {
77

88
public EventSender(String event, AbstractStateMachine stateMachine, int delay){
99
super.calledObject = stateMachine;
10-
super.args = new String[] {event};
10+
super.args = new Event[] {new Event(event).setType(Event.Type.SEND) };
1111
super.delay = delay;
1212
try {
13-
super.calledMethod = super.calledObject.getClass().getMethod("notifyEvent", String.class);
13+
super.calledMethod = super.calledObject.getClass().getMethod("notifyEvent", Event.class);
1414
} catch (NoSuchMethodException e) {
1515
e.printStackTrace();
1616
}

0 commit comments

Comments
 (0)