Допустим, у меня есть интерфейс:
public interface Foo{
String bar(int baz);
}
Теперь в некотором коде Java у меня есть анонимная реализация этого интерфейса:
Foo foo = new Foo(){
public String bar(int baz){
return String.valueOf(baz);
}
};
Есть ли способ (в Eclipse) перенастроить его в одноэлементный шаблон enum (Effective Java, Item 3), например:
// further up in the same Compilation Unit:
enum StandardFoo implements Foo{
INSTANCE{
public String bar(int baz){
return String.valueOf(baz);
}
}
}
// ...
Foo foo = StandardFoo.INSTANCE;
Этот рефакторинг делать утомительно вручную, и я делаю это все время. Есть ли плагин, который делает это? Или секретный трюк JDT, о котором я не знаю (я использую Индиго)?
Кстати: поддерживает ли Idea или NetBeans этот рефакторинг?