我想生成方法链接setter(返回正在设置的对象的setter),如下所示:
public MyObject setField (Object value) {
this.field = value;
return this;
}
这样可以更容易地进行单行实例化,我觉得更容易阅读:
myMethod (new MyObject ().setField (someValue).setOtherField (someOtherValue));
可以修改Eclipse的模板来执行此操作吗?我已将内容更改为包含return this;
,但签名未更改。
答案 0 :(得分:3)
我确认eclipse(最高3.5RC1)不支持“方法链”生成器生成
它只允许注释和正文自定义,而不是对setter的API修改(意味着生成的setter仍然返回'void
')。
可能是插件Builder Pattern可以在这里帮助...(虽然未经过测试)
经典方式(不是“goof”,因为它总是生成“void
”作为setter的返回类型):
(来源:eclipse.org)
Vs以上。新方式(Builder Pattern,可能用作Eclipse plugin)
alt text http://www.javadesign.info/media/blogs/JDesign/DesignConcepts/DesignPatterns/GOF/Creational-BuilderPatternStructure.jpeg
答案 1 :(得分:2)
不要自己使用eclipse,但如果找不到功能,则必须更改其中一个标准模板。
顺便称之为方法链接(可能有助于Google搜索或两次)。