From eb6d5729b61ebbaab4b1159d100c0cebf505ef0b Mon Sep 17 00:00:00 2001 From: extio-de Date: Sun, 21 Dec 2025 23:50:42 +0100 Subject: [PATCH] Refactor EventService to interface and implement EventServiceImpl; update EventsAutoConfiguration to use the new implementation --- .../extio/game_engine/event/EventService.java | 29 +++++-------------- .../game_engine/event/EventServiceImpl.java | 29 +++++++++++++++++++ .../event/EventsAutoConfiguration.java | 2 +- 3 files changed, 38 insertions(+), 22 deletions(-) create mode 100644 src/main/java/de/extio/game_engine/event/EventServiceImpl.java diff --git a/src/main/java/de/extio/game_engine/event/EventService.java b/src/main/java/de/extio/game_engine/event/EventService.java index b70e503..6348b54 100644 --- a/src/main/java/de/extio/game_engine/event/EventService.java +++ b/src/main/java/de/extio/game_engine/event/EventService.java @@ -2,25 +2,12 @@ package de.extio.game_engine.event; import java.util.function.Consumer; -public class EventService { - - private final EventHandlerRegistry registry; - private final EventExecutor executor; - - public EventService(final EventHandlerRegistry registry, final EventExecutor executor) { - this.registry = registry; - this.executor = executor; - } - - public void register(final Class eventClass, final String consumerId, final Consumer consumer) { - this.registry.register(eventClass, consumerId, consumer); - } - - public void unregister(final Class eventClass, final String consumerId) { - this.registry.unregister(eventClass, consumerId); - } - - public void fire(final Event event) { - this.executor.submit(event); - } +public interface EventService { + + void register(Class eventClass, String consumerId, Consumer consumer); + + void unregister(Class eventClass, String consumerId); + + void fire(Event event); + } diff --git a/src/main/java/de/extio/game_engine/event/EventServiceImpl.java b/src/main/java/de/extio/game_engine/event/EventServiceImpl.java new file mode 100644 index 0000000..2204119 --- /dev/null +++ b/src/main/java/de/extio/game_engine/event/EventServiceImpl.java @@ -0,0 +1,29 @@ +package de.extio.game_engine.event; + +import java.util.function.Consumer; + +public class EventServiceImpl implements EventService { + + private final EventHandlerRegistry registry; + private final EventExecutor executor; + + public EventServiceImpl(final EventHandlerRegistry registry, final EventExecutor executor) { + this.registry = registry; + this.executor = executor; + } + + @Override + public void register(final Class eventClass, final String consumerId, final Consumer consumer) { + this.registry.register(eventClass, consumerId, consumer); + } + + @Override + public void unregister(final Class eventClass, final String consumerId) { + this.registry.unregister(eventClass, consumerId); + } + + @Override + public void fire(final Event event) { + this.executor.submit(event); + } +} diff --git a/src/main/java/de/extio/game_engine/event/EventsAutoConfiguration.java b/src/main/java/de/extio/game_engine/event/EventsAutoConfiguration.java index 7a0c143..55808d0 100644 --- a/src/main/java/de/extio/game_engine/event/EventsAutoConfiguration.java +++ b/src/main/java/de/extio/game_engine/event/EventsAutoConfiguration.java @@ -20,7 +20,7 @@ public class EventsAutoConfiguration { @Bean EventService eventService(final EventHandlerRegistry registry, final EventExecutor executor) { - final EventService eventService = new EventService(registry, executor); + final EventService eventService = new EventServiceImpl(registry, executor); return eventService; } }