Автоматический способ извлечения интерфейсов из класса Java

У меня есть набор конкретных классов которые определяют 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 */
 }

и

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

7
задан Carl Manaster 7 January 2011 в 15:13
поделиться