网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > 高级技术 > 设计模式 > EMF模型解析的策略分析  

EMF模型解析的策略分析

2007-03-08  作者:bitsCN整理  来源:blogjava  点评 投稿 收藏

今天看到两种使用EMF解析.xml为EMF模型的策略:
一种是通过如下代码: 网管u家u.bitscn@com


IFileEditorInput modelFile  =  (IFileEditorInput)getEditorInput();
URI resourceURI 
=  URI.createPlatformResourceURI(modelFile.getFile().getFullPath().toString());;
resource  =  editingDomain.getResourceSet().getResource(resourceURI,  true );
上面这种方式会引用一个AdapterFactoryEditingDomain类,但我们基于模型做编辑器时,有时并不需要用这个类,例如GEF,它具有自身的EditorDomain。
网管联盟bitsCN_com


另外一种方式是使用EMF模型自动生成的Process,该类一般在模型的Util包下面,引用代码如下:
IFileEditorInput modelFile = (IFileEditorInput)getEditorInput();        
XMLProcessor processor 
=  new DesignXMLProcessor();            

网管u家u.bitscn@com


 resource 
= processor.load(new InputSource(new InputStreamReader(modelFile.getFile().getContents(), "GBK")), null);
        

其实,对于EMF而言,上面两种解释方式,归根到底都需要EMF获得 业务模型相关的解析器,对于第一种方式,EMF是如何获取到业务模型的解析器呢?主要是通过扩展的方式,扩展定义在模型的plugin.xml中,代码片断如下图所示:
  <extension point="org.eclipse.emf.ecore.extension_parser">
网管网www.bitscn.com

    
<parser 
       type
="design" 
       
class="com.neusoft.report.design.util.DesignResourceFactoryImpl" />
  
</extension>
网管网www.bitscn.com

这样,解析.xml文件时,EMF从ResourceFactory注册中,根据相应的type,获取解析器(DesignResourceFactoryImpl),完成解析。

TAGs   分析   策略   解析   模型       EMF   方式   new    <   如下      
 上一篇:java的设计模式,学习心得总结   下一篇:Composite模式及其在JSF中的应用
EMF模型解析的策略分析 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: