【问题标题】:Is it possible to use "Add unimplemented methods" programmatically是否可以以编程方式使用“添加未实现的方法”
【发布时间】:2011-10-27 19:33:31
【问题描述】:

通过接口生成类后,我需要一个与 Eclipse 的“添加未实现的方法”功能具有相同功能的方法。我搜索了它,但我找不到任何东西。有没有什么方法可以使用,比如插件扩展点之类的?

谢谢,
津农


实际上,我创建了一个项目,该项目使用来自用户的模板和信息创建了一个项目。它在运行时从模板生成源代码。我有一个接口类和一些在模板项目中实现接口类的实现类。

public interface newInterface {
//Some methods here
String processStrings();
}


public newClass1 implements newInterface { 
String processStrings() {
 //processes here
}

public newClass2 implements newInterface { 
String processStrings() {
  //processes here
}

}

}

当我需要向接口添加新方法时,我需要更新实现该接口的类。添加未实现的方法只是我对这个问题的想法,但我不确定它是否是理想的解决方案。现在问题清楚了吗?

【问题讨论】:

  • 您使用的是什么平台? ..如果是日食。 。这不是问题。 :)
  • 是的,我使用 Eclipse。我找到了“AddUnimplementedMethodsOperation”类的源代码,但无法准确使用。
  • @zinon - 源代码是免费的......为什么你不能使用它?
  • Stephen 是对的......如果它是开源的,为什么不使用它呢? :)
  • 我不明白你为什么需要与实现相同的功能。您想在哪里使用它?在eclipse里面,函数是刚刚定义的,在外面,你缺少使用它的整个环境。

标签: java eclipse methods


【解决方案1】:

我将在上面的@mliebelt 评论中添加您可以选择在新类向导中创建“继承抽象方法”。

无论如何,如果您坚持,请查看向导的实现,或 UnimplementedCodeFix 类的实现。

此外,该功能的 JDT 测试位于 AddUnimplementedMethodsTest 类(第 365 行)。这些测试还可以让您更好地了解事物的工作原理。但是,请注意您正在处理内部 JDT 类。

【讨论】:

  • 感谢终于找到了用法,但是你是对的,使用内部类可能有点麻烦。我已经在第一篇文章中更新了问题。你有什么更好的办法来解决这个问题
  • 不幸的是,我没有想到。我会调查 JDT 是否添加了任何可以通过处理程序服务执行的 IHandler 实现。如果是这样,它将被封装。但是,仍然存在类/编译单元 AST 的问题,我不太确定它是否被封装。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2021-07-31
  • 1970-01-01
  • 2016-04-21
  • 2012-09-24
相关资源
最近更新 更多