簡単にするために、すべて何らかのクエリを記述する複数の Xtext DSL があるとします。それらの 1 つは、私の「ベース」DSL です。ここで、DSL の 1 つを「ベース」DSL に変換し、モデルの文字列表現を取得したいと考えています。
経由で EFactory を作成しました
MyDslFactory factory = new MyDslFactoryImpl();
次に、ソース DSL の XtextResource (EmbeddedEditor から取得) を手動でトラバースし、ターゲット DSL ファクトリを使用してモデル (EObject ツリー) を構築します。今、そのモデルのテキスト表現を取得したいと思っていますが、ここで行き詰まります。私は XtextResource の文字列表現を取得する方法を知っているので、それでよいと思いますが、EObject ツリーから XtextResource を作成する方法がわかりません。
org.eclipse.xtext.junit.AbstractXtextTests にはメソッドがあります
doGetResource(InputStream in, URI uri)
しかし今、モデルから InputStream を取得する方法が見つかりません。
オブジェクト ツリーから XtextResource を作成する方法はありますか、それとも私がやりたいことを行うためのより簡単な方法はありますか?