Как создать плагин Eclipse для автоматического создания методов чтения / записи External существующего класса
Как создать плагин Eclipse для автоматического создания кода сериализации read/writeExternal на существующие классы кода Java?
Необходимые шаги: получить класс из активной вкладки (и / или информацию об информации о поле класса, например, в окне схемы) и сгенерировать код для каждого поля, возможно, использование отражения также поможет.
1 ответ
Самый простой способ - это опираться на org.eclipse.jdt.ui.actions.GenerateMethodAbstractAction
что используется затмением для реализации GenerateToStringAction
а также GeneateHashCodeEqualsAction
,
В принципе:
- Создать базовый подкласс
GenerateMethodAbstractAction
- Реализуйте логику, которая перечисляет все поля / свойства и т. Д., Которые вы хотите обработать в
generateCandidates()
, Вы также должны решить, если вы вернетесь в суперкласс или нет. - Реализуйте логику, которая генерирует
MethodDeclaration
s для методов readExternal/writeExternal с использованием данных, собранных на шаге 2. - Wrap генерируется
MethodDeclaration
вIWorkspaceRunnable
который применяет их как правки (см.GenerateToStringOperation
) и вернуть его изcreateOperation(...)
, - Зарегистрируйте новое действие в меню "Источник", чтобы его можно было использовать
Требуемый код довольно длинный и сложный, поэтому лучше следовать двум существующим классам действий для руководства.
Если вы решите поместить его в другое место, кроме меню "Источник", вы можете обнаружить активный редактор с помощью
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()
Смотрите также: