2016-04-17 18 views
4

私が働くいくつかのプロジェクトでJava Beanを使用しています。これは、このような手作りの定型コードがたくさんあることを意味します。EclipseでJava Beanセッターを生成する

私はEclipseのプラグインの後に、Eclipseのコードテンプレートを設定する方法があります。これは、開発者が単純なスケルトンクラスからsettersを生成できるようにします。POJOのGenerate Getters and Settersと同様の方法です。

入力

public class MyBean { 
    private String value; 
} 

の予想される出力

public class MyBean { 
    private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); 

    private String value; 

    public String getValue() { 
     return this.value; 
    } 

    public void setValue(String newValue) { 
     String oldValue = this.value; 
     this.value = newValue; 
     this.pcs.firePropertyChange("value", oldValue, newValue); 
    } 

    [...] 
} 

私はプロジェクトロンボクを認識してんだけど、私はピュアJava/Eclipseのベースのアプローチに固執することを好むだろう。

私は自分自身のためにEclipseプラグインを書くことを検討していますが、本当に便利なのは、この問題やその他の問題を解決できる、より強力なテンプレートプラグインです。

答えて

4

Eclipseコードテンプレートを使用する単純なソリューションです。この応答はthis answerに基づいており、PropertyChangeSupportを設定するためのテンプレートも用意されています。私は設定プロセスに関する詳細を単に提供しました。

Eclipseでは、Windows>環境設定> Java>エディタ>テンプレート>新規を選択します。あいまいな名前を使用して、次のコードテンプレートを追加します。 BeanProperty

private ${Type} ${property}; 

public ${Type} get${Property}() { 
    return ${property}; 
} 

public void set${Property}(${Type} ${property}) { 
    ${propertyChangeSupport}.firePropertyChange("${property}", this.${property}, this.${property} = ${property}); 
} 

今、単にテンプレートの提案を示し、BeanPropertyテンプレートを選択するために、あなたのターゲットクラスでBeanProperty、プレスCtrl+Spaceを入力します。 tabキーを使用して、フィールドタイプ、フィールド名、および取得/設定名を順番に調べることができます。 Enterを押して変更を適用します。

詳細については、Using Code Templates Help entryを、さらに便利なコードテンプレートについてはthis questionを参照してください。もちろん、このソリューションはまだEclipseの限界に縛られており、自動ゲッター/セッターツールに似た、より強力なプラグインが望ましいでしょう。

+0

ありがとうございます。これは間違いなく簡単になりますが、Eclipseプラグインを開発することになります。 – Adam

関連する問題