后羿射日

          在Eclipse的海洋中一口接一口的喝水~~
          隨筆 - 3, 文章 - 4, 評論 - 18, 引用 - 0
          數據加載中……

          初識ecore文件

          今天終于成功的編譯了一個ecore文件,輸出的結果是genmodel文件,然后在用這個genmodel文件generate model/edit/editor,就能夠得到一個最簡單的屬性輸入框。

          在編輯這個ecore文件的時候,遇到了幾個問題,雖然都不大但是我覺得有一定的代表意義。從ibm的redbook上面幾乎都能找到答案,然后再加以實踐,問題都能解決。

          先看一眼總體的截圖:
          ----------------------------------------------------------------------------------------------
          diagram.gif
          ----------------------------------------------------------------------------------------------
          第一個問題就是根據ecore生成genmodel的時候系統不響應,點擊“finish”仍處在那個界面上。原因很簡單,就是ecore文件有錯誤。我ft,有錯誤為什么不提示?無論是在eclipse還是在其他的xml文件查看器比如xmlspy2005pro都沒有出錯提示,以至于我一致以為是我的腦子出了問題:(

          大方向找對就開始解決錯誤。

          第二個問題是每一個Eclass和所有的Eattribute和Ereference都必須由Etype,還不能是默認的。如果在UML圖中是java基礎類比如int,boolean,String等等都可以選擇E*與其對應的類(Eint,Eboolean,EString)。

          第三個,如果遇到了非常用類,比如InputStream等,就需要在試圖中創建一個新的EDataType,用它來代表我們要用的類。下圖是InputStream的屬性列表,結合他簡單的說一下如何定制這種EDataType:
          ------------------------------------------------------------------------------------------------
          InputStream.gif
          ------------------------------------------------------------------------------------------------

          DefaultValue和Serializable不用去管它,Instance Class Name里面輸進去要指代的原始類,這里我們輸入的是java.io.InputStream,Name里面輸入的是這個對象的名字。保存以后在EAttribute元素的EType里面就能看到我們自己定義的類了。


          p.s. 
              genmodel文件不能在Eclipse編輯器中修改,只能按照文本方式修改,非常的不方便,因為很有可能出錯。這個時候就只能對ecore文件進行修改,然后再生成genmodel文件。

              genmodel生成的代碼不能直接加入實現的接口類中的一些方法,需要在后面手動添加。很簡單,ctrl+1選擇相應的選項就行了。

              我覺得emf生成的代碼只是一個框架,具體的實現細節似乎還需要我們手動的輸進去,建模要是能在完整就好了,呵呵,懶鬼:P

          posted on 2005-04-10 11:11 youthyflyer 閱讀(1136) 評論(0)  編輯  收藏 所屬分類: EMF&GEF學習和實踐


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宁都县| 沭阳县| 晋江市| 米脂县| 南部县| 临澧县| 浮梁县| 房产| 当阳市| 务川| 北宁市| 三亚市| 德令哈市| 成都市| 科技| 石柱| 永德县| 玉龙| 伊吾县| 高雄县| 卢龙县| 团风县| 五河县| 乌拉特中旗| 成武县| 土默特右旗| 余干县| 通江县| 合肥市| 葵青区| 惠东县| 北辰区| 犍为县| 兰西县| 涟源市| 滦南县| 海丰县| 华宁县| 宽甸| 土默特左旗| 平安县|