了解下JAVA的利用EMF举行建模,第3部分:利用Eclipse的JMerge定制天生的代码和编纂器 ...
关于第二点:俺问问你,如果是企业级项目的话,诸如RMI,EJB,等一些关键技术,这些难道都不需要学么?如果光是使用jsp,servlet,javabean的话。概述
本系列文章的前一篇先容了有关Eclipse的JavaEmitterTemplates(JET)和代码天生的常识,在那篇文章中,您已看到怎样经由过程利用模板和代码天生器来节俭工夫,并完成形式级的代码重用。但是在年夜部分情形中,这都还不敷。您必要可以将所天生的代码拔出现有的代码中,大概同意今后的开辟职员来定制所天生的代码,而不必要在从头天生代码时从头编写任何内容。幻想情形下,代码天生器的创立者但愿能够支持从此开辟职员一切的需求:从修正办法的完成、修正各类办法署名,到修正所天生类的承继布局。这是一个十分风趣的成绩,今朝还没有很好的通用办理计划;可是有一个很好的纯Java的办理计划,称为JMerge。
JMerge是EMF中包括的一个开放源代码的工具,可让您定制所天生的模子和编纂器,而从头天生的代码不会破坏已修正过的内容。假如形貌了怎样将重生成的代码兼并到现有定制过的代码中,那末JETEmitter就能够撑持JMerge。本文经由过程一个例子来展示个中的一些可用选项。
第一步
假定您已增加了一个新项目,在这个项目中必要为编写的每一个类都创立一个JUnit测试类,如许必需要对编写的每一个办法都进行测试。作为一个仔细且高效的(大概对照懒的)程序员来讲,您决意要编写一个插件,它承受一个Java类作为输出,并天生JUnit测试例子的存根(stub)。您热忱低落地创立了JET和插件,如今想同意用户定制所天生的测试类;但是在原有类的接口产生变化时,仍旧必要从头天生代码。要完成这类功效,可使用JMerge。
从插件中调用JMerge的代码十分复杂(拜见清单1)。这会创立一个新的JMerger实例,和一个URImerge.xml,设置要兼并的来历和方针,并挪用merger.merge()。然后兼并的内容就能够睁开为merger.getTargetCompilationUnit()。
清单1.挪用JMerge
// ...
JMerger merger = getJMerger();
// set source
merger.setSourceCompilationUnit(
merger.createCompilationUnitForContents(generated));
// set target
merger.setTargetCompilationUnit(
merger.createCompilationUnitForInputStream(
new FileInputStream(target.getLocation().toFile())));
// merge source and target
merger.merge();
// extract merged contents
InputStream mergedContents = new ByteArrayInputStream(
merger.getTargetCompilationUnit().getContents().getBytes());
// overwrite the target with the merged contents
target.setContents(mergedContents, true, false, monitor);
// ...
// ...
private JMerger getJMerger() {
// build URI for merge document
String uri =
Platform.getPlugin(PLUGIN_ID).getDescriptor().getInstallURL().toString();
uri += "templates/merge.xml";
JMerger jmerger = new JMerger();
JControlModel controlModel = new JControlModel( uri );
jmerger.setControlModel( controlModel );
return jmerger;
}
<p>
唉!都是钱闹的1.Swing和.net开发比较------从市场份额看.net开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具 Java是一种计算机编程语言,拥有跨平台、面向对java Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
页:
[1]