嘿,我是 EMF/ECORE 的新手。我想建模一个 Has-A 引用(包含),但包含应该在运行时可用。所以:
我有不同的课程有一个卷。所以体积是在一个类中建模的:
MyVolume
- depth: EDouble
- height: EDouble
- width: EDouble
- volume()
MyClass
- name: EString
- volume: MyVolume
如果使用 .genmodel 创建编辑器,我可以添加到 Class a Volume。但我希望该 volumne 是 Class 的一部分,以便用户可以使用 Class Volume 作为名称之类的属性,而无需先创建它。并且深度、高度和宽度应该以与编辑器属性视图中的属性名称相同的方式显示。
应该设置模型中的哪个属性,或者是否有另一种方法来归档目标?
提前致谢
史蒂芬
我想出了一个“解决方案”:
- 我创建了 MyVolume 类,然后
- 使用 My.impl.MyAttributeImpl 作为实例类名称的数据类型 MyVolume。
- 然后在MyClass 中创建一个属性volume:MyVolume(Datatype)。
- 所以我可以像这样在源代码中访问深度 fixture.getVolume().getDepth();
- 但只有卷显示在编辑器的属性视图中。
还有什么想法吗?
史蒂芬