Using the Generated EMF Classes 使用生成的EMF类
Creating and accessing instances 创建和访问实例
LibraryFactory factory = LibraryFactory.eINSTANCE;
Book book = factory.createBook();
book.setTitle("King Lear");
Saving and loading resources 存储和加载资源
介绍了如何使用ResourceSet与Resource接口将内存中的模型保存为XMI文档,以及其反向操作。
保存代码段:
ResourceSet resourceSet = new ResourceSetImpl();
URI fileURI = URI.createFileURI(new File("mylibrary.xmi").getAbsolutePath());
Resource resource = resourceSet.createResource(fileURI);
resource.getContents().add(book);
resource.getContents().add(writer);
try {
resource.save(Collections.EMPTY_MAP);
} catch (IOException e) {}
resource set用来创建EMF resource, 它可以管理跨文档引用(cross document references).
加载代码段:
ResourceSet resourceSet = new ResourceSetImpl();
URI fileURI = URI.createFileURI(new File("mylibrary.xmi").getAbsolutePath());
Resource resource = resourceSet.getResource(fileURI, true);
try {
resource.save(System.out, Collections.EMPTY_MAP);
} catch (IOException e) {}
拿到resource后可以通过getContents或getAllContents得到模型列表。
Observing (adapting) EMF objects 观察EMF对象
tbd