java

位置:IT落伍者 >> java >> 浏览文章

Eclipse工具开发:编写代码生成器[4]


发布日期:2021年06月16日
 
Eclipse工具开发:编写代码生成器[4]
——此文章摘自《自己动手写开发工具基于Eclipse的工具开发》定价特价 详细>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

public String generate(Object argument)

{

final StringBuffer stringBuffer = new StringBuffer();

stringBufferappend(TEXT_);

stringBufferappend(argument);

stringBufferappend(TEXT_);

stringBufferappend(TEXT_);

return stringBuffertoString();

}

}

可以看到JET生成的代码采用的也是StringBuffer拼装的形式注意此处生成的代码是无法手工修改的因为每次修改以后保存的时候JET会自动把代码替换成未修改之前的代码

() 测试模板代码

在EnumCodeGenUtils中创建main方法然后输入如下代码

EnumCodeGenerator gen = new EnumCodeGenerator();

Systemoutprintln(gengenerate(Eclipse));

运行之后控制台中就打印出了Hello Eclipse!

我们来对上面的模板代码和测试代码做一下简要的分析

① <%@ jet package=comcownewenumgeneratorwizards class=EnumCodeGenerator %>

这是模板的头部分@ jet开头这部分主要声明此模板的有关信息比如生成代码的包路径类名导入的类等package属性定义的就是生成代码的包路径而class属性定义的是生成的类名

② Hello <%=argument%>!

这部分就是模板的正文了和JSP语法一样显示一个变量的方法是<%=变量名>注意这里的变量argument是有特殊含义的它表示传递给模板的参数

③ Object参数

代码生成器生成代码的方法是generate因为我们经常需要传递一些参数给代码生成器所以generate方法有一个类型为Object的参数此参数在模板中可以用argument取得

对JET有了一个感性的认识之后我们就来通过实战来操练一下上一节中EnumCodeGenUtilsgetEnumSourceCode方法的实现为空这一节我们就来完成这项关键性的工作

经过分析我们发现需要传递给模板代码如下个参数才可以正确地输出代码枚举类的包名枚举类的类名枚举类的项因为模板代码的generate方法只接受类型为Object的一个参数所以我们需要把这个参数封装到一个JavaBean中如下定义JavaBean

right>[http://developcsaicn/Java_Eclipse/htm>] [http://developcsaicn/Java_Eclipse/htm>] [http://developcsaicn/Java_Eclipse/htm>] [] [http://developcsaicn/Java_Eclipse/htm>] [http://developcsaicn/Java_Eclipse/htm>]

               

上一篇:Eclipse工具开发:编写代码生成器[5]

下一篇:Eclipse工具开发:编写代码生成器[3]