【发布时间】:2017-06-06 20:13:19
【问题描述】:
根据EMF FAQ,可以在EMF中创建地图:
EMap 基本上是 java.util.Map$Entry 实例的列表。 因此,要创建地图,您首先需要通过以下方式对地图条目进行建模 遵循以下步骤:
- 创建一个名为 [Type1]To[Type2]Map 的 EClass,其中 [Type1] 表示键的类型,[Type2] 表示值的类型。
- 将新创建的 EClass 的 Instance Class Name 属性设置为 java.util.Map$Entry。
- 创建一个名为“key”的 EAttribute 或 EReference,并为其设置 EDataType 或 EClass。
- 创建一个名为“value”的 EAttribute 或 EReference,并为其设置 EDataType 或 EClass。
现在,当您在某处创建使用此映射条目的 EReference 时 class 作为它的 EClass,EMF 代码生成器将检测到这个特殊的 case 并为您生成正确类型的 EMap getter/setter 一个普通的 EList getter/setter。
我可以将它与Xcore 模型一起使用吗?我不确定第 2 步在 Xcore 中是否可行,或者它是否完全支持地图。
【问题讨论】:
标签: eclipse-emf emf xcore