【问题标题】:Error while defining a EEList Type attribute in EMF在 EMF 中定义 EEList 类型属性时出错
【发布时间】:2017-01-09 03:25:28
【问题描述】:

在 Eclipse 中,我正在尝试向我的 EMF 模型添加一个列表。 在 .ecore 模型中:

  • 我在 EMF 中的模型中添加了一个新类“MyClass”
  • 然后给这个类添加一个属性“MyList”,设置这个属性的EType为EEList
  • 然后将列表元素的 dataType 设置为 EString。

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

我做错了什么?

提前致谢。

【问题讨论】:

    标签: java eclipse emf ecore


    【解决方案1】:

    您不必“手动”处理它作为一个列表。 请记住,您正在使用 UML。 List 只是一个类型的有序关联,其中上限设置为 *。 因此,只需将MyList 添加到MyClass,将其多重性设置为0..-1(通过将其上限设置为-1,这意味着EMF 中的*)并确保关联的Ordered 属性设置为True(否则你会得到一个集合)。还将其类型设置为 EString。

    这是一个示例,其中DFA 具有State 类型的列表,根据上述说明。我还将“包含”设置为 true,以使列表对其包含的对象具有强引用(这与内存管理有关,我建议您也这样做)。请注意,我已将类型设置为 State,因为这是 State 对象的列表。

    【讨论】:

      猜你喜欢
      • 2013-04-09
      • 1970-01-01
      • 2013-11-08
      • 2011-06-09
      • 1970-01-01
      • 2018-01-18
      • 2016-11-13
      • 2021-10-04
      • 1970-01-01
      相关资源
      最近更新 更多