私は基本的なファミリ用のecoreファイルを作成しました。モデル、編集、エディタのコードを生成しました。実行時間。しかし、私はそのモデルファイルを読み込んで、ファミリモデルファイルに格納された直列化オブジェクトを取得したい。モデルファイルに保存されたシリアライズされたオブジェクトを読み取る方法
モデルファイルは、種類
?xmlのバージョン= "1.0" エンコード= "UTF-8" のでしょうか?
私は基本的なファミリ用のecoreファイルを作成しました。モデル、編集、エディタのコードを生成しました。実行時間。しかし、私はそのモデルファイルを読み込んで、ファミリモデルファイルに格納された直列化オブジェクトを取得したい。モデルファイルに保存されたシリアライズされたオブジェクトを読み取る方法
モデルファイルは、種類
?xmlのバージョン= "1.0" エンコード= "UTF-8" のでしょうか?
あなたは基本的な家族のメタモデルを持っていて、そのモデル、編集、エディタのコードを生成している場合、あなたはそれから「.basicfamily」モデルを作成した場合、あなたは、コードのこの部分を使用してそれを読むことができれば:
URI uri = URI.createURI(new File("path of your file").getAbsolutePath());
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getPackageRegistry().put(BasicfamilyPackage.eNS_URI, BasicfamilyPackage.eINSTANCE);
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("basicfamily", new XMIResourceFactoryImpl());
Resource resource = resourceSet.getResource(uri, true);
List<EObject> contents = resource.getContents();
// now you can iterate on the root objects of your model, use EObject#getContents() to
// retrieve the children of an EObject and thus navigate in your data
メタコードがインストールされたEclipseプラグインでこのコードが実行されている場合、このコードの一部は必要ありません(パッケージレジストリに基本ファミリのEPackageを追加し、リソースファクトリの登録)。生成されたプロジェクトのplugin.xmlによって処理されます。