我正在Apache commons网络库中使用Apache的FTPClient类。遗憾的是,它没有为大多数功能实现接口,这使得使用它的测试类变得棘手。所以,我以为我会创建自己的类来封装这个并实现一个接口。无论如何那是背景。我的问题是,Eclipse中是否可以生成一个接口(类似于Refactor-> Extract Interface),但是对于坐在jar文件中的第三方代码?
为了澄清,我不是在寻找FTPClient现在实现新接口,而是创建一个模仿与FTPClient相同的公共API的接口。然后我可以创建自己的类来实现这个接口并封装FTPClient。
答案 0 :(得分:18)
嗯。为什么不从空类开始,比如
class MyWrapper {
private Referent client;
}
然后,我会执行“Source - > Generate Delegate Methods”,填充空类,并根据需要委托对底层原始对象的调用。从那个类,你现在可以“重构 - >提取接口”......无论如何你需要生产包装器,这将同时解决这两个问题(包装器生成+接口生成)。