在我们使用jet生成代码的时候,会出现一些在原有代码基础之上,增量生成代码的情况。JMerger就是jet中负责代码覆盖的类。
1.JMerger的使用:
// 模板文件所在插件项目的名称
String pluginId = "demo3";
// 模板文件在项目中的路径及文件名
String uri = Platform.getBundle(pluginId).getEntry("/").toString();
uri += "templates/demo4.jet";
// 声明 JETEmitter
JETEmitter emitter = new JETEmitter(uri);
IProgressMonitor progress = new NullProgressMonitor();
// 声明一个 Map 作为数据变量集的 container
Map argument = new HashMap();
argument.put("fileName", fileName);
argument.put("className", fileName.substring(0, fileName.indexOf(".")));
// 对当前模板进行转换并将需要输出成实际文件的内容返回以便通过输出流输出
String result = emitter.generate(progress, new Object[] { argument });
// 声明 JMerger
JMerger jmerger = new JMerger();
// 合并规则文件在项目中的路径及文件名
String uri2 = Platform.getBundle(pluginId).getEntry("/").toString();
uri2 += "/templates/emf-merge.xml";
// 声明 JControlModel,作为合并规则
JControlModel controlModel = new JControlModel(uri2);
jmerger.setControlModel(controlModel);
// 在 JMerger 中设置需要合并的源文件内容
jmerger.setSourceCompilationUnit(jmerger
.createCompilationUnitForContents(result));
// 在 JMerger 中设置需要合并的目标文件内容
jmerger.setTargetCompilationUnit(jmerger
.createCompilationUnitForInputStream(new FileInputStream(file
.getLocation().toFile())));
// 对 JMerger 中目标文件与源文件进行内容合并
jmerger.merge();
return new ByteArrayInputStream(jmerger.getTargetCompilationUnit()
.getContents().getBytes());
下面有一个连接,讲的比较详细:
http://fuliang.iteye.com/blog/373509
分享到:
相关推荐
MR-JET-G 用户手册 (导入篇) MR-JET 用户手册 (硬件篇) MR-JET 合作商编码器用户手册 MR-JET 用户手册 (功能篇) MR-JET-G 用户手册 (通信功能篇) MR-JET 用户手册 (调整篇) MR-JET 用户手册 (故障排除篇) MR-JET-G ...
这是从VC6光盘提取的,遇到“无法对DAO/Jet db引擎进行初始化”问题的伙计们,可以下载此Dao Jet数据库引擎重新安装即可。
IB(NA)-0300479CHN JET-G、JET-G-N1用户手册参数篇.pdf
IB(NA)-0300484CHN-A JET-G、JET-G-N1用户手册故障排查篇.pdf
springboot整合jetcache完整代码,包括本地缓存、redis缓存,以及多缓存同时使用
ET51A 可以通过 JTAG 接口对中颖的增强型 8051 内核的系列单片机实现仿真以 及下载
jet40sp8_9xnt.exe绝对正版
有些计算机缺失这个文件,导致有些软件运行不起来,出现“无法对DAO/Jet db引擎进行初始化”的问题,下载后解压,并运行起来就可以了。
JET300 ICT培训教材 JET_ICT培训教材 JET_ICT培训教材
JetSQL - SQL script interpreter for MS JetSQL脚本解释
Microsoft Jet SQL参考
随着 Microsoft Jet 4.X 版的发行,可以看出 Microsoft OLE DB Provider for Jet 使用了更多的 ANSI-92 SQL 语法。相反地,在 ANSI SQL 中也不支持 Microsoft Jet SQL 所包含的某些保留字和性能。
MR-JET-G实现CC-LINK IE Field Basic通信.pdf
JET SQL 经典教程
Jet Profiler for MySQL 最新破解,可以对MySQL进行实时监控,找出系统瓶颈,发现SQL问题:)
Jet 的脚手架工具,帮助您更便捷地使用Jet
必须安装“Microsoft Jet 4.0 Service Pack 8” 或更高版本以阻止不安全的表达式影响一般函数。
eclipse jet 的源码,很不错的
windows 2003 jet4.0sp8升级包