feat(event): Add unregisterAll method to EventService and EventHandlerRegistry
This commit is contained in:
@@ -22,6 +22,12 @@ public class EventHandlerRegistry {
|
||||
consumers.removeIf(ec -> ec.id().equals(consumerId));
|
||||
}
|
||||
}
|
||||
|
||||
public void unregisterAll(final String consumerId) {
|
||||
for (final var consumers : this.handlers.values()) {
|
||||
consumers.removeIf(ec -> ec.id().equals(consumerId));
|
||||
}
|
||||
}
|
||||
|
||||
List<EventConsumer> getHandlers(final Class<? extends Event> eventClass) {
|
||||
return this.handlers.get(eventClass);
|
||||
|
||||
@@ -7,6 +7,8 @@ public interface EventService {
|
||||
<T extends Event> void register(Class<T> eventClass, String consumerId, Consumer<T> consumer);
|
||||
|
||||
void unregister(Class<? extends Event> eventClass, String consumerId);
|
||||
|
||||
void unregisterAll(String consumerId);
|
||||
|
||||
void fire(Event event);
|
||||
|
||||
|
||||
@@ -22,6 +22,11 @@ public class EventServiceImpl implements EventService {
|
||||
this.registry.unregister(eventClass, consumerId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unregisterAll(final String consumerId) {
|
||||
this.registry.unregisterAll(consumerId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fire(final Event event) {
|
||||
this.executor.submit(event);
|
||||
|
||||
Reference in New Issue
Block a user