Я согласен с тем, что в общем случае результат будет не очень приятным, но это отправная точка, и именно в этом случае мне нужно именно то, что мне нужно (API, который я хочу использовать для рефрактора, фактически автоматически генерируется из другого инструмента, поэтому структура на самом деле хорошо работает). определенный и, следовательно, инструмент рефакторинга может быть довольно умным в этом случае)

я есть коллекция конкретных Классов, которые определяют API, и я хотел бы извлечь Интерфейс этих классов (то есть: по существу, иерархию типов и публичные методы) из фактической реализации API.

Так, например, если один из открытых классов в API

 public class Foo extends Bar {
     /* some fields which I don't care about */

     public void method() {
     /* implementation here */
     } 

     public void otherMethod() {
     /* implementation goes here */
     }

    /* some non public methods which I don't care about */

 }

Я хотел бы разбить на интерфейс и реализацию

т.е.

public interface FooInterface extends BarInterface {
    public void method();
    public void otherMethod()
}

 public class Foo implements FooInterface {
  /* etc etc */
 }

а также

Есть ли инструмент, который я могу использовать, чтобы сделать это разделение в автоматическом режиме, или мне придется свернуть свою собственную программу, чтобы сделать работу? Это должен быть инструмент, который требует минимального взаимодействия.

Ответы на вопрос(4)

Ваш ответ на вопрос