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

Java 如何在EMF Ecore建模框架中创建自定义属性,java,ecore,Java,Ecore,在我们的项目中,我们的目标是用一系列组件对系统建模,每个组件都有一个输入和输出列表。我们希望区分输入和输出,因此我们不希望它是一个大的efloat列表,而是希望创建一个自定义数据类型,将属性定义为输入或输出,并包含值的度量单位 我们在Ecore模型中创建了自定义数据类,但无法将它们分配给组件,因为属性列表包含默认的Ecore属性 搜索“自定义ecore属性”会返回一般ecore建模信息的结果,这些信息并不能完全解决我们的问题。如果您创建的“自定义数据类”是EClasses,则可以通过“电子引用”

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

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


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

如果您创建的“自定义数据类”是EClasses,则可以通过“电子引用”将它们分配给组件。如果它们是自定义数据类型,则可以通过“EatAttribute”分配它们。这有用吗?

我在之前错过的一篇帖子中找到了答案

通过向*.eCore文件手动添加eClassifiers条目,可以将数据类型添加到eCore模型。(我无法通过EclipseUI找到这样做的机制。)

例如:


这将使该类在EatAttributes的属性编辑器中作为EType的选项可用。它似乎不可用于电子参考

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