Я пишу инструмент, чтобы очистить Javadoc от уже существующих исходных файлов Java и предварительно обработать его через пользовательский doclet (особенности обработки не актуальны). Я написал doclet, и я могу вызвать doclet из своего кода через программный API, как указано в Java documentation.Как я могу получить результат выведенного из программы Javadoc doclet от вызывающего?
Похоже, что этот механизм является «только для записи» в том смысле, что результаты запуска doclet, если таковые имеются, не могут быть переданы обратно вызывающему методу execute() через объект Java класса первого класса. Вместо этого мне приходится прибегать к kludge, например, писать промежуточный вывод в файл из doclet, а затем читать его обратно от моего вызывающего.
Так что мой вопрос: есть ли способ получить, скажем, строку, созданную моим пользовательским doclet непосредственно у вызывающего? Например, для:
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();
}
Заранее благодарен!