快速业务通道

基于Eclipse平台的代码生成技术 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-13
 Target javadoc 13   * Target javadoc 14   *   * @generated NOT this target delete or add a word NOT   */   public void printMessage1() {   // This is my owner code   System.out.print("This is user code");   }   /**   * Target javadoc 21   * <!-- begin-user-doc -->   * Target javadoc 22   * Target javadoc 23   * <!-- end-user-doc -->   * Target javadoc 24   *   * @generated   */   public void printMessage2() {   // This is my owner code   System.out.print("This code will be replace");   System.out.print("Will be replace");   System.out.println("Source code 2");   }

对 JMerger 合并规则的描述的文章很多,本文不再累述。本例中使用的合并规则是插件 org.eclipse.emf.codegen.ecore 中的 emf-merge.xml 的内容。将其复制到项目的 templates 文件夹中即可达到效果。

基于Eclipse平台的代码生成技术(7)

时间:2012-02-26 IBM 吕锋 于沛 王轩

JET 技术总结

Eclipse 中的 JET 技术作为 EMF 不可或缺的技术之一,其优势显而易见,易学、易用、易上手使开发人员可以在很短的时间就可以开始开发工作,其与 JSP 类似的模板语言也降低了模板开发时的门槛。它可以生成开发人员需要的任何格式的文本类型文件,例如 java、xml、sql 等等。此外 , 骨架技术使模板开发人员在针对特定类型模板文件编写时,可以进行单独优化,以减少开发人员的工作量。

JET 支持代码合并功能,通过使用简便的代码和实现定义好的合并规则就可以将自动生成代码与人工手写代码有效的整合。

但所有的事物都是有利有弊的,JET 也不例外。 JET 未提供专用的模板和骨架编辑工具,效率对开发效率造成一定影响。另外 JET 极大程度上依赖 Eclipse 的插件机制,而其模板和骨架在代码运行前无法很简便的得知其生成的模板执行类的内容也是件比较麻烦的事情。

JET 与 M2T

刚刚接触 JET 的开发人员会存在一个困惑,在 Eclipse 关于 EMF 的 org.eclipse.emf.codegen 插件项目中存在一层名称为 jet 的包路径,而 Eclipse 在项目 M2T 中也存在有 org.eclipse.jet 插件项目,它们有什么关系呢?

org.eclipse.jet 一般称为 JET2,其内部很多关键类也都是用 JET2 作为类名的前缀,而 org.eclipse.emf.codegen 一般称为 JET,是 EMF 项目不可缺少的核心,其中很多关键类都是用 JET 作为类名前缀。但是即使是这样,有不少开发人员仍旧对其名称发生困惑,因此,Eclipse 在其网站中对这两者的名称已经正式发布,org.eclipse.emf.codegen 插件定名为 EMF.Codegen,org.eclipse.jet 插件定名为 JET,本文考虑到大多开发人员的描述习惯以及关键词与类名前缀的统一,文章中讨论的 JET 技术是指 Eclipse 的插件 org.eclipse.emf.codegen,也即俗称的 JET 技术,或 Eclipse 中 EMF 的 EMF.Codegen 技术。

Eclipse 的项目生成技术

在前文的描述中,利用 JET 技术中的类 JETEmitter 能够生成 JavaProject 。但实际项目开发的需求往往比这要灵活得多,可能需指定编译器、设置插件引用、设定 jar 包引用等。通过 org.eclipse.jdt.core 中的 IJavaProject 及 org.eclipse.core.resources 中的 Iproject 开发人员可以灵活调整 JavaProject 的属性。。

下一示例演示 JavaProject 的创建及属性修改。该示例将创建名称为 demo 的 JavaProject

图 3. demo 的 JavaProject 项目在 Package Explorer View 中的展示

基于Eclipse平台的代码生成技术(8)

时间:2012-02-26 IBM 吕锋 于沛 王轩

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号