JAVA代码生成器 Eclipse工具开发:编写代码生成器[4]
Eclipse工具开发:编写代码生成器[4]
——此文章摘自《自己动手写开发工具 基于Eclipse的工具开发》定价 ¥ 特价 ¥ 详细>>//track linktech cn/?m_id=dangdang&a_id=A &l= &l_type = width= height= border= nosave>public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); stringBuffer append(TEXT_ ); stringBuffer append(argument); stringBuffer append(TEXT_ ); stringBuffer append(TEXT_ ); return stringBuffer toString(); } }
可以看到JET生成的代码采用的也是StringBuffer拼装的形式 注意此处生成的代码是无法手工修改的 因为每次修改以后保存的时候JET会自动把代码替换成未修改之前的代码
( ) 测试模板代码
在EnumCodeGenUtils中创建main方法 然后输入如下代码 EnumCodeGenerator gen = new EnumCodeGenerator(); System out println(gen generate( Eclipse )); 运行之后控制台中就打印出了 Hello Eclipse!
我们来对上面的模板代码和测试代码做一下简要的分析 ① <%@ jet package= cownew enumgenerator wizards class= EnumCodeGenerator %>
这是模板的头部分 以 @ jet 开头 这部分主要声明此模板的有关信息 比如生成代码的包路径 类名 导入的类等 package属性定义的就是生成代码的包路径 而class属性定义的是生成的类名
② Hello <%=argument%>!
这部分就是模板的正文了 和JSP语法一样 显示一个变量的方法是<%=变量名> 注意这里的变量argument是有特殊含义的 它表示传递给模板的参数
③ Object参数
代码生成器生成代码的方法是generate 因为我们经常需要传递一些参数给代码生成器 所以generate方法有一个类型为Object的参数 此参数在模板中可以用argument取得
![JAVA代码生成器 Eclipse工具开发:编写代码生成器[4]](http://img.zhputi.com/uploads/73d7/73d7713623d9bfd6f9bda5681ba31d1117410.jpg)
对JET有了一个感性的认识之后 我们就来通过实战来操练一下 上一节中EnumCodeGenUtils getEnumSourceCode方法的实现为空 这一节我们就来完成这项关键性的工作
经过分析 我们发现需要传递给模板代码如下 个参数才可以正确地输出代码 枚举类的包名 枚举类的类名 枚举类的项 因为模板代码的generate方法只接受类型为Object的一个参数 所以我们需要把这 个参数封装到一个JavaBean中 如下定义JavaBean
lishixinzhi/Article/program/Java/ky/201311/29010