
org.reactivecommons.async.impl.HandlerResolver Maven / Gradle / Ivy
package org.reactivecommons.async.impl;
import lombok.RequiredArgsConstructor;
import org.reactivecommons.async.api.handlers.registered.RegisteredCommandHandler;
import org.reactivecommons.async.api.handlers.registered.RegisteredEventListener;
import org.reactivecommons.async.api.handlers.registered.RegisteredQueryHandler;
import java.util.Collection;
import java.util.Map;
@RequiredArgsConstructor
public class HandlerResolver {
private final Map queryHandlers;
private final Map eventListeners;
private final Map commandHandlers;
@SuppressWarnings("unchecked")
public RegisteredQueryHandler getQueryHandler(String path) {
return (RegisteredQueryHandler) queryHandlers.get(path);
}
@SuppressWarnings("unchecked")
public RegisteredCommandHandler getCommandHandler(String path) {
return commandHandlers.get(path);
}
@SuppressWarnings("unchecked")
public RegisteredEventListener getEventListener(String path) {
return eventListeners.get(path);
}
public Collection getEventListeners() {
return eventListeners.values();
}
void addEventListener(RegisteredEventListener listener) {
eventListeners.put(listener.getPath(), listener);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy