问题描述
有 2 个 EMF 核心模型。命名为 lang.ecore
和 export.ecore
。
他们大体上是一样的。但是 export.ecore
在某些方面有点精简,有些元素的语义略有不同。
现在我在内存中加载了一个 lang
模型,我想在内存中创建一个 export
对象树。
- 映射类似元素
- 在导出模型中重新创建引用
- 自定义不同的对象
有没有一种方法可以有效地做到这一点,同时避免过多的重复编码?
解决方法
您可能可以通过基于自反 API 的步骤开始转换,以将您的源模型“重新创建”为“基本相似”的目标模型,仅基于您的类型名称及其功能。
但是,如果您的元模型不是那么大,我不确定您是否会获得大量时间,但要以清晰/调试为代价。
此外,您还需要考虑您的两个元模型是否会保持“大体相同”,或者它们是否有可能以不同的方式发展,或者您的映射是否需要您偏离该路径。