如何在EMF Ecore建模框架中创建自定义属性

时间:2019-06-24 16:28:17

标签: java ecore

在我们的项目中,我们旨在为具有一系列组件的系统建模,每个组件都有一个输入和输出列表。我们想要区分输入和输出,因此我们不希望它成为EFloat的一大清单,而是希望创建一个自定义数据类型,该数据类型将属性定义为输入或输出,并包含针对该属性的度量单位值。

我们在Ecore模型中创建了自定义数据类,但由于属性列表包含默认的Ecore属性,因此无法将其分配给组件。

搜索“自定义ecore属性”将返回一般Ecore建模信息的结果,而这些信息并未完全解决我们的问题。

2 个答案:

答案 0 :(得分:1)

如果您创建的“自定义数据类”是EClass,则可以通过“ EReference”将它们分配给组件。如果它们是自定义数据类型,则可以通过“ EAttribute”进行分配。有帮助吗?

答案 1 :(得分:0)

我在以前错过的帖子中找到了答案。

How do I create an EAttribute whose data type is not an EMF class?

  

您可以通过在* .ecore文件中手动添加eClassifiers条目来向eCore模型添加数据类型。 (我找不到通过Eclipse UI执行此操作的机制。)

     

例如:

<eClassifiers xsi:type="ecore:EDataType"
 name="MyClass" instanceClassName="my.package.MyClass"/>
  

这将使该类在EAttributes的属性编辑器中作为EType的选项可用。它似乎没有使其可用于EReferences。