Ich schreibe ein Werkzeug, um Javadoc von bereits vorhandenen Java-Quelldateien zu scraphen und es über ein benutzerdefiniertes Doclet vorzuverarbeiten (die Besonderheiten der Verarbeitung sind nicht relevant). Ich habe das Doclet geschrieben, und ich kann das Doclet von meinem Code über die programmatische API aufrufen, wie in der Java documentation angegeben.Wie kann ich die Ausgabe eines programmgesteuert aufgerufenen Javadoc-Doclets vom Aufrufer abrufen?
Es scheint, dass dieser Mechanismus "schreibgeschützt" in dem Sinne ist, dass die Ergebnisse der Ausführung des Doclets, falls vorhanden, nicht über ein erstklassiges Java-Objekt an den Aufrufer der execute() -Methode zurückübertragen werden können. Stattdessen muss ich auf einen Fehler zurückgreifen, indem ich beispielsweise eine Zwischenausgabe in eine Datei aus dem Doclet schreibe und diese dann von meinem Aufrufer wieder einlese.
Also meine Frage: Gibt es eine Möglichkeit, sagen Sie, eine Zeichenfolge von meinem benutzerdefinierten Doclet direkt beim Aufrufer generiert? Zum Beispiel:
public void foo() {
// Invoke my custom doclet via Javadoc programmatically
com.sun.tools.javadoc.Main.execute(new String[] {"-d", "docs", "- sourcepath", "/home/usr/src", "p1", "p2"});
// Access the String output of my doclet here
String processedJavadoc = getTheOutputOfMyDoclet();
}
Vielen Dank im Voraus!