Java 用于对象包装的代码生成工具

Java 用于对象包装的代码生成工具,java,code-generation,Java,Code Generation,假设您必须包装一个java.sql.ResultSet的实例。您无法扩展它,因为您不知道实现ResultSet的具体类实际实例化了什么。您可以聚合实例,实现ResultSet并覆盖所有方法 现在假设您只想更改一个方法的行为。所有其他被重写的方法都只是一个很长的样板文件,如下所示: public void foo() { wrapped.foo(); } 你知道有什么自动代码生成工具可以为我执行这项工作(独立的或包含在通用IDE中)?任何一个像样的IDE都应该能够做到这一点。例如,在In

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

现在假设您只想更改一个方法的行为。所有其他被重写的方法都只是一个很长的样板文件,如下所示:

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

你知道有什么自动代码生成工具可以为我执行这项工作(独立的或包含在通用IDE中)?

任何一个像样的IDE都应该能够做到这一点。例如,在Intellij Idea中:代码->生成->委托方法


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

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


检查要为其生成代理的方法,就完成了。

这真是太可爱了。我在日食中没有注意到的东西。谢谢