注册emf package并读取EMF文件

  /**
     * 读EMF文件
     * 
     * @param uri
     * @return
     */
    public static Resource readEMFFile(URI uri) {
        ResourceSet resourceSet = new ResourceSetImpl();
        //注册文件名后缀
        resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xxx", new XMIResourceFactoryImpl());
        //注册自己的模型的PACKAGE
        resourceSet.getPackageRegistry().put(XXXPackage.eINSTANCE.getNsURI(), XXXPackage.eINSTANCE);

        Resource resource = resourceSet.getResource(uri, true);
        try {
            resource.load(null);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return resource;
    }

 

posted @ 2014-11-18 14:53  demonrain  阅读(274)  评论(0编辑  收藏  举报