Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何扩展Eclipse';s重命名重构以在重构完成后触发另一个重构_Java_Eclipse_Refactoring_Rename_Ltk - Fatal编程技术网

Java 如何扩展Eclipse';s重命名重构以在重构完成后触发另一个重构

Java 如何扩展Eclipse';s重命名重构以在重构完成后触发另一个重构,java,eclipse,refactoring,rename,ltk,Java,Eclipse,Refactoring,Rename,Ltk,我试图扩展eclipse的重命名重构,以调用另一个重命名重构 public class Person { ... } public class PersonDAO { public List<Person> getPersonByName(String name) { ... } } 公共类人物{ ... } 公共类个人 公共列表getPersonByName(字符串名称){ ... } } 在将类Perso

我试图扩展eclipse的重命名重构,以调用另一个重命名重构

public class Person {  
  ...  
}

public class PersonDAO {  
   public List<Person> getPersonByName(String name) {  
     ...  
   }  
}  
公共类人物{
...  
}
公共类个人
公共列表getPersonByName(字符串名称){
...  
}  
}  
在将类Person重命名为User之后,我希望像
getPersonByName
这样的方法被重命名为
getUserByName

我已经扩展了RenameParticipant,并尝试通过使用JDT rename重构和ASTRewrite来实现

问题是我创建的更改与原始重命名重构更改冲突。
我无法使用
postCreateChange
(基本处理器似乎只返回null),现在我被卡住了


非常感谢您的帮助。

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

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

当您单击“替换”按钮时,Eclipse将询问将替换插入字符串的新值。

更好的建议:

1) 使用Hibernate。然后,您将使用Criteria API,不需要冗余地指定“Person”,并且可以以模块化的方式附加其他限制/条件,这对列表/搜索页面非常有用

2) 调用API getByName()。List people=personDao.getPersonByName(“…”)已经有点重复了


整个过程看起来有点像我在以前的项目中看到的DAO、数据库访问或持久化的“错误方式”。过于冗长、僵化和低实用性的标准组合让我想起了手动编写的持久性或服务在90年代中期做得很糟糕。

您的更改与最初的重命名重构更改有什么冲突?