访问Xtext的运行时EMF模型

3

我通过Xtext创建了一个DSL,现在我需要将编辑器中创建的模型转换为另一个模型。我认为最简单的方法是使用某种M2M转换框架,但我需要访问文本文件背后的模型。

问题:如何获取对该模型的引用?

1个回答

1
Xtext创建的模型也有一个资源工厂。如果您尝试将文本文件作为EMF模型加载,EMF将查找可用于文本文件扩展名的资源工厂。从那里,Xtext将把文本文件转换成EMF模型并提供给EMF所创建的模型。您可以通过右键单击文本文件并选择“打开方式”和“示例反射ecore模型编辑器”来查看此机制的实际操作。因此,类似以下内容应该可以正常工作:
ResourceSet rs = new ResourceSetImpl();
Resource r = rs.getResource(uriOfYourTextualFile, true);
List<EObject> contentOfYourFile = r.getContents();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接