Связывание TableViewer с моделью, которая расширяется несколькими другими моделями

У меня есть класс File который расширяется двумя другими классами CopyFile а также DeleteFile,

class File {
    private String filePath;
    /** Setters and getters **/
}

class CopyFile {
    private String destinationPath;
    /**setters and getters**/
}

class DeleteFile {
} 

Теперь я пытаюсь привязать это к просмотрщику таблицы:

ViewerSupport.bind(tableViewer, new WritableList(realm,
            fileDetailsList, File.class),PojoProperties.values(File.class,
                    new String[] { "filePath","destinationPath"}));

Я хочу показать destinationPath, когда файл является экземпляром CopyFile а также null или же "" когда это пример DeleteFile,

Но когда я запускаю это, он выдает ошибку:

Не удалось найти свойство с именем destinationPath в классе File

Пожалуйста, помогите мне с этим и расскажите, как реализовать DataBinding в случае наследования.

1 ответ

Обратите внимание, что когда вы связываете File.class свойство не будет найдено, так как оно использует отражение и свойство принадлежит CopyFile.class, связывание выполняется с Бобами или POJO, чтобы наблюдать их детали.

Другие вопросы по тегам