Необходимо отображать содержимое класса Generi c - PullRequest
1 голос
/ 10 января 2020

У меня есть определенные классы сущностей, которые я сгенерировал из файла json. Я хочу проверить, правильны ли мои классы сущностей, поэтому у меня есть метод parseDescriptor, и я читаю значение типа ttoa generi c. Кто-нибудь может подсказать, как я могу отобразить контент из объекта класса generi c (в моем случае это ret)?

public <T> T parseDescriptor(String json, Class<T> c) throws IOException {
        try {
            ObjectMapper mapper = new ObjectMapper();
            mapper.getDeserializationConfig().disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);
            mapper.getDeserializationConfig().enable(DeserializationConfig.Feature.USE_ANNOTATIONS);
            T ret = mapper.readValue(json, c);
            if (!(ret instanceof ReportDescriptor)) {
                throw new IllegalArgumentException("The specified class of type "+c.getCanonicalName()+" does not extend ReportDescriptor");
            }
            return ret;
        }
        catch (JsonParseException jpe) {
:
:

1 Ответ

1 голос
/ 10 января 2020

Если ret является экземпляром ReportDescriptor, вы можете привести свой объект к этому классу. Затем вы можете использовать функции этого класса, чтобы делать с ним то, что вы хотите.

//Cast the object
ReportDescriptor reportDescriptor = (ReportDescriptor) ret;
//For example, call the toString() function of that class
reportDescriptor.toString();
...