2017-01-06 5 views
1

В Eclipse я пытаюсь добавить список в свою модель EMF. В .ecore модели:Ошибка при определении атрибута типа EEList в EMF

  • я добавить новый класс «MyClass» моей модели в EMF
  • затем добавить атрибут «MyList» к этому классу, установите ETYPE этого атрибута, как EEList <>
  • затем установите для dataType элемента списка значение EString.

Но когда я пытаюсь открыть genmodel этой модели, появляется сообщение об ошибке сказав: «Атрибут„MyClass.MyList“не преходящее, поэтому он должен иметь тип данных, который сериализации».

Что я делаю неправильно?

Заранее спасибо.

ответ

2

Вам не нужно «вручную» иметь в виду, что это список. Помните, вы используете UML. Список - это просто упорядоченная ассоциация с типом, в котором верхняя граница установлена ​​на *. Поэтому просто добавьте MyList в MyClass, установите его кратность на 0 ..- 1 (установив его верхнюю границу в -1, что означает * в EMF) и убедитесь, что для свойства ассоциации Ordered установлено значение True (в противном случае вы получите Задавать). Также установите его тип в EString.

Ниже приведен пример, в котором DFA имеет список типа State, в соответствии с вышеприведенными инструкциями. Я также установил «сдерживание» в true, чтобы сделать список, содержащий сильную ссылку на объекты, которые он содержит (это связано с управлением памятью, я предлагаю вам сделать то же самое). Обратите внимание, что я задал тип State, так как это список объектов State.

enter image description here

+0

Это сработало. Благодаря! –

Смежные вопросы