EMFモデルのインスタンスをコメント付きで直列化する
XMLスキーマから生成したEMFモデルについては、そのインスタンスを直列化する際に、DocumentRootの直下のみであればFeatureMapUtil.addComment()を使ってコメントを付けることができます。以下、サンプルコードです。
Resource resource = resourceSet.createResource(URI.createURI("http:///My.mindmap")); DocumentRoot documentRoot = MindmapFactory.eINSTANCE.createDocumentRoot(); Map root = MindmapFactory.eINSTANCE.createMap(); documentRoot.setMap(root); FeatureMapUtil.addComment(documentRoot.getMixed(), "Hello, EMF!"); resource.getContents().add(documentRoot); resource.save(System.out, null);
このコードを何らかの形で実行する(.genmodelからテストコードを生成させると、main()内で簡単に実行できます)と、以下のような標準出力を得ます。
<?xml version="1.0" encoding="ASCII"?> <mindmap:map xmlns:mindmap="http://www.example.org/mindmap"/> <!--Hello, EMF!-->
EMFモデル内にコメントに対応する属性を設ける以外に、EMF上で任意の場所にコメントを付けるのは、現状は難しいかもしれません