Как изменить код автоматически в нескольких java классах? - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть иерархия объектов или дерево, для которого я хотел бы сделать две вещи:

  1. Для каждого узла сделать каждое публикуемое поле c приватным и генерировать методы получения и установки.
  2. Сохранение всех состояний дерева на карте, чтобы каждый раз, когда установщик или получатель вызывался на одном из узлов, он переходил на карту и не сохранял или не извлекал состояние из самого узла. Я бы сделал это, вставив ссылку на карту в каждый из узлов дерева, чтобы сеттеры и геттеры работали на карте.

Мне интересно, есть ли способ изменить мой код автоматически, чтобы сделать это. Я знаю, что IntelliJ может сделать все публичные c поля в классе приватными и генерировать методы получения и установки для одного файла, но возможно ли сделать это для многих? Можно ли сделать вторую модификацию, которую я обрисовал автоматически?

Ответы [ 2 ]

2 голосов
/ 07 апреля 2020

Вы можете сделать это, используя IntelliJ-шаблон для получения / установки. Это довольно понятный инструмент псевдокода для создания собственного механизма генерации кода c. См. этот вопрос , чтобы понять более ясно

0 голосов
/ 07 апреля 2020

Вы можете использовать ByteBuddy для выполнения sh этого.

...