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