All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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