5

次のように、メソッドチェーン セッター (設定されているオブジェクトを返すセッター) を生成したいと思います。

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

これにより、ワンライナーのインスタンス化が簡単になり、読みやすくなります。

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

これを行うために Eclipse のテンプレートを変更できますか? コンテンツを含めるように変更しましたreturn this;が、署名は変更されていません。

4

2 に答える 2

3

Eclipse (最大 3.5RC1) が「メソッド連鎖」セッター生成をサポートしていないことを確認しました。
コメントと本文のカスタマイズのみが許可され、setter の API 変更は許可されません (つまり、生成された setter は引き続き ' void' を返します)。

プラグインのビルダーパターンがここで役立つかもしれません...(ただしテストされていません)

void古典的な方法 (セッターの戻り値の型として常に " " を生成するため、「間抜け」ではありません): (ソース: eclipse.org )
代替テキスト

対。新しい方法 (ビルダー パターン、潜在的にEclipse プラグインとして使用)
代替テキスト http://www.javadesign.info/media/blogs/JDesign/DesignConcepts/DesignPatterns/GOF/Creational-BuilderPatternStructure.jpeg

于 2009-05-22T15:53:13.080 に答える
2

自分で eclipse を使用しないでください。ただし、機能が見つからない場合は、標準テンプレートの 1 つを変更する必要があります。

ちなみに、これはメソッドチェーンと呼ばれています (これは、Google 検索で役立つ場合があります)。

于 2009-05-22T15:48:30.913 に答える