From f6e5c90a449836812dfbf0c1b68bb4ad2f1242da Mon Sep 17 00:00:00 2001 From: delvh Date: Fri, 25 Sep 2020 16:22:27 +0200 Subject: [PATCH 1/2] Add static event handler test --- src/test/java/dev/kske/eventbus/EventBusTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/dev/kske/eventbus/EventBusTest.java b/src/test/java/dev/kske/eventbus/EventBusTest.java index c754bb9..3a2fd42 100644 --- a/src/test/java/dev/kske/eventbus/EventBusTest.java +++ b/src/test/java/dev/kske/eventbus/EventBusTest.java @@ -12,7 +12,7 @@ import org.junit.jupiter.api.*; */ class EventBusTest implements EventListener { - int hits; + static int hits; @BeforeEach public void registerListener() { @@ -36,7 +36,7 @@ class EventBusTest implements EventListener { } @Event(eventType = SimpleEvent.class, priority = 150) - private void onSimpleEventSecond() { + private static void onSimpleEventSecond() { ++hits; assertEquals(3, hits); } From cd2598d5d39172c086d4a8578b8bf2816940af8a Mon Sep 17 00:00:00 2001 From: delvh Date: Sat, 26 Sep 2020 09:59:08 +0200 Subject: [PATCH 2/2] Add Section About Static Methods in README (#2) Add paragraph about static methods in README Co-authored-by: kske Reviewed-on: https://git.kske.dev/zdm/event-bus/pulls/2 Reviewed-by: kske --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 07e8240..a4a7576 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,15 @@ public class SimpleEventListener implements EventListener { In this case, an event bus is created and used locally. In a more sophisticated example the class would acquire an external event bus that is used by multiple classes. +Note that creating static event handlers like this + +```java + @Event + private static void onSimpleEvent(SimpleEvent event) ... +``` + +is technically possible, however you would still have to create an instance of the event listener to register it at an event bus. + ## Event handlers for subtypes On certain occasions its practical for an event handler to accept both events of the specified type, as well as subclasses of that event.