2009-05-22 125 views
5

我想產生鏈式方法調用setter方法(即返回所設置的對象制定者),像這樣:可以在eclipse產生鏈式方法調用制定者

public MyObject setField (Object value) { 
    this.field = value; 
    return this; 
} 

這使得它更容易做的單行實例,我發現它更易於閱讀:

myMethod (new MyObject().setField (someValue).setOtherField (someOtherValue)); 

是否可以修改Eclipse的模板來執行此操作?我已將內容更改爲包含return this;,但簽名未更改。

+0

我個人不知道答案。但是,您可能會通過搜索「流利」接口來找到一些結果。 http://en.wikipedia.org/wiki/Fluent_interface – 2009-05-22 15:42:21

+0

剛剛添加了潛在的插件,根據要求(尚未測試) – VonC 2009-05-22 16:01:19

回答

3

我確認eclipse(最高3.5RC1)不支持「方法鏈接」設置生成。
它只允許評論和正文定製,而不是API修改setter(意味着生成的setter仍然返回'void')。

可能是插件Builder Pattern可以幫助這裏...(雖然不是測試)

經典的方式(而不是「混日子」,因爲它總是會生成一個「void」的返回類型的setter):
alt text http://help.eclipse.org/help33/topic/org.eclipse.jdt.doc.user/gettingStarted/images/generate_getter_setter_dialog.png

VS.新方法(Builder Pattern,可能用作Eclipse plugin
alt text http://www.javadesign.info/media/blogs/JDesign/DesignConcepts/DesignPatterns/GOF/Creational-BuilderPatternStructure.jpeg

2

不要自己使用eclipse,但如果找不到某個功能,則必須更改其中一個標準模板。

順便說一句,它叫做方法鏈接(這可能有助於谷歌搜索或兩個)。

+0

謝謝,我已經修正了這個問題,明確指出。 – 2009-05-22 15:54:39

相關問題