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

简介:代码生成技术是项目建设中常用的减轻工作量的方法,但大部分开发人员对 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

时间: 2024-09-26 02:31:39

基于Eclipse平台的代码生成技术的相关文章

Lotus 8.0基于Eclipse平台,IBM的产品线都向Eclipse靠紧了?

引用 IBM 已于上个月正式发布了 Lotus Notes 和 Domino V8 版本!新版本的 Lotus Notes 将基于 Eclipse 平台,增强了用户界面,强化了协作和消息传递功能,并使用最先进的编程结构扩展了应用程序开发模型.   IBM 于 9 月 18 日在北京举办的 --"协作无极限 共享大智慧"-- IBM Lotus Notes/Domino 8 发布会! 没有基于 Lotus 平台开发也好长时间了,想当年在 OA 盛行的时候,Lotus 可谓是占去半壁江山啊

将DWE Design Studio的功能集成到其他基于Eclipse平台的产品中

简介 DB2 Data Warehouse Edition (DB2 DWE) 产品为随需应变(On Demand)商务智能业务提供了综合的基础平台,它将IBM一系列的商务智能产品无缝地结合在一起,使得用户可以方便地搭建下一代数据仓库. Design Studio 是DWE产品的IDE(Integrated Development Environment)界面,它为DWE产品的数据流(Data Flow),控制流(Control Flow),数据挖掘流(Mining Flow)和在线数据分析(O

求搭建dcm4chee基于Eclipse平台的开发环境

问题描述 如题,求一套能够用eclipse开发的dcm4chee的环境,我是学生要做毕业设计用,曾看过http://blog.csdn.net/omage/archive/2010/02/07/5296366.aspx这篇文章自己操作了一翻,但是失败了.哪位大哥大姐有这套开发环境,请联系我QQ394095956谢谢了啊. 解决方案 解决方案二:该回复于2011-01-10 10:19:32被版主删除解决方案三:引用楼主chfzhb的回复: 如题,求一套能够用eclipse开发的dcm4chee的

CICS Explorer基于Eclipse上连接CICS TS的系统管理工具

本文将介绍 CICS http://www.aliyun.com/zixun/aggregation/29809.html">Explorer 和基于 CICS Explorer 基础上的 plug-in 产品的应用:CICS Configuration Manager, CICS Deployment Assistant; CICS Performance Analyzer. CICS Explorer 是一款系统管理工具,旨在提供简单易用的方法来管理一个或多个 CICS® 系统.它基于

基于AgileEAS.NET SOA 平台SAAS架构技术的开源分销ERP系统-SmartERP.NET下载配置说明

一.前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的.      AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC.ORM.SOA.分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的

基于Hadoop平台的大数据分析关键技术标准化探讨

基于Hadoop平台的大数据分析关键技术标准化探讨 高洪  杨庆平  黄震江 分析基于Hadoop平台的大数据分析关键技术面临的标准化问题,从数据采集.并行计算框架.分析结果输出.并行数据分析算法四个方面进行标准化的分析和调研,提出包含架构模型等四个方面的标准化方向以及相关API等方面的标准化建议. 关键词--大数据分析: 计算框架: 并行分析算法: Hadoop 基于Hadoop平台的大数据分析关键技术标准化探讨

一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)

发布NGuestBook的动机说明      大约在半年前,我在博客上发表了一个系列文章:<基于.NET平台的分层架构实战>.当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代码,以便对照文章研究学习.但是,在当时NGuestBook只是我虚拟的一个案例,并没有成型的系统和完整的源代码.       但是后来一直有很多朋友询问这个事情,所以我觉得,将那个NGuestBook做出来还是很有必要的,所以,我花了两

基于Eclipse RCP简化IoC实现

一.引言 Eclipse富客户端平台(RCP)是一个强有力的软件基础库-它基于相互联系的协作性插件,允许开发者构建普通应用程序.借助于RCP,开发者只需专注于应用程序业务代码的开发而不必花时间去重写应用程序管理逻辑. 控制反转(IoC)和依赖性注入(DI)都是能够用来减少程序之间的耦合度的编程模式.它们都遵循一种简单的原则:你不必创建自己的对象,而只需描述该对象如何被创建:你不必实例化或直接定位你的组件需要的服务,而只需确定哪些服务为哪些组件所需要,然后由其它程序(通常是一个容器)负责把它们"钩

基于Eclipse开发轻量级Spring插件

摘要 本文介绍如何在Eclipse中利用Spring框架作为一个平台来创建轻量级的能够与你的现有J2EE应用程序无缝集成的插件. 一.引言 一般地,企业软件产品都要求在客户端具有定制能力,而且当客户必须修改核心产品的配置来引入他们自己的定制时一般都要求进行更新操作.借助于易于扩展和可升级的高度模块化的软件,插件技术能够提供针对这种典型场所下的完美解决方案. 注释1-什么是插件呢?一个插件是使用什么样的代码构成的? 在众多的定义当中,我认为最好的定义当属Eclipse工程中所定义的:插件是一种代码