2012-01-11 5 views
-2

ここでの問題は、私が本当に大きな巨大なマッパーを書くことです。 マッパーは、BeanAからBeanBへデータをマッピング(コピー)します。 BeanAからBeanBにフィールドをコピーするEclipseで宣言された変数からのみセッターを生成する方法は?

Iはマッパー方法におけるこのようなことを行う:

public static BeanB mapToBeanB(BeanA input){ 
      BeanB output = new BeanB(); 
      output.setName(input.getName()); 
      output.setvariable1(input.getInfo()); 
      output.set***** (and so on) 
      ....... 
      return output; 
    } 

Iは、各豆から45及び130のフィールド(Beanプロパティ)との間でコピーする必要があり、私は持っています27コピーするBeans。それで、あなたはこの費用がどれくらいの労力を費やしているかをイメージできます

私の質問:私にすべてのセッターを食べさせる方法はありますか?ここ
注意、私は生成通常のゲッターとセッターを意味するものではありません。

[エディタ内の右マウスクリックを - - >ソース>がGetterおよびSetterの生成]豆自体の内部のみ動作ので。私はbeanの外でしかそれらのsetterを生成できないようにしたい。

私は質問がはっきりしていることを願っています。

public class BeanB { 
    private String name; 
    private String nickname; 
    private String variable1; 
    private String variable2; 
    private String variable3; 

    public String getName() { 
      return name; 
    } 

    public String getNickname() { 
    return nickname; 
    } 

    public void setNickname(String nickname) { 
    this.nickname = nickname; 
    } 

    public String getVariable1() { 
     return variable1; 
    } 

    public void setVariable1(String variable1) { 
     this.variable1 = variable1; 
    } 

    public String getVariable2() { 
     return variable2; 
    } 

    public void setVariable2(String variable2) { 
     this.variable2 = variable2; 
    } 

    public String getVariable3() { 
     return variable3; 
    } 

    public void setVariable3(String variable3) { 
     this.variable3 = variable3; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 

答えて

1

は、コード内でゲッター/ settesを生成します。エディタ内の

マウスを右クリック - > [ソース] - > [GetterおよびSetterの生成

を使用すると、一度に複数のセッターの呼び出しを指定する場合like

BeanB result=new BeanB(); 
result.setNickname("nickname"); 
result.setVariable1(); 
result.setVariable1(); 

など、私はこのような機能は日食の中にないと思います。

しかし、すべてのクラス変数をコンストラクタに入れてから、このコンストラクタを使用してマッパーで新しいオブジェクトを作成するのはなぜですか?このように、セッターを指定する必要はありません。

+0

あなたの答えをありがとう、私は私の質問は、十分に明確ではなかった理解もう一度やり直せますか?ありがとう – Firebird

1

ドンによれば、Eclipseにはゲッターとセッターを生成するウィザードがあります。彼が言及しなかったのは、ウィザードに生成のためのすべてのセッターを選択するボタンがあることです。

(私はそれがそのボタンを説明していないことを発見するために、この上でEclipseのヘルプ情報へのリンクを見つけました。当たり前!)

関連する問題