國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
63
圖 5.20:Question 裡 helpmsg 屬性的 Eclipse 導引精靈轉換示意圖。
Eclipse 導引精靈的轉換示意圖,經過轉換後會產生 EValidation 模型,用來產生 Eclipse 導引精靈的資料驗證框架,包含在 Validation 裡的 ErrorMessage 模型是屬於在資料驗證 過程中出現錯誤時用來提醒使用者的錯誤訊息,所以經過模型轉換後會產生 ErrorMsg 模型並且儲存於 EValidation 裡。
圖 5.21:Validation 的 Eclipse 導引精靈轉換示意圖。
5.2 模型與程式碼之間的轉換規則
在本系統裡模型與程式碼之間的轉換過程,是將特定平台的導引精靈模型轉換成可執行 的程式碼,藉此自動化的產生符合各個執行平台的導引精靈程式。在進行模型轉換之前,
我們必須先對每一個平台專屬導引精靈的超模型,建立符合特定執行平台的模型轉換範 本(template),接著再利用模型轉換語言進行轉換過程的撰寫。所以接下來將會專注在,
本系統裡三個特定平台導引精靈超模型的模型轉換範本說明。
‧
Java 導引精靈的程式結構,JWizard 模型代表的是一個 Java 導引精靈的主程式,因此 JWizard 的模型轉換範本(附錄 B-1)就是一個標準的 Java 程式,裡面包含了利用 Java 導引精靈 API 產生的 Wizard 物件與 WizardProducer 物件,藉此完成一個 Java 導引精 靈的建構。接著 JPage 是用來描述導引精靈頁面的內容,JPage 的模型轉換範本(附錄 B-2) 是一個繼承 Java 導引精靈 API 裡 WizardPage 類別的 Java 類別,JPage 的內容主要是 由 Java 使用者介面元件與輔助方法所組成,Java 使用者介面元件依據我們所定義的模 型轉換範本(附錄 B-3)即可完成。
‧
Eclipse 導引精靈的程式結構,EWizard 模型代表的是一個 Eclipse 導引精靈的主程式,
因此 EWizard 的模型轉換範本(附錄 C-1)就是一個標準的 Java 程式,裡面包含了繼承 JFace 裡 Wizard 類別的 Java 類別,並且利用 JFace 提供的 WizardDialog 來呈現 Eclipse 的導引精靈,完成一個 Eclipse 導引精靈框架的建構。接著 EPage 是用來描述導引精靈 頁面的內容,因此 EPage 的模型轉換範本(附錄 C-2)是一個繼承 JFace 裡 WizardPage 類別的 Java 類別,EPage 的內容主要是由 Eclipse 使用者介面元件與輔助方法所組成,
Eclipse 使用者介面元件依據我們所定義的模型轉換範本(附錄 C-3)即可完成。
Eclipse 導引精靈輔助方法的模型範本轉換與 Java 導引精靈不同,每一個 Java 導 引精靈頁面擁有自己的資料驗證方法,所以輔助方法與使用者介面元件是分開來進行轉 換的。Eclipse 導引精靈的輔助方法主要是利用 JFace 導引精靈頁面框架提供的兩個訊 息提示方法 setMessage()與 setErrorMessage()來建構,所以 Eclipse 導引精靈的輔助 方法會依據不同的使用者介面元件來進行個別的設計,因此 EHelp 與 EValidation 的模型 範本轉換必須與 Eclipse 使用者介面元件一起進行。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
66
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
67