安徽新华电脑专修学院_安徽电脑培训_安徽电脑培训学校_合肥电脑培训

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > EMF開發指南之Reference詳解

EMF開發指南之Reference詳解
2010-01-14 22:44:28  作者:  來源:
★reference沒有默認值,因為它們的默認值都是null
★one-way reference 跟simple attribute比較像,因為涉及到延遲加載,所以getter方法會相對復雜點
★bedirectional reference 雙向引用表示reference在對方的opposite里面保存著(如果用annotated interface來定義emf的話,則需要設置兩邊的opposite屬性),對于雙向應用的getter方法跟單向一樣,區別主要在setter部分,因為在改變關聯關系的時候需要同時修改雙方的引用,這里會使用到EObject的eInverseAdd()和eInverseRemove()方法,即取消舊的關聯關系,建立新的關聯關系,且兩邊同時修改,因此我們應該明白一點,那就是建立了雙向關聯之后,關聯雙方只允許被一個reference引用。由于做了很多修改,會觸發一系列的Notification,這里使用了一個NotificationChain來收集所有的Notification在最后一一跟通知接收者attach起來
★multiplicity-many reference 一對多引用就是其中有一個引用是一個集合,因此對于多的那一方不存在setter方法
★containment reference在uml圖中表述為容器方以by-value的方式聚合0或n個目標對象(被包含對象),在emf中則表現為容器方的containment設置為true,互為containment reference的對象在持久化的時候,將被保存在一個document中。因此在getter方法中也不需要proxy這樣的運行機制。對于容器對象來說,被包含對象只能有一份,如果向容器中添加重復對象,最終得到的只有一份。如果將一個目標對象添加到一個容器對象,則必須將其從原有容器中刪除。containment reference也可以看成是一種雙向引用,因為在EObjectImpl中有一個eContainer屬性,用來保存容器對象。我們也可以將containment reference轉換成更直接的雙向引用,只需要跟雙向引用在被引用方添加相應的getter方法,不同之處在于在指定container為true即可。
★non-proxy-resolving reference,默認情況下,reference都會檢查互為reference的雙方對象是否在一個document之中,然后采用不同的方式,不在同一個document中將采用proxy的方式加載reference對象,如果能確信reference雙方對象都在一個document中,那么getter方法就跟single value的attribute沒有區別,這里我們只需要將resolveProxies設置為false即可。
★volatile reference跟volatile attribute一樣,需要自己手工修改具體實現
★non-changeable reference跟non-changeable reference一樣,通常與volatile reference聯合使用。
★unsettable reference也沒什么好說的
★map reference 在emf中為了支持map,必須先定義map entry,一個 map entry是一個實現了Map.Entry接口并且具有key和value兩個feature的EClass類,map entry可以顯式或者隱式定義。顯式定義,就是在EPackage類中添加一個訪問map entry的方法,隱式定義則是在containment reference中使用map entry。如果使用annotated interface定義emf model的話,那么需要這樣定義,在package中定義一個返回值為EClass的getXxxx()方法,并添加以下注釋:@model但沒有instanceClass屬性,定義MapEntry的相關屬性,比如features屬性名列表以及關于feature的屬性。隱式定義,這個一般在reference中定義,即返回值必須是Map或者EMap的getter方法,注釋必須有@model,且帶有mapType或者keyType,valueType屬性,如果使用了mapType屬性,則必須在Package中顯示定義MapEntry的getter方法,使用keyType,valueType定義時,EReference將隱式定義一個包含keyType和valueType屬性的MapEntry,且默認的名稱為“keyTypeToValueTypeMapEntry”

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 浙江创洁卫生消杀有限公司-浙江杀虫公司,温州消杀公司,温州灭鼠公司,灭蟑螂,灭蚊蝇,灭跳蚤,灭书虱,灭臭虫,灭螨虫,白蚁防治,房间消毒除味等专业服务 | 人民交通网-人民交通杂志官网| 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 汽油发电机,柴油发电机,小型汽油发电机,小型柴油发电机,家用发电机生产厂家——上海东明动力设备有限公司 | 今日标准_走心机_数控走心机_车铣复合_厂家_深圳今日标准官方网站 | 老照片修复,修复老照片,老旧照片翻新-老照片修复网 | 江西铭鑫冶金设备有限公司-破碎机,铜米机,选矿摇床,电池回收设备 | 郑州空气能热水器,郑州空气能热水器经销商,郑州空气能热水器维修,郑州空气能热水器安装 | 汽车标签|医疗标签|电子标签|手机电池标签|电脑电池标签|电源标签|耐高温标签|防静电标签|手机出厂膜|手机全裹膜|手机包裹膜|手机卖点膜|热转印标签|遮阳板标签|天势科技|-标签印制专家! | 卫生间隔断-东莞卫生间隔断-东莞卫生间隔断厂家-公共卫生间隔断-东莞市康丰家居建材有限公司 | 自装卸(挂桶)车|钩臂垃圾车|压缩垃圾车|密封自卸车|环卫垃圾车|餐厨车泔水车湖北程力专用车厂家 自建房外墙砖|地砖|墙砖,农村|别墅瓷砖-佛山燊陶丰 | 江苏上上电缆集团——上上电缆 上上品质 | 深圳LED显示屏厂家_室内户外LED显示屏_彩屏电子有限公司 | 球磨机配件_烘干机配件_回转窑配件_球磨机小齿轮_球磨机大齿轮-巩义市兴农机械制造公司 | 免费的PPT幻灯片演示制作软件,动画视频及课件制作软件 - Focusky万彩演示大师官网 | 消防改造安装,消防维修检测,消防工程安装,气体灭火施工安装,火灾烟感探测器清洗 | 重庆化粪池清淘_管道疏通_高压疏通清洗管道_电话:023-68183336,15723234763 | 上海家博会_2025上海家博会时间表_5月31-6月2日_上海家博会门票_免费领取入口 | 上虞大金湖官网|数控外圆磨床|数控内圆磨床|数控无心磨床 | 江寒必恋术在线阅读_江寒必恋术免费下载 - 江寒必恋术电子书 | 泊头压滤机-隔膜-洗沙-厢式-板框压滤机-河北巨盛压滤机制造有限公司 | 泡沫|水罐|干粉消防车价格_特种消防洒水车厂家-湖北江南 | 上海浩斌信息科技有限公司RFID读写器,IC卡读卡器,手持机,数据采集终端,电力仓库管理软件开发,固定资产软件,纱管标签,试剂管理,RFID试剂柜,档案管理,档案柜,智能货架 | 幼儿园设计公司/南昌酒店装修/办公室/餐厅/民宿/店面/展厅/装修设计公司-益昌装饰集团 | 首页--南京俊全科技有限公司,环保监测无人机,大疆无人机,农用无人机,植保无人机,巡检无人机,无人机环境监测仪,消防,无人机,航拍测绘,固定翼无人机,无人机电力巡检,四旋翼无人机 | 旋转补偿器-专注套筒三维球形补偿器定制生产厂家-伸缩接头价格_巩义市新华丰管道设备有限公司 | 健力普医疗-半导体激光治疗仪,红外偏振光治疗仪,近红外线治疗仪-独家功能,光疗典范 | 文君阁-提供生活百科,日常生活健康小常识,生活小窍门,百科知识大全 | 锦州龙威机械有限公司官网 ,锦州医药包装机,包装机,锦州包装机械,小袋颗粒装盒生产线,颗粒装盒生产线,软双铝装盒线,伺服颗粒 | 湖南一体化污水处理设备_二氧化氯发生器_一体化净水处理设备_消毒设备厂家-湖南东环环保科技有限公司 | 木马交互设计研究中心 ,专注于用户体验与人机交互设计 - 首页 | 正规网上赚钱网站「百赚网」专注在家赚钱的网络赚钱平台 | 箱式电炉,箱式烧结炉,箱式马弗炉,箱式实验炉,高温箱式电阻炉,箱式加热炉,箱式退火炉,箱式真空气氛炉洛阳研博炉业有限公司 | 千斤顶-超薄电动千斤顶-电动液压千斤顶-液压螺母扳手-泰州杰克液压机械制造有限公司 | 造雪机|人工造雪机|造雪机价格|造雪机厂家-河南晋安机械科技有限公司 | 自动锁螺丝机_在线式拧螺丝机_自动化灌胶机_ab点胶机_品牌厂家 | 淮南网站制作丨淮南做网站丨淮南网络公司丨淮南哪家网络公司好丨淮南智讯网络 | 山东宇帆航空科技有限公司官网 | 四川杨氏达防水材料有限公司 | 上海舞台灯光音响租赁搭建线阵_年会演出摇头光束面光灯出租_led电子显示屏出租-上海led大屏幕租赁 | 箱式电炉,箱式烧结炉,箱式马弗炉,箱式实验炉,高温箱式电阻炉,箱式加热炉,箱式退火炉,箱式真空气氛炉洛阳研博炉业有限公司 |