我通过Xtext创建了一个DSL,现在我需要将编辑器中创建的模型转换为另一个模型。我想最直接的方法是使用某种M2M转换框架,但我需要访问文本文件后面的模型。 问题:如何获得对模型的引用?
答案 0 :(得分:1)
Xtext创建的模型还为它们创建了资源工厂。如果您尝试将文本文件作为EMF模型加载,EMF将查找可用于文本文件扩展名的资源工厂。从那里,Xtext将转换EMF模型中的文本文件,并为EMF提供创建的模型。您可以通过右键单击文本文件并选择“打开方式”和“样本反射生态模型编辑器”来查看此机制。所以这样的事情应该有效:
ResourceSet rs = new ResourceSetImpl();
Resource r = rs.getResource(uriOfYourTextualFile, true);
List<EObject> contentOfYourFile = r.getContents();