【问题标题】:Code generation tool for object wrapping用于对象包装的代码生成工具
【发布时间】:2013-02-01 14:02:33
【问题描述】:

假设您必须包装一个java.sql.ResultSet 的实例。您无法扩展它,因为您不知道实际实例化实现ResultSet 的具体类是什么。您可以只聚合实例,实现ResultSet 并覆盖所有方法。

现在假设你想改变一个方法的行为。所有其他被覆盖的方法只是一个像这样的长样板:

public void foo() {
    wrapped.foo();
}

您知道任何可以为我完成这项工作的自动代码生成工具吗(独立的或包含在常见 IDE 中)?

【问题讨论】:

    标签: java code-generation


    【解决方案1】:

    Eclipse中,创建一个以ResultSet为成员的类,将光标放在该成员上,然后选择菜单“Source > Generate delegate Methods”。

    检查您要为其生成委托的方法并完成。

    【讨论】:

    • 这真的很可爱。我在 Eclipse 中没有注意到的东西。谢谢!
    【解决方案2】:

    任何体面的 IDE 都应该能够做到这一点。例如。在 IntelliJ Idea 中:代码 -> 生成 -> 委托方法

    如果类的成员字段具有类实现/扩展的类型,则此选项可用。

    【讨论】:

      猜你喜欢
      • 2016-03-27
      • 2011-01-29
      • 1970-01-01
      • 2011-06-26
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      相关资源
      最近更新 更多