私はいくつかの eclipse emf コードを書いており、EObject の内容を (ディスクに保存するのではなく) 出力したいと考えています。
ここに私が試すものがあります:
public static void print(EObject obj) {
Resource eResource = obj.eResource();
try {
eResource.save(System.out, null);
} catch (IOException e) {
e.printStackTrace();
}
}
しかし、それは NullPointerException を与えます。代わりにこれを試しました:
public static void print(EObject obj) {
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap()
.put("*", new XMIResourceFactoryImpl());
Resource resource = resourceSet.createResource(URI.createURI("dummyfile.xml"));
resource.getContents().add(obj);
try {
resource.save(System.out, null);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
これは機能しますが、ダミーの URI を指定せずに画面に出力することはできませんか??