Spec-Zone.ru › OpenJDK 25

Интерфейс Reporter

public interface Reporter
Интерфейс для вывода диагностических и других сообщений.

Диагностические сообщения состоят из diagnostic kind и сообщения и могут дополнительно быть связаны с element, tree node в комментарии документации или произвольной позицией в заданном file. Другие сообщения могут записываться непосредственно в один из двух потоков, которые неформально предназначены для «стандартного вывода» и «диагностического вывода»: под «стандартным выводом» понимается вывод, являющийся ожидаемым результатом выполнения некоторой операции, например справка командной строки, формируемая при использовании параметра --help, а под «диагностическим выводом» понимаются любые ошибки, предупреждения и другие сообщения, являющиеся побочным результатом выполнения операции.

Точный способ вывода диагностических сообщений не определён и зависит от окружающего контекста. Например:

  • API DocumentationTool позволяет клиенту указать DiagnosticListener, которому будут reported диагностические сообщения. Если слушатель не указан, диагностические сообщения будут записаны в заданный поток или в System.err, если такой поток не предоставлен.
  • API ToolProvider позволяет клиенту указать потоки для стандартного и диагностического вывода.
Начиная с:
9

Краткое описание методов

Модификатор и тип Метод Описание
default PrintWriter getDiagnosticWriter()
Возвращает средство записи, которое можно использовать для записи диагностического вывода, или null, если такое средство записи недоступно.
default PrintWriter getStandardWriter()
Возвращает средство записи, которое можно использовать для записи вывода, не являющегося диагностическим, или null, если такое средство записи недоступно.
default void print(Diagnostic.Kind kind, DocTreePath path, int start, int pos, int end, String message)
Выводит диагностическое сообщение, связанное с позицией в диапазоне символов узла дерева.
void print(Diagnostic.Kind kind, DocTreePath path, String message)
Выводит диагностическое сообщение, связанное с узлом дерева в комментарии документации.
void print(Diagnostic.Kind kind, String message)
Выводит диагностическое сообщение.
void print(Diagnostic.Kind kind, Element element, String message)
Выводит диагностическое сообщение, связанное с элементом.
default void print(Diagnostic.Kind kind, FileObject file, int start, int pos, int end, String message)
Выводит диагностическое сообщение, связанное с позицией в диапазоне символов файла.

Подробное описание методов

print

void print(Diagnostic.Kind kind, String message)
Выводит диагностическое сообщение.
Параметры:
kind — вид диагностического сообщения
message — выводимое сообщение

print

void print(Diagnostic.Kind kind, DocTreePath path, String message)
Выводит диагностическое сообщение, связанное с узлом дерева в комментарии документации.
Параметры:
kind — вид диагностического сообщения
path — путь к узлу дерева
message — выводимое сообщение

print

default void print(Diagnostic.Kind kind, DocTreePath path, int start, int pos, int end, String message)
Выводит диагностическое сообщение, связанное с позицией в диапазоне символов узла дерева. В качестве листовых узлов заданного пути поддерживаются только виды DocTree, оборачивающие простое строковое значение. В настоящее время к ним относятся CommentTree, DocTypeTree, ReferenceTree и TextTree. Все позиции являются смещениями в символах с отсчётом от нуля относительно начала строки. Позиции должны удовлетворять соотношению start <= pos <= end.
Требования к реализации:
Эта реализация игнорирует значения (start, pos, end) и просто вызывает print(kind, path, message).
Параметры:
kind — вид диагностического сообщения
path — путь к узлу дерева
start — начало внешнего диапазона
pos — позиция
end — конец внешнего диапазона
message — выводимое сообщение
Исключения:
IllegalArgumentException — если start, pos и end не образуют допустимый диапазон.
Начиная с:
18

print

void print(Diagnostic.Kind kind, Element element, String message)
Выводит диагностическое сообщение, связанное с элементом.
Параметры:
kind — вид диагностического сообщения
element — элемент
message — выводимое сообщение

print

default void print(Diagnostic.Kind kind, FileObject file, int start, int pos, int end, String message)
Выводит диагностическое сообщение, связанное с позицией в диапазоне символов файла. Все позиции являются смещениями в символах с отсчётом от нуля относительно начала содержимого файла. Позиции должны удовлетворять соотношению start <= pos <= end.
Требования к реализации:
Эта реализация всегда выбрасывает UnsupportedOperationException. Реализация, предоставляемая инструментом javadoc для initialize доклета, переопределяет эту реализацию.
Параметры:
kind — вид диагностического сообщения
file — файл
start — начало внешнего диапазона
pos — позиция
end — конец внешнего диапазона
message — выводимое сообщение
Начиная с:
17

getStandardWriter

default PrintWriter getStandardWriter()
Возвращает средство записи, которое можно использовать для записи вывода, не являющегося диагностическим, или null, если такое средство записи недоступно.
Примечание API:
Возвращаемое значение может совпадать или не совпадать со значением, возвращаемым getDiagnosticWriter().
Требования к реализации:
Эта реализация возвращает null. Реализация, предоставляемая инструментом javadoc для initialize доклета, всегда возвращает значение, отличное от null.
Возвращает:
средство записи
Начиная с:
17

getDiagnosticWriter

default PrintWriter getDiagnosticWriter()
Возвращает средство записи, которое можно использовать для записи диагностического вывода, или null, если такое средство записи недоступно.
Примечание API:
Возвращаемое значение может совпадать или не совпадать со значением, возвращаемым getStandardWriter().
Требования к реализации:
Эта реализация возвращает null. Реализация, предоставляемая инструментом javadoc для initialize доклета, всегда возвращает значение, отличное от null.
Возвращает:
средство записи
Начиная с:
17

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.javadoc/jdk/javadoc/doclet/Reporter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API