亚洲成人一区在线观看_天堂网www_国产精品久久9_中文在线播放_伊人天天_久久精品久久久精品美女

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > EMF開(kāi)發(fā)指南之屬性詳解

EMF開(kāi)發(fā)指南之屬性詳解
2010-01-14 22:43:13  作者:  來(lái)源:
★changeable:boolean值,指定屬性值是否可設(shè)置
★transient:boolean值,指定屬性值在序列化的時(shí)候是否可被忽略
★unique:boolean值,該屬性在multipilicity-many(不知道怎么翻譯)的情況下才有意義,它用來(lái)表示一個(gè)值在同類(lèi)型對(duì)象實(shí)例中是否只存在一個(gè)相同的值   
★unsettable:當(dāng)設(shè)置了該屬性的時(shí)候,我們還需要使用另外一個(gè)屬性值,即unset,該屬性就是用來(lái)告訴emf,我們是否需要使用unset這個(gè)屬性。
★volatile:boolean值,表明該屬性值是否直接進(jìn)行存儲(chǔ),這種情況一般發(fā)生在當(dāng)前屬性值是由其他屬性計(jì)算而來(lái)的時(shí)候,此時(shí)該屬性的set方法可能需要我們自己實(shí)現(xiàn),而不是由emf generator生成的。
★還有幾個(gè)與數(shù)量相關(guān)的屬性:lowerbound,最小值,只能是0和正整數(shù),upperbound,最小值,大于或等于最小值,如果是unbounded的話(極大值),可以設(shè)置為-1(相當(dāng)于模型中的*)
★structrual feature的默認(rèn)值:booelan類(lèi)型的為false, integer的為0
★雖然采用不同的模型工具也可以生成emf model,但是總是會(huì)存在這樣和那樣的問(wèn)題,比如有的雖然能建模總是和emf,gef,eclipse的版本相關(guān),不同的版本會(huì)出現(xiàn)一些莫名其妙的問(wèn)題最終讓你死的很慘(我在這個(gè)上面花了太多的時(shí)間,推薦eclipse3.2.1+emf2.2.1,最新的會(huì)有問(wèn)題),而使用annotated java interface則會(huì)消除這些問(wèn)題,所謂強(qiáng)烈推薦采用annotation的方式生成emf model,不過(guò)它唯一比較麻煩的就是,你必須熟練掌握各種annoation的用法。
★一般情況下,我們不需要針對(duì)package來(lái)定義接口,除非我們需要對(duì)EPackage的一些屬性進(jìn)行復(fù)寫(xiě)(有幾個(gè)final的屬性eName,eNS_URI,eNS_Perffix),但是在下面兩種情況下,我們也需要進(jìn)行自定義:如果需要顯示定義EDataType以及顯示定義一個(gè)map entity。
★class的接口定義,就是一般的接口定義加上@model annotation,attribute和reference的定義通過(guò)在get()方法上指定相應(yīng)的annotation,operation則使用其他的方法定義。
★class的model屬性主要包括abstract和interface,用來(lái)指明定義的class是否是抽象類(lèi)和接口,都是boolean值
★class中的attribute的設(shè)置,只有符合以下條件下才能被emf generator識(shí)別為一個(gè)attribute:必須帶有一個(gè)@model的annotation,且跟隨后面的屬性不能帶有parameters屬性;方法名必須以get或者is開(kāi)頭,緊隨其后的必須為大寫(xiě)字母開(kāi)頭的屬性名;還有一點(diǎn)就是方法返回的類(lèi)型不能和EClass相關(guān)(如果返回類(lèi)型是List或EList,那么里面的類(lèi)型必須通過(guò)@model之后的type屬性加以指定,否則,EAttribute的eType要設(shè)置為對(duì)應(yīng)的EDataType類(lèi)型)
★class中的reference的設(shè)置,只有符合以下條件才能被emf generator識(shí)別為一個(gè)reference:必須帶有@model的annotation,且跟隨后面的屬性中不能帶有parameters屬性;方法名必須以get開(kāi)頭,緊隨其后的必須為大寫(xiě)字母開(kāi)頭的屬性名;返回的類(lèi)型必須和EClass相關(guān)
★class中的operation的設(shè)置,只有符合以下條件才能被emf generator識(shí)別為一個(gè)operation:必須帶有@model的annotation;@model帶有一個(gè)parameters屬性,如果方法名的定義不符合attribute和reference的方法名定義可不用帶parameters屬性,但是如果參數(shù)類(lèi)型必須使用指定的EDataType,則必須帶paramters加以指定。
★枚舉值的定義,在class的定義中,每一個(gè)int值的定義,如果使用了@model annotation,那么將被emf generator解析成一個(gè)枚舉值,如果你不希望使用emf 生成的枚舉名稱(chēng)(通常就是定義的那個(gè)屬性名),可以通過(guò)@model后面的name屬性加以指定
★自定義類(lèi)型的定義,一般情況下,我們無(wú)須顯式的自定義Data Type,emf會(huì)根據(jù)attribute和operation中用到的數(shù)據(jù)類(lèi)型在EPackage中添加相關(guān)的自定義Data Type類(lèi)型。有時(shí)候?yàn)榱私o一種類(lèi)型提供指定的序列化處理方式,需要自己寫(xiě)Data Type,為了自定義一個(gè)Data Type,具體步驟如下:方法名已get打頭;在方法注釋中添加@model;getter方法返回類(lèi)型為Data Type;注釋的屬性中包含instanceClass用來(lái)指定實(shí)際的java class 或者interface,還有一個(gè)屬性是serializable。
★用戶(hù)描述core model結(jié)構(gòu)的元數(shù)據(jù)模型(metamodel)稱(chēng)之為Ecore,同時(shí)我們又用它來(lái)描述實(shí)際應(yīng)用中的數(shù)據(jù)模型,因此Ecore又被稱(chēng)之為應(yīng)用元數(shù)據(jù)模型的元數(shù)據(jù)模型(meta-metamodel)

安徽新華電腦學(xué)校專(zhuān)業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢(xún)
主站蜘蛛池模板: 日韩www| 欧美一卡二卡在线观看 | 骚视频在线观看 | 视频一区二| 亚洲精品美女视频 | 欧美八区| 亚洲欧美激情在线 | 亚洲精品在线视频 | 国产欧美亚洲精品 | 婷婷免费视频 | 日韩中文字幕精品 | av片在线免费观看 | 久久久久久九九九 | 久久久精品日韩 | 一区二区免费在线观看 | 成人在线视频网站 | 日韩在线免费 | 精品欧美乱码久久久久久1区2区 | 亚洲一区二区在线 | 91久久精品一区二区三区 | 超碰日韩在线 | 国产中文字幕在线观看 | 国产精品日本一区二区在线播放 | 色天天综合久久久久综合片 | 蜜桃一区二区三区 | 亚洲男人天堂 | 欧美激情在线精品一区二区三区 | 日本三级黄色录像 | 成人免费在线观看 | av免费网 | 亚洲精品久久久久久久久久久 | 国产毛片在线看 | 国产精品久久九九 | 日韩在线不卡视频 | www.日本精品 | 亚洲一级视频在线 | 久久国产精品99久久久久久牛牛 | 亚洲精品久久久久国产 | 97av在线 | 日本成人一二三区 | 中文字幕在线观看 |