如何创建一个eclipse插件来自动创建现有类的read / writeExternal方法

时间:2013-08-13 16:24:55

标签: java eclipse eclipse-plugin externalizable

如何创建eclipse插件以在现有代码java类上自动创建序列化代码read / writeExternal?

需要的步骤从活动标签中获取类(和/或类字段信息中的信息,如大纲窗口中的信息)并为每个字段生成代码,也许使用反射也会有所帮助。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在org.eclipse.jdt.ui.actions.GenerateMethodAbstractAction的基础上构建 eclipse用来实现GenerateToStringActionGeneateHashCodeEqualsAction

基本上:

  1. 构建GenerateMethodAbstractAction
  2. 的基本子类
  3. 实现逻辑,枚举您要在generateCandidates()中处理的所有字段/属性等。您还需要决定是否进入超类。
  4. 使用在步骤2中收集的数据实现为readExternal / writeExternal方法生成MethodDeclaration的逻辑。
  5. 将生成的MethodDeclaration包装到IWorkspaceRunnable中,将其作为修改应用(请参阅GenerateToStringOperation)并从createOperation(...)返回。
  6. 将您的新操作注册到“来源”菜单,以便可以使用
  7. 所需的代码相当长且涉及,所以最好按照现有的两个动作类进行指导。

    如果您选择将其置于“源”菜单以外的其他位置,则可以使用

    发现活动编辑器
    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()
    

    另见: