【问题标题】:Using an EMF Resource without persisting it在不持久化的情况下使用 EMF 资源
【发布时间】:2013-06-02 02:09:09
【问题描述】:

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

我应该如何实现它?我相信,在不持久化资源的情况下使用它并不容易——甚至可能是不可能的。难道我不必为此资源创建一个特定的 URI 吗?这不就意味着坚持吗?

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

非常感谢任何形式的帮助。

谢谢!

【问题讨论】:

    标签: model resources persistence eclipse-emf


    【解决方案1】:

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

    ResourceSet resSet = new ResourceSetImpl();

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

    【讨论】:

      猜你喜欢
      • 2015-07-26
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 2021-04-06
      • 1970-01-01
      相关资源
      最近更新 更多