Как я могу получить тип, который возвращает java protobuf builder? Или иным образом адаптировать JsonFormat.Parser к стилю ObjectMapper

#java #protocol-buffers #datacontract #protobuf-java

Вопрос:

У объекта отображения Джексона есть метод readValue

 public <T> T readValue(Reader src, Class<T> clazz)
 

Я надеялся адаптироваться JsonFormat к стилю ObjectMapper — не обязательно используя ObjectMapper, но поддерживая аналогичный интерфейс, например «вот немного json и ссылка на тип, верните мне типизированный объект». Неужели это так безумно?

Анализатор JsonFormat.Parser имеет другой тип интерфейса

 public void merge(java.lang.String json, Message.Builder builder)
 

Есть ли способ написать метод, который принимает некоторые данные и ссылку на тип и возвращает объект, как это делает ObjectMapper, но с использованием JsonFormat.parser (или, во всяком случае, каким-либо другим способом анализа объекта json)?

Например, есть ли способ передать a Class<T extends AbstractMessage> и из него получить связанный конструктор (или действительно просто передать в конструктор), а затем вернуть экземпляр T?

Моя проблема заключается не в определении того, что представляет объект json, а в обеспечении безопасности типов Java с помощью protobuf.