Tengo una colección de clases concretas que definen una API, y me gustaría extraer la interfaz de estas clases (es decir, esencialmente la jerarquía de tipos y los métodos públicos) de la la implementación real de la API.Manera automatizada para extraer interfaces de una clase de Java
Así por ejemplo, si una de las clases públicas en la API es
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 */
}
quisiera entrar en una interfaz y una implementación
es decir
public interface FooInterface extends BarInterface {
public void method();
public void otherMethod()
}
public class Foo implements FooInterface {
/* etc etc */
}
y
¿Existe alguna herramienta que pueda usar para hacer esta separación de manera automática, o estoy va a tener que rodar mi propio programa para hacer el trabajo? Debe ser una herramienta que requiera una interacción mínima.
Esto es precisamente lo que estaba buscando (¡tengo el escenario exacto que mencionas)! ¿Alguna posibilidad de que puedas compartir el script de refactorización que usaste? Voy a spelunk en Eclipse para resolver esto, pero podría usar cualquier ayuda. ¡Gracias por adelantado! – scorpiodawg
Wow, el XML generado en el "script" no es bonito (a partir de Eclipse Indigo). Informará si obtengo algo útil de esto. – scorpiodawg