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

com.cqrs.questions.AnswererResolverByMap Maven / Gradle / Ivy

package com.cqrs.questions;

import com.cqrs.annotations.HandlersMap;
import com.cqrs.annotations.MessageHandler;

import java.util.LinkedList;
import java.util.List;

public class AnswererResolverByMap implements AnswererResolver {

    private final HandlersMap handlersMap;

    public AnswererResolverByMap(
        HandlersMap handlersMap
    ) {
        this.handlersMap = handlersMap;
    }

    @Override
    public MessageHandler findAnswerer(Object question) {
        List handlers = handlersMap.getMap().getOrDefault(question.getClass().getCanonicalName(), new LinkedList<>());
        return handlers.isEmpty() ? null : handlers.get(0);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy