LINUX.ORG.RU

[java][netbeans][детский сад] Как заменить один enum на другой

 ,


0

1

...да, я не нашел этой функции. Да, читал хэлп. Да, гуглил. Да, идиот.

Есть один enum, определен, скажем, так:

package myapp.package1

public enum MyEnum { VALUE1, VALUE2, VALUE3 }

И другой enum:

package myapp.package2

public enum MyEnum { VALUE1, VALUE2, VALUE3 }

Они совершенно одинаковые и взаимозаменимые, как Ежи и Петруччо. И надо, чтобы вместо myapp.package2.MyEnum везде использовался myapp.package1.MyEnum.

Вопрос: как в NetBeans быстро сделать такой рефакторинг?

Единственное, что я придумал, — удалить myapp.package1.MyEnum, после чего переместить myapp.package2.MyEnum в myapp.package1 с помощью Move. Но нет ли более цивильного способа? А то ведь если придется не просто шило на мыло заменять, а чуть сложнее, то так может и не получиться.

Версия Netbeans — 6.9.1

★★★★★

Ответ на: комментарий от CARS

>А зачем тебе два совершенно одинаковых enum'а?
Так именно, что они мне не нужны. Нужно сделать один. А есть два.

На самом деле enum'ы у меня org.eclipse.jetty.server.DispatcherType и javax.servlet.DispatcherType.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от proud_anon

Тогда может просто сделать find/replace по всему проекту, заменив

import org.eclipse.jetty.server.DispatcherType;
на
import javax.servlet.DispatcherType;
?

CARS ★★★★
()
Ответ на: комментарий от CARS

>Тогда может просто сделать find/replace по всему проекту

Да, но:

1.Классы в самом пакете org.eclipse.jetty.server используют DispatcherType и своего же пакета безо всякого импорта. Для них нужно будет вставить импорт.

2.Я спрашивал, в первую очередь, не о конкретном коде, а вообще. А если вообще, то там могут встречаться обращения к классу по полному названию (int x = myFunction(myapp.package1.MyEnum.VALUE1)). Мало ли, какие хитро... нехорошие бывают кодописатели.

3.Даже то, что я сделал, по-моему, более эффективно, чем простой поиск и замена, потому что хотя бы usage search выполняется корректно.

proud_anon ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.