Определение моих собственных типов данных в моей собственной метамодели с использованием EMF Ecore

Мне было интересно, как я могу определить свои собственные типы данных в метамодели, созданной с помощью EMF Ecore?

Цель состоит в том, чтобы иметь класс, который может содержать множество атрибутов. Каждый атрибут имеет один тип данных.

Проблема, с которой я сталкиваюсь сейчас, заключается в том, что когда я хочу установить тип данных атрибута [в модели, которая соответствует моей метамодели] в представлении свойств (Eclipse EMF), я получаю пустой список.

Я хочу что-то похожее на то, как при добавлении EAttribute вы получаете выбор между разными Etype (EString, EBoolean,...).

Я ценю любую помощь.

Спасибо.


person user3488996    schedule 03.04.2014    source источник


Ответы (1)


Вы можете добавлять экземпляры EDataType на тот же уровень, что и EClasses, и они могут ссылаться на любой объект Java. Однако будьте осторожны, поскольку для этих объектов доступна только очень простая сериализация.

person Zoltán Ujhelyi    schedule 03.04.2014
comment
Спасибо за ваш интерес, но я не мог понять, что вы имели в виду, добавляя к тому же уровню, что и EClasses. - person user3488996; 03.04.2014
comment
Я попытался использовать экземпляры EDataType, но не смог присоединить их к другому экземпляру Eclass. В чем проблема ? - person user3488996; 03.04.2014
comment
Я имел в виду, что экземпляры EDataType аналогичны определениям типов для EClass. Разница между ними заключается в том, что в случае EDataTypes вы можете ссылаться только на класс Java, а в случае EClasses вы определяете его атрибуты в метамодели. Чтобы сослаться на эти EDataTypes, вы должны определить атрибуты в ваших EClasses, которые имеют этот новый тип. - person Zoltán Ujhelyi; 04.04.2014