隨筆:25 文章:1 評論:66 引用:0
steeven
BlogJava
首頁
發新隨筆
發新文章
聯系
聚合
管理
EMF之ResourceSet探索(1)
這個東西比較有趣,代碼還要區分是否在Eclipse環境下運行。
先看看現象,以EMF例子Library.ecore為例, 測試代碼如下:
public
?
class
?Test?
{
????
public
?
static
?
void
?main(String[]?args)?
throws
?IOException?
{
????????ResourceSet?rs?
=
?
new
?ResourceSetImpl();
????????rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put(
????????????????Resource.Factory.Registry.DEFAULT_EXTENSION,
????????????????
new
?XMIResourceFactoryImpl()); //outside eclipse
????????Resource?resource?
=
?rs.createResource(URI
????????????????.createURI(EXTLibraryPackage.eNS_URI));
????????
//
step?a
????????Library?library?
=
?EXTLibraryFactory.eINSTANCE.createLibrary();
????????library.setName(
"
some?lib
"
);
????????resource.getContents().add(library);
????????
//
step?b
//
????????Book?book?=?EXTLibraryFactory.eINSTANCE.createBook();
//
????????book.setTitle("some?book");
//
????????Employee?employee?=?EXTLibraryFactory.eINSTANCE.createEmployee();
//
????????employee.setFirstName("some?one");
????????
//
step?c
//
????????library.getBooks().add(book);
//
????????library.getEmployees().add(employee);
????????
//
step?d
//
????????resource.getContents().add(book);
????
//
????????System.out.println(EcoreUtil.getURI(employee));
//
????????System.out.println(EcoreUtil.getURI(book));
????????resource.save(System.out,?
null
);
????}
}
步驟
輸出
a
----------------
<?xml version="1.0" encoding="ASCII"?>
<extlib:Library xmi:version="2.0" xmlns:xmi="
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0
" name="some lib"/>
b?
#//
#//
<?xml version="1.0" encoding="ASCII"?>
<extlib:Library xmi:version="2.0" xmlns:xmi="
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0
" name="some lib"/>
c
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0#//@employees.0
#//
<?xml version="1.0" encoding="ASCII"?>
<extlib:Library xmi:version="2.0" xmlns:xmi="
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0
" name="some lib">
?
<employees firstName="some one"/>
</extlib:Library>
d
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0#/0/@employees.0
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0#/1
<?xml version="1.0" encoding="ASCII"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0
">
? <extlib:Library name="some lib">
??? <employees firstName="some one"/>
? </extlib:Library>
?
<extlib:Book title="some book"/>
</xmi:XMI>
可以看到,沒有加入lib的時候,employee/book實例的URI都是#//, employee加入以后有了
#//@employees.0
, book依舊。
在book加入resource以后有了#/1的URI, employee/book在containment定義分別是true,false,所以employee加入lib以后就隨lib加入resource(實例容器)。book則要單獨加入。
另外一個有趣的現象是Resource可以容納多個實例,在step d可以看到輸出的根節點由lib變成匿名容器。
如果lib不加入resource又如何呢?
步驟
輸出
a
----------------
b?
#//
#//
c
#///@employees.0
#//
d
----------------
沒加入resource之前,URI是未知的,知道的只是相對父節點的相對segment.
發表于 2006-05-25 22:40
steeven
閱讀(1198)
評論(1)
編輯
收藏
所屬分類:
程序點滴
、
學習筆記
評論
#
re: EMF之ResourceSet探索(1)
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0#/0/@employees.0
http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0#/1
<?xml version="1.0" encoding="ASCII"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="
http://www.omg.org/XMI"
xmlns:extlib="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0">
<extlib:Library name="some lib">
<employees firstName="some one"/>
</extlib:Library>
<extlib:Book title="some book"/>
</xmi:XMI>
對于上面這個例子,URI可否根據名字指定,例如,指定firstName來選擇,而不是employees.0 或者 employees.1
hitwjj311@163.com
評論于 2008-02-27 16:31
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
吹一吹偶的新作品:skype remote desktop
GWT開發中的幾個問題
開發過程中的雞生蛋蛋生雞的問題
監聽Swing窗口的鍵盤鼠標事件
GWT做的guess number
EMF之ResourceSet探索(4)
EMF之ResourceSet探索(3)
EMF之ResourceSet探索(2)
EMF之ResourceSet探索(1)
Annotation Wizard for EMF插件
CALENDER
<
2006年5月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(10)
給我留言
查看公開留言
查看私人留言
隨筆分類
學習筆記(11)
(rss)
程序點滴(16)
(rss)
胡思亂想(8)
(rss)
隨筆檔案
2009年5月 (1)
2006年12月 (1)
2006年7月 (2)
2006年6月 (7)
2006年5月 (8)
2006年4月 (2)
2006年3月 (1)
2006年1月 (2)
2005年12月 (1)
文章檔案
2006年8月 (1)
相冊
annotation_wizard
samples
我的鏈接
我在csdn上的窩
(rss)
很久沒打理了
我在MSN上的窩
(rss)
我在博客園的窩
(rss)
我在天涯上的窩
搜索
最新評論
1.?re: 編程使用SDO[EMF兄弟篇]
最近也在看這個,有沒有好點的文章和代碼啊,有的話麻煩給些,謝謝,郵箱:
huanggenping2002@163.com
--zebrahgp
2.?re: SNMP親密接觸
請問,我在接收Trap時,同時有多個設備發送,在同一時間接收到的會有丟失的情況,怎么解決呢?snmp4j自帶的ThreadPool類有沒有在這方面起到多線程作用?
--analyser
3.?re: 編程使用SDO[EMF兄弟篇]
我也在研究soa,如果你有sdo方面的代碼,麻煩您給我一份作為參考,謝謝
郵箱: litao5168@sohu.com 謝謝
--litao
4.?re: 編程使用SDO[EMF兄弟篇]
我也在研究soa,如果你有sdo方面的代碼,麻煩您給我一份作為參考,謝謝
--litao
5.?re: 編程使用SDO[EMF兄弟篇]
評論內容較長,點擊標題查看
--1984prince
Powered By:
博客園
模板提供
:
滬江博客
主站蜘蛛池模板:
亚洲欧洲无码AV电影在线观看
|
国产成人免费手机在线观看视频
|
亚洲第一AAAAA片
|
好男人资源在线WWW免费
|
亚洲国产精品视频
|
一级看片免费视频囗交
|
久久亚洲国产成人精品无码区
|
一级中文字幕免费乱码专区
|
亚洲 综合 国产 欧洲 丝袜
|
亚洲AV综合色区无码一二三区
|
国产精品四虎在线观看免费
|
美女免费视频一区二区三区
|
免费夜色污私人影院在线观看
|
一区二区三区免费视频网站
|
久久影视综合亚洲
|
无码国产精品一区二区免费模式
|
亚洲精品美女在线观看播放
|
免费无码AV片在线观看软件
|
国产亚洲午夜精品
|
夜夜春亚洲嫩草影院
|
中文字幕亚洲免费无线观看日本
|
j8又粗又长又硬又爽免费视频
|
亚洲成a∧人片在线观看无码
|
国产三级电影免费观看
|
丝袜捆绑调教视频免费区
|
图图资源网亚洲综合网站
|
97在线观免费视频观看
|
国产精品亚洲а∨天堂2021
|
在线a亚洲v天堂网2019无码
|
3d动漫精品啪啪一区二区免费
|
亚洲国产精品99久久久久久
|
国产亚洲成人久久
|
99视频全部免费精品全部四虎
|
亚洲经典千人经典日产
|
中文字幕亚洲无线码
|
国产成人免费午夜在线观看
|
粉色视频成年免费人15次
|
亚洲av日韩av无码
|
国产免费人人看大香伊
|
一级毛片成人免费看免费不卡
|
免费无码av片在线观看
|