动态加载EMF模型

时间:2009-08-02 15:10:05

标签: eclipse modeling eclipse-emf

我有一个后端系统,我通过基于REST的API访问,我返回了一个资源。这是EMF资源(XMI表示)。问题是我不能在设计时假设这个资源的元模型 - 因为后端系统中的元模型可能会在没有通知的情况下发生变化。

我想知道我是否可以,首先,从后端读取元模型(.ecore文件),生成代码,然后读取模型。诚然,这将是更慢的,但我将不得不每个会话只读一次元模型,这不会让我承诺一个固定的元模型。这会有用吗?或者有更好的方法来达到我想要的目的吗?

此外,这适用于UI吗?我可以在运行时生成编辑器代码(EMF.Edit),就在从后端读取模型之前,并使用适当的可视化显示模型吗?

Dynamic EMF会帮我解决问题吗?

1 个答案:

答案 0 :(得分:2)

使用EMF从动态模型生成代码声音毛茸茸。特别是当你转身并运行它。但我想如果你在一个新的Eclipse实例中运行它会有用。

动态EMF是一种可能的替代方案。但是,使用动态方法的应用程序更难编写,往往需要更多调试。 (通过使用动态EMF,您牺牲了很多静态类型的安全性。)而且我不确定模型编辑器的问题。

实际上,我有点困惑如何将生成的Java类用于内存模型实例。如果元模型正在改变,那么生成的类的签名也是如此。如何编写代码来对抗一直在变化的API?如果您说“我生成它”,请考虑您的生成器必须使用动态EMF。

如果我是你,我会在EMF邮件列表上询问。根据我的经验,如果你提出明智的问题(即不太模糊和/或推测),你会得到合理的答案。