Как генерировать сеттеры только из объявленной переменной в Eclipse? - PullRequest
0 голосов
/ 11 января 2012

Проблема в том, что я пишу действительно большие, огромные картографы.Маппер отображает (копирует) данные из BeanA в BeanB.

Чтобы скопировать поля из BeanA в BeanB, я делаю это следующим образом в методе в маппере:

    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;
    }

Мне нужноскопируйте от 45 до 130 полей (свойств бинов) из каждого Бина, и у меня есть 27 Бинов для копирования.Таким образом, вы можете представить, сколько усилий это стоит.

Мой вопрос: есть ли способ позволить затмению генерировать все эти сеттеры для меня?
Внимание, я не имею в виду обычные методы получения и установки, генерируемые с помощью:

[Щелкните правой кнопкой мыши в редакторе -> Источник -> Создать методы получения и установки], потому что это работает только внутри самого компонента.,Я хочу иметь возможность генерировать эти сеттеры только за пределами bean-компонента.

Надеюсь, вопрос ясен.

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;
    }
}

Ответы [ 2 ]

1 голос
/ 11 января 2012

Как говорит Дон, в Eclipse есть мастер для генерации геттеров и сеттеров. Он не упомянул, что у мастера есть кнопка для выбора всех сеттеров для генерации.

(Я нашел ссылку на справочную информацию по Eclipse, но обнаружил, что она не описывает эту кнопку. Дух!)

1 голос
/ 11 января 2012

Генерация геттеров / сеттеров в коде:

Щелкните правой кнопкой мыши в редакторе -> Источник -> Генерация геттеров и сеттеров

Если вы хотите указать вызов нескольких сеттеров одновременнокак

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

и так далее, я думаю, что внутри eclipse такой функциональности нет.

Но почему бы вам не поместить все переменные класса в конструктор, а затем создать новый объект?в маппере с помощью этого конструктора?Таким образом, вам не нужно указывать никаких сеттеров.

...