Spec-Zone.ru › OpenJDK 17

Интерфейс ToolProvider

public interface ToolProvider
Интерфейс для командно-строчных инструментов, обеспечивающий возможность их вызова без необходимости запуска новой виртуальной машины.

Поставщики инструментов обычно загружаются с помощью механизма загрузки поставщиков сервисов, определенного в ServiceLoader. Каждый поставщик должен предоставить имя и метод для запуска экземпляра соответствующего инструмента. При запуске инструмента ему будет предоставлен массив строковых аргументов и пара потоков: один для нормального (или ожидаемого) вывода, а другой — для сообщения об ошибках, которые могут возникнуть. Интерпретация строковых аргументов обычно определяется каждым поставщиком инструментов, но, как правило, соответствует аргументам, которые могут быть предоставлены инструменту при вызове инструмента из командной строки.

Since:
9

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

Модификатор и тип Метод Описание
static Optional<ToolProvider> findFirst(String name)
Возвращает первый экземпляр ToolProvider с заданным именем, загруженный с помощью ServiceLoader с использованием системного загрузчика классов.
String name()
Возвращает имя этого поставщика инструментов.
default int run(PrintStream out, PrintStream err, String... args)
Запускает экземпляр инструмента, возвращая ноль в случае успешного выполнения.
int run(PrintWriter out, PrintWriter err, String... args)
Запускает экземпляр инструмента, возвращая ноль в случае успешного выполнения.

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

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

Spec-Zone.ru

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