<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

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

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

      安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        亚洲夜夜精品一区二区在 | 亚洲人成网站精品片在线观看 | 日韩成AV人网站在线播放 | 午夜免费啪视频在线观看 | 亚洲日韩欧美综合中文字幕 | 日本一区二区人妖 |