Интерфейс ToolProvider
public interface ToolProvider
Поставщики инструментов обычно загружаются с помощью механизма загрузки поставщиков сервисов, определенного в ServiceLoader. Каждый поставщик должен предоставить имя и метод для запуска экземпляра соответствующего инструмента. При запуске инструмента ему будет предоставлен массив строковых аргументов и пара потоков: один для нормального (или ожидаемого) вывода, а другой — для сообщения об ошибках, которые могут возникнуть. Интерпретация строковых аргументов обычно определяется каждым поставщиком инструментов, но, как правило, соответствует аргументам, которые могут быть предоставлены инструменту при вызове инструмента из командной строки.
- Since:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Optional<ToolProvider> |
findFirst |
Возвращает первый экземпляр ToolProvider с заданным именем, загруженный с помощью ServiceLoader с использованием системного загрузчика классов. |
String |
name() |
Возвращает имя этого поставщика инструментов. |
default int |
run |
Запускает экземпляр инструмента, возвращая ноль в случае успешного выполнения. |
int |
run |
Запускает экземпляр инструмента, возвращая ноль в случае успешного выполнения. |
Подробное описание методов
name
String name()
- API Note:
- Рекомендуется, чтобы имя совпадало с именем, используемым в командной строке: например, "javac", "jar", "jlink".
- Returns:
- имя этого поставщика инструментов
run
int run(PrintWriter out, PrintWriter err, String... args)
- API Note:
- Интерпретация аргументов будет специфична для каждого инструмента.
- Parameters:
-
out- поток, в который должен записываться «ожидаемый» вывод -
err- поток, в который должны записываться любые сообщения об ошибках -
args- аргументы командной строки для инструмента - Returns:
- результат выполнения инструмента. Значение 0 означает, что инструмент не обнаружил ошибок; любое другое значение указывает, что во время выполнения произошла хотя бы одна ошибка.
- Throws:
-
NullPointerException- если любой из аргументов являетсяnull, или если естьnullзначения в массивеargs
run
default int run(PrintStream out, PrintStream err, String... args)
- API Note:
- Интерпретация аргументов будет специфична для каждого инструмента.
- Implementation Note:
- Это реализация оборачивает потоки
outиerrвPrintWriterи затем вызываетrun(PrintWriter, PrintWriter, String[]). - Parameters:
-
out- поток, в который должен записываться «ожидаемый» вывод -
err- поток, в который должны записываться любые сообщения об ошибках -
args- аргументы командной строки для инструмента - Returns:
- результат выполнения инструмента. Значение 0 означает, что инструмент не обнаружил ошибок; любое другое значение указывает, что во время выполнения произошла хотя бы одна ошибка.
- Throws:
-
NullPointerException- если любой из аргументов являетсяnull, или если естьnullзначения в массивеargs
findFirst
static Optional<ToolProvider> findFirst(String name)
ToolProvider с заданным именем, загруженный с помощью ServiceLoader с использованием системного загрузчика классов.- Parameters:
-
name- имя желаемого поставщика инструментов - Returns:
- экземпляр первого найденного
Optional<ToolProvider> - Throws:
-
NullPointerException- еслиnameявляетсяnull
© 1993, 2021, 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/17/docs/api/java.base/java/util/spi/ToolProvider.html