How do I inject generic type to instance of non-generic interface type? for example:
I have interface class MessageHandler
public interface MessageHandler {
public IMessage HandleMessage(String messagePath, String jobId);
}
I have generic class that implements this interface ProtobufMessageHandler
public class ProtobufMessageHandler<T> implements MessageHandler
{
private T message
}
I have an object that contains an instance of MessageHandler which should be filled with one of the implementations of the MessageHandler interface
public class Publisher {
private MessageHandler messageHandler;
}
I want to inject in some cases ProtobufMessageHandler into Publisher.messageHandler and in other cases inject ProtobufMessageHandler into Publisher.messageHandler
Is there any way to do that?