Loading
新闻中心库存中心价格中心PDF中心图片中心
ICGLE 电子技术支持中心,为电气人员和相关企业提供全面的信息(IC技术\IC库存\IC图片\PDF资料等)服务
总线设计PCB设计单片机DSPARM
JAVA驱动设计C/C++汇编J2EE网络协议中间件技术嵌入式系统无线通信通信网络模拟技术接口电路显示光电传感与控制EDA/PLD
气流体控制电子产品电机及工具通信设备仪器仪表电线电缆建筑电气低压电器高压电器电源工控自动化广电设备医疗器械More..
电源设计仪器仪表技术专递电路图片电子专栏储存技术汽车电子测量测试音响技术家用电器
成功方案市场分析行业标准应用前沿芯片应用综合专区
EMF模型解析的策略分析
来源:java.chinaitlab.com   作者:
字体大小:[大][中][小]


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

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

另外一种方式是使用EMF模型自动生成的Process,该类一般在模型的Util包下面,引用代码如下:
IFileEditorInput modelFile = (IFileEditorInput)getEditorInput();
XMLProcessor processor = new DesignXMLProcessor();
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">
<parser
type="design"
class="com.neusoft.report.design.util.DesignResourceFactoryImpl" />
</extension>
这样,解析.xml文件时,EMF从ResourceFactory注册中,根据相应的type,获取解析器(DesignResourceFactoryImpl),完成解析。
Upload by 小刘(2007-6-4)
IC
IC
推荐技术文章:
·浅析malloc()的几种实现方式..
·用Eclipse+MyEclipse....
·Java中使用接口实现多继承和多态的....
·提升JSP中页面响应速度的七大秘籍绝....
·Static和Final修饰类属性变....
·探讨JAR文件无限可能性..
·Tomcat集群与负载均衡..
·使用Java NIO提高服务端程序的....
·java虚拟机管理大内存..
·java中使用MD5加密算法进行加密..
·编写对GC友好,又不泄漏的代码..
·J2SE5.0新特性之windows....
·java中通过xpath处理含有命名....
·使用Hashtable对字符串进行碰....
·揭开 Java 安全标准的神秘面纱 ..
·java的线程安全四种方式五个等级..
·破除java神话之原子操作都是线程安....
·Java服务器端编程安全必读..
·编写高效的线程安全类..
·用Java向Web站点发送POST请....
·Java多线程的优先级
·基于Java的嵌入式网络视频服务器
·Java源码分析:深入探讨Itera..
·在Java里面调用CUI程序的方法
·从C++到Java--理解面向对象是..
·避免JavaEE项目评估中的常见错误
·XML和Java:一个强大的组合
·J2ME平台下基于手机定位实现的移动..
·Java回归嵌入式无线通信
·用Java实现FTP服务器
·在VxWorks下实现NAT/NAP..
·VxWorks中的地址映射
·基于Rhapsody和VxWorks..
·VxWorks中怎么从Flash B..
·基于嵌入式操作系统VxWorks的S..
·基于VxWorks的bootrom代..
·VxWorks for X86的输入..
·基于LPC2104的VxWorksB..
·嵌入式操作系统VxWorks中TFF..
·基于ARM7核处理器VxWorks系..
IC
IC

©2007 版权归ICGLE所有   页面执行时间:78.125毫秒