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

时间:2013-02-16 19:35:27

标签: java code-generation

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

现在想象一下你想要改变一个方法的行为。所有其他被覆盖的方法只是一个很长的样板:

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

您是否知道可以为我执行此任务的任何自动代码生成工具(独立或包含在常见IDE中)?

2 个答案:

答案 0 :(得分:2)

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

enter image description here

检查要生成委托的方法,并完成。

答案 1 :(得分:1)

任何体面的IDE都应该能够做到这一点。例如。在InteilliJ想法:代码 - >生成 - >代表方法

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