使用EMF资源而不保留它

时间:2013-05-31 14:23:37

标签: model resources persistence eclipse-emf

我有一个资源,它是在使用QVT进行编程模型到模型转换之后创建的,它保存了转换模型的输出。现在它被持久化为xmi文件。但我想将这个转换后的模型作为参数进一步使用(搜索等),而不是持久化。

我应该如何实现它?我相信,使用资源而不坚持它并不容易 - 或许甚至不可能。我是否还必须为此资源创建特定的URI?并不意味着坚持下去吗?

我是否应该直接使用模型元素,因为它们仍然是EObjects的列表?如果是这样,我将不得不对我的整个项目进行一些更改,因为另一个需要模型输出的方法(现在是持久化的)使用了Resource对象。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:2)

对于每个ResourceURI,你必须将文件保存到xmi.I认为每次都必须保存它。如果你想将这个转换的模型提供给另一个方法,那么每当你试图访问这个资源时,这将创建一个eProxy()并将提供参考。 所以这很难访问。所以如果你想传递引用然后将它保存在xmi然后选择它

ResourceSet resSet = new ResourceSetImpl();

// Get the resource
Resource resource = resSet.getResource(URI
    .createURI("test"), true);