Ich habe eine Sammlung von konkreten Klassen, die eine API definieren, und ich möchte die Schnittstelle dieser Klassen extrahieren (dh im Wesentlichen die Typhierarchie und öffentliche Methoden) von der tatsächliche Implementierung der API.Automatisierte Möglichkeit, Interfaces aus einer Java-Klasse zu extrahieren
So zum Beispiel, wenn eine der öffentlichen Klassen in der API ist
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 */
}
Ich möchte in eine Schnittstelle brechen und eine Implementierung
dh
public interface FooInterface extends BarInterface {
public void method();
public void otherMethod()
}
public class Foo implements FooInterface {
/* etc etc */
}
und
Gibt es ein Werkzeug, das ich verwenden kann, um diese Trennung auf automatisierte Weise zu tun, oder bin ich werde ich mein eigenes Programm drehen müssen, um den Job zu machen? Es muss ein Werkzeug sein, das nur minimale Interaktion erfordert.
Genau das habe ich gesucht (ich habe das genaue Szenario, das du erwähnst)! Können Sie das von Ihnen verwendete Refactoring-Skript teilen? Ich werde in Eclipse spelunkieren, um das herauszufinden, aber ich könnte jede Hilfe gebrauchen. Danke im Voraus! – scorpiodawg
Wow, das im "Skript" erzeugte XML ist nicht schön (wie von Eclipse Indigo). Meldet sich zurück, wenn ich etwas Nützliches daraus schaffe. – scorpiodawg