Генерация всех вызовов setXXX POJO в Eclipse? - PullRequest
25 голосов
/ 12 марта 2011

В настоящее время я провожу много тестов с сущностями JPA, где я должен продолжать вызывать методы установки для сущности, которая выглядит примерно так:

myEntity.setXXX(value);
myEntity.setYYY(value);
myEntity.setZZZ(value);

Есть ли какие-либо магические ярлыки или меню в затменииIDE для генерации всех вызовов метода setter, которые начинаются с "set", как те, которые отображаются во всплывающем окне ctrl-space (автозаполнение) (я думаю, что унаследованные методы от Object не отображаются во всплывающем окне)?

Так что я представляю себе что-то вроде:

  1. я набираю myEntity.set
  2. и myEntity.set * генерируются сразу

Я ленивый программисти в настоящее время использую Eclipse Helios IDE.

Спасибо!


Редактировать

Я не ищу источник -> создать геттер и сеттер, потому что это помогло бы мне вгенерировать методы сам.Генерация method calls - вот чего я хочу достичь.

Ответы [ 5 ]

61 голосов
/ 17 марта 2011

Я нашел ответ (я всегда искал эту вещь) ...

Самый простой способ - развернуть члены класса в «проводнике пакетов», отсортировать их по имени, выделить несколько всех методов установки, а затем в буфере обмена есть все имена методов ...

; -)

1 голос
/ 16 августа 2017

вы можете использовать схему на правой стороне. Там вы можете сортировать в алфавитном порядке или в порядке объявления, используя кнопку панели инструментов представления.

enter image description here

и затем вы можете отфильтровать ненужное это.

enter image description here

enter image description here

Отсюда вы также можете копировать ... все имена функций-установщиков или функций-получателей ...

1 голос
/ 14 мая 2014

Мне нравится ответ @ Оскара.Это приводит к некоторой очистке.

Когда я вставляю из буфера обмена, я получаю что-то похожее на это:

setOne(int)  
setTwo(String)  

Чтобы очистить это, я сначала добавляю точку с запятой сэтот поиск / замена regexp:

search = (.)$
replace = \1;

Затем я добавляю вызовы геттера (при условии, что входящий объект данных называется "data"):

search = s(et.*)\(.*  
replace = s\1(data.g\1());  

Это не обрабатывает несколько аргументов ввызов метода ...

0 голосов
/ 12 декабря 2014

Для этого есть плагин Eclipse.Название плагина **

FastCode

**.Есть так много шаблонов.Среди них есть шаблон для генерации кода для создания объекта класса и метод всех сеттеров.

0 голосов
/ 12 марта 2011

Source --> Generate Getters and Setters...

Вы также можете получить его с помощью команды Quick Fix (Ctrl+1), когда курсор находится на свойстве.


EDIT

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

Commons BeanUtils может снять некоторые трудности при написании чистого кода отражения. Например, copyProperties принимает целевой компонент и либо другой компонент, либо карту в качестве источника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...