Я хотел бы создать таблицу GUI для отображения заданного списка функций подкласса EObject
. Для этого мне нужно получить отображаемые имена функций для заголовка столбца.
Как мне получить отображаемые имена функций наилучшим образом?
Одно решение, которое немного похоже на взлом:
Если у меня есть экземпляр класса, я могу использовать фабрику адаптеров, чтобы получить IItemPropertySource
, который может это сделать:
SomeEntity e = ...
String displayName = adaptorFactory.adapt(e, IItemPropertySource.class)
.getPropertyDescriptor(null, feature).getDisplayName(null));
Но когда таблица пуста, нет подходящего объекта SomeEntity
для получения IItemPropertySource
.
Я могу создать фиктивный объект, используя EFactory
, следующим образом:
EClass containingClass = feature.getEContainingClass();
SomeEntity dummy = containingClass.getEPackage().getEFactoryInstance()
.create(containingClass));
... а затем используйте этот объект, чтобы получить IItemPropertySource
. Но это немного похоже на взлом. Нет ли лучшего решения?