Eclipse 插件开发-如何扩展 WTP Wizard
2010-04-12 00:00:00 来源:WEB开发网清单 5. Operation
public IStatus execute(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException
{
IStatus status = super.execute(monitor, info);
if (OK_STATUS == status) {
try {
// copy default resource file
ResourceUtil.copyFiles(project.getProject(), monitor);
String spackage = getDataModel().getStringProperty(
SampleProjectCreationDataModelProvider.PACKAGE);
String sname = getDataModel().getStringProperty(
SampleProjectCreationDataModelProvider.MAIN_CLASS_NAME);
// You can use package and class name to create the main
// class here
} catch (Exception e) {
e.printStackTrace();
}
return status;
}
上一小节通过 Provider 的 getDefaultOperation 告诉 DataModelWizard,当 Wizard 完成的时候所执行的具体操作。这里只需重写父类的 execute 方法,当父类 execute 执行完毕后,可以执行额外的创建工作。
总结
上述扩展 WTP Wizard 方式可以归纳为使用面向对象技术扩展已有 Wizard :扩展 Data Model Wizard 的子类,注册一个新的 Wizard,该新 Wizard 可以使用重写、覆盖等技术改变已有 Wizard 特性。事实上还有另外一种扩展已有 Wizard 的方式 —— 通过扩展点扩展。该扩展方式将会影响到所有被扩展的实例,且只能增强被扩展 Wizard,不能隐蔽或者减少已有 Wizard 的功能,读者可以自行查阅相关文档。
更多精彩
赞助商链接