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

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

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

public class DeserialiserImp implements Deserialiser {

        protected ObjectMapper objectMapper = new ObjectMapper();

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

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

    }

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

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

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

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

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

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