Как создать плагин Eclipse для автоматического создания методов чтения / записи External существующего класса

Как создать плагин Eclipse для автоматического создания кода сериализации read/writeExternal на существующие классы кода Java?

Необходимые шаги: получить класс из активной вкладки (и / или информацию об информации о поле класса, например, в окне схемы) и сгенерировать код для каждого поля, возможно, использование отражения также поможет.

1 ответ

Самый простой способ - это опираться на org.eclipse.jdt.ui.actions.GenerateMethodAbstractAction что используется затмением для реализации GenerateToStringAction а также GeneateHashCodeEqualsAction,

В принципе:

  1. Создать базовый подкласс GenerateMethodAbstractAction
  2. Реализуйте логику, которая перечисляет все поля / свойства и т. Д., Которые вы хотите обработать в generateCandidates(), Вы также должны решить, если вы вернетесь в суперкласс или нет.
  3. Реализуйте логику, которая генерирует MethodDeclaration s для методов readExternal/writeExternal с использованием данных, собранных на шаге 2.
  4. Wrap генерируется MethodDeclaration в IWorkspaceRunnable который применяет их как правки (см. GenerateToStringOperation) и вернуть его из createOperation(...),
  5. Зарегистрируйте новое действие в меню "Источник", чтобы его можно было использовать

Требуемый код довольно длинный и сложный, поэтому лучше следовать двум существующим классам действий для руководства.

Если вы решите поместить его в другое место, кроме меню "Источник", вы можете обнаружить активный редактор с помощью

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()

Смотрите также:

Другие вопросы по тегам