2013-02-16 51 views
1

想象一下,您必须包装java.sql.ResultSet的实例。你不能扩展它,因为你不知道具体实现ResultSet的具体类是什么。您可以只聚合实例,实施ResultSet并覆盖所有方法。对象包装的代码生成工具

现在想象一下你想改变一个方法的行为。所有其他重载方法只是一个很长的样板是这样的:

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

你知道任何自动代码生成工具,可以为我(无论是独立的或纳入普通的IDE)完成这项任务?

回答

2

Eclipse,用ResultSet作为成员创建一个类,把光标放在这个成员上,然后选择菜单“Source> Generate delegate Methods”。

enter image description here

检查你想要的方式来产生的代表,它的完成。

+0

真的很可爱。我在Eclipse中没有注意到的东西。谢谢! – gd1 2013-02-16 19:42:25

+0

+1这真的很不错,它会派上用场。 – arshajii 2013-07-23 20:32:38

1

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

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