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; } }