基於Eclipse平台的代碼產生技術

來源:互聯網
上載者:User

簡介:代碼產生技術是項目建設中常用的減輕工作量的方法,但大部分開發人員對 Eclipse 平台下的代碼產生技術瞭解不多。本文詳細介紹在 Eclipse 平台下進行代碼產生的技術,包括 Eclipse 自身模板引擎 JET 的使用,進行 Eclipse 項目產生使用的技術,以及在 Eclipse 平台下進行代碼產生的相關輔助技術。本文對軟體架構師和 Eclipse 開發人員都將有所裨益。

Eclipse 的 Java Emitter Templates(JET)一個開源的模板引擎,其功能是在 Eclipse Modeling Framework(EMF)中產生代碼。 JET 的文法與 JSP 文法比較相似,但它們處於不同的應用領域。

JET 的模板檔案(template files)尾碼一般為(*.jet),但為區分組建檔案的類型建議副檔名採用組建檔案類型加 jet 尾碼的方式,如 ***.javajet、***.textjet 等。

org.eclipse.emf.codegen.jet.JETEmitter 是 JET 的核心類,其 generate() 方法完成實現兩個功能,將模板檔案轉換為模板執行類(template implementation class)然後通過模板執行類的輸出產生相應的代碼或文本。

圖 1. 文本產生流程圖

查看原圖(大圖)

JET 應用樣本

本文隨附三個樣本源碼,下文描述的三個樣本分別對應樣本源碼中的 demo1、demo2 及 demo3,樣本中具體方法寫在樣本源碼中 SampleNewWizard 的 doFinish 方法中。將樣本項目以 Eclipse Application 方式運行後,在新啟動並執行 Eclipse 平台上選擇菜單 FileNewOther,在彈出的 New 對話方塊中選擇 JET Sample Wizards Demo1 至 Demo3,在彈出對話方塊中填入相應內容即可顯示樣本效果。

圖 2. JET Sample Wizards

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.