在EMF中定义EEList Type属性时出错

时间:2017-01-06 09:17:35

标签: java eclipse emf ecore

在Eclipse中,我正在尝试将一个List添加到我的EMF模型中。 在.ecore模型中:

  • 我在EMF
  • 中为我的模型添加了一个新类“MyClass”
  • 然后将属性“MyList”添加到此类,将此属性的EType设置为EEList<>
  • 然后将list元素的dataType设置为EString。

但是当我尝试打开此模型的genmodel时,出现错误说: “属性'MyClass.MyList'不是瞬态的,因此它必须具有可序列化的数据类型”。

我做错了什么?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您无需手动'处理它是一个列表。 请记住,您正在使用UML。 List仅仅是与类型的有序关联,其中上限设置为*。 因此,只需将MyList添加到MyClass,将其多样性设置为0 ..- 1(通过将其上限设置为-1,这意味着*在EMF中)并确保关联' s { {1}}属性设置为True(否则您将获得一个Set)。同时将其类型设置为EString。

以下是一个示例,其中Ordered具有类型DFA的列表,符合上述说明。我还设置了#34;收容"为了使列表对它包含的对象有强烈的引用(这与内存管理有关,我建议你也这样做)。请注意,我已将类型设置为State,因为这是State对象的列表。

enter image description here