EMF模型解析的策略分析
更新時間: 2007-06-04 10:01:27來源: 粵嵌教育瀏覽量:610
今天看到兩種使用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獲得 業(yè)務(wù)模型相關(guān)的解析器,對于種方式,EMF是如何獲取到業(yè)務(wù)模型的解析器呢?主要是通過擴展的方式,擴展定義在模型的plugin.xml中,代碼片斷如下圖所示:
<extension point="org.eclipse.emf.ecore.extension_parser">
<parser
type="design"
class="com.neusoft.report.design.util.DesignResourceFactoryImpl" />
</extension>
這樣,解析.xml文件時,EMF從ResourceFactory注冊中,根據(jù)相應(yīng)的type,獲取解析器(DesignResourceFactoryImpl),完成解析。
推薦閱讀
- ·Linux字符設(shè)備驅(qū)動框架解析:file_operations的核心作用與實現(xiàn)
- ·廣東朝歌數(shù)碼科技股份有限公司專場招聘會
- ·深化產(chǎn)教融合,共筑技能人才培養(yǎng)新生態(tài) —— 廣州華立學(xué)院到訪粵嵌從化校區(qū)為深化產(chǎn)教
- ·校企合作新突破 | 粵嵌科技與三亞學(xué)院共探產(chǎn)教融合新路徑
- ·粵嵌科技入選國家級職業(yè)數(shù)字展館聯(lián)合建設(shè)單位,賦能計算機程序設(shè)計員高技能人才培養(yǎng)
- ·嵌入式實時操作系統(tǒng)的性能優(yōu)化與實現(xiàn)路徑
- ·校企攜手賦能教育!粵嵌科技助力海南科技職業(yè)大學(xué)探索 AGI 時代教學(xué)新范式
- ·嵌入式系統(tǒng)中的低功耗設(shè)計策略與實現(xiàn)路徑
- ·深圳市軒宇軟件開發(fā)有限公司專場招聘會
- ·嵌入式系統(tǒng)中的代碼空間優(yōu)化:策略與實踐