基于 Eclipse 平台的代码生成技术
2010-07-02 00:00:00 来源:WEB开发网再次执行 JET,重新生成 XXXX,新的生成代码如下,其中 printMessage1 方法 @generated 被设置为 NOT,该方法的 javadoc 注释及方法体内容都不会被合并,printMessage2 方法 javadoc 注释中加入标签 <!-- begin-user-doc --> 和 <!-- end-user-doc --> 在两个标签中间的间隔部分的注释信息将会合并到自动生成的代码中。
清单 10. 新生成的代码
/**
* Target javadoc 11
* Target javadoc 12
* 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 文件夹中即可达到效果。
更多精彩
赞助商链接