Десериализация общего типа с Джексоном

Я пытаюсь создать класс, который использует Джексона для десериализации POJO.

Похоже на это ...

public class DeserialiserImp<T> implements Deserialiser<T> {

        protected ObjectMapper objectMapper = new ObjectMapper();

        @Override
        public T get(String content, Class clazz) throws IOException {
            return (T) objectMapper.readValue(content, clazz);
        }

        @Override
        public List<T> getList(String content, Class clazz) throws IOException {
            return objectMapper.readValue(content, TypeFactory.collectionType(ArrayList.class, clazz));
        }

    }

У меня есть 2 вопроса об этой реализации.

Во-первых, я передаю тип класса в методы, чтобы объектный преобразователь знал тип, который должен десериализоваться. Есть ли лучший способ использования дженериков?

Также в методе get я приводю объект, возвращенный из objectMapper к T. Это кажется особенно неприятным способом сделать это, так как я должен привести T здесь, а затем я должен также привести тип объекта из метода, который его вызывает.

Я использую Roboguice в этом проекте, поэтому было бы неплохо, если бы я мог изменить тип с помощью инъекции, а затем аннотировать объект, тип которого мне нужно вернуть. Я читаю оTypeLiteral и интересно, может ли это решить эту проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос