Как ввести универсальный тип в экземпляр не универсального типа интерфейса?
например:
У меня есть интерфейс класса MessageHandler
public interface MessageHandler {
public IMessage HandleMessage(String messagePath, String jobId);
}
У меня есть универсальный класс, который реализует этот интерфейс ProtobufMessageHandler
public class ProtobufMessageHandler<T> implements MessageHandler
{
private T message
}
У меня есть объект, который содержит экземпляр MessageHandler, который должен быть заполнен одной из реализаций интерфейса MessageHandler
public class Publisher {
private MessageHandler messageHandler;
}
В некоторых случаях я хочу внедрить ProtobufMessageHandler в Publisher.messageHandler, а в других случаях внедрить ProtobufMessageHandler в Publisher.messageHandler
Есть ли способ сделать это?