如何扩展Eclipse的重命名重构功能,以在完成后触发另一个重构。

7
我正在尝试扩展Eclipse的重命名重构功能,以调用另一个重命名重构功能。
public class Person {  
  ...  
}

public class PersonDAO {  
   public List<Person> getPersonByName(String name) {  
     ...  
   }  
}  

将类名Person重命名为User后,我希望像getPersonByName这样的方法也能被重命名为getUserByName
我已经扩展了RenameParticipant,并尝试使用JDT重命名重构和ASTRewrite来实现。
问题是我所做的更改与原始重命名重构的更改冲突。 我无法使用postCreateChange(基本处理器似乎只返回null),现在我陷入了困境。
非常感谢任何帮助。

您的更改与原来的重命名重构更改有何冲突? - reprogrammer
2个回答

1

无法通过重构更改方法中定义的字符串“Person”为新值“User”。

但是,您可以使用Ctrl+H在整个工作区中搜索所需的字符串,并将其替换为新值。

enter image description here

当您点击“替换”按钮时,Eclipse将询问您新值,该新值将替换搜索的字符串。

1
更好的建议:
1)使用Hibernate。这样,您将使用Criteria API,不需要重复指定“Person”,并且可以以模块化方式附加其他限制/条件——非常适合列表/搜索页面。
2)调用您的API getByName()。List people = personDao.getPersonByName("...") 有些冗余和重复,已经足够了。
整个东西看起来有点像DAO、数据库访问或持久性的“错误方式”,我在之前的项目中见过。过于冗长、刻板且低效的标准组合只会让我想起在90年代中期手动编写的糟糕持久性或服务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接