Интерфейс JavaShellToolBuilder
public interface JavaShellToolBuilder
Интерфейс для настройки и запуска экземпляра инструмента Java Shell. Экземпляр построителя создается с помощью статического метода
builder(). При необходимости этот построитель можно настроить с помощью методов конфигурации. Все методы конфигурации возвращают экземпляр построителя для последовательной инициализации. Для всех методов конфигурации предусмотрены разумные значения по умолчанию, которые используются, если методы не вызываются. После нуля или более вызовов методов конфигурации инструмент запускается вызовом run(java.lang.String...).- Начиная с:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static JavaShellToolBuilder |
builder() |
Создает построитель для запуска инструмента JDK jshell. |
JavaShellToolBuilder |
env |
Задает источник переменных среды. |
JavaShellToolBuilder |
err |
Задает каналы ошибок. |
JavaShellToolBuilder |
err |
Задает каналы ошибок. |
JavaShellToolBuilder |
in |
Задает входные каналы. |
default JavaShellToolBuilder |
interactiveTerminal |
Установите значение true, чтобы указать, что входные и выходные данные связаны с интерактивным терминалом, способным интерпретировать управляющие последовательности ANSI. |
JavaShellToolBuilder |
locale |
Задает локаль. |
JavaShellToolBuilder |
out |
Задает выходные каналы. |
JavaShellToolBuilder |
out |
Задает выходные каналы. |
JavaShellToolBuilder |
persistence |
Задает механизм хранения постоянной информации, включая историю ввода и сохраненные настройки. |
JavaShellToolBuilder |
persistence |
Задает механизм хранения постоянной информации, включая историю ввода и сохраненные настройки. |
JavaShellToolBuilder |
promptCapture |
Включает переопределение приглашения командой захвата. |
void |
run |
Запускает экземпляр инструмента Java Shell, настроенный с помощью других методов этого интерфейса. |
default int |
start |
Запускает экземпляр инструмента Java Shell, настроенный с помощью других методов этого интерфейса. |
default JavaShellToolBuilder |
windowSize |
Предоставляет подсказку о размерах окна дисплея при использовании интерактивного терминала. |
Подробное описание методов
builder
static JavaShellToolBuilder builder()
Создает построитель для запуска инструмента JDK jshell.
- Возвращает:
- построитель, который можно использовать для настройки и запуска инструмента jshell
in
JavaShellToolBuilder in(InputStream cmdIn, InputStream userIn)
Задает входные каналы.
- Требования к реализации:
- Если этот метод не вызывается, поведение должно быть эквивалентно вызову
in(System.in, null). - Параметры:
-
cmdIn— источник ввода команд -
userIn— источник ввода для выполнения пользовательского кода илиnullдля получения пользовательского ввода из cmdIn - Возвращает:
- экземпляр
JavaShellToolBuilder
out
JavaShellToolBuilder out(PrintStream output)
Задает выходные каналы. То же, что и
out(output, output, output).- Требования к реализации:
- Если ни один из методов
outне вызывается, поведение должно быть эквивалентно вызовуout(System.out). - Параметры:
-
output— назначение для откликов на команды, взаимодействия с консолью и вывода пользовательского кода - Возвращает:
- экземпляр
JavaShellToolBuilder
out
JavaShellToolBuilder out(PrintStream cmdOut, PrintStream console, PrintStream userOut)
Задает выходные каналы.
- Требования к реализации:
- Если ни один из методов
outне вызывается, поведение должно быть эквивалентно вызовуout(System.out, System.out, System.out). - Параметры:
-
cmdOut— назначение для откликов на команды, включая сообщения об ошибках для пользователей -
console— назначение для взаимодействия с консолью -
userOut— назначение для вывода пользовательского кода. Например, пользовательский фрагментSystem.out.println("Hello")при выполненииHelloнаправляется в userOut. - Возвращает:
- экземпляр
JavaShellToolBuilder
err
JavaShellToolBuilder err(PrintStream error)
Задает каналы ошибок. То же, что и
err(error, error).- Требования к реализации:
- Если ни один из методов
errне вызывается, поведение должно быть эквивалентно вызовуerr(System.err). - Параметры:
-
error— назначение для ошибок инструмента и ошибок пользовательского кода - Возвращает:
- экземпляр
JavaShellToolBuilder
err
JavaShellToolBuilder err(PrintStream cmdErr, PrintStream userErr)
Задает каналы ошибок.
- Требования к реализации:
- Если ни один из методов
errне вызывается, поведение должно быть эквивалентно вызовуerr(System.err, System.err, System.err). - Параметры:
-
cmdErr— назначение для ошибок запуска инструмента и критических ошибок -
userErr— назначение для вывода ошибок пользовательского кода. Например, пользовательский фрагментSystem.err.println("Oops")при выполненииOopsнаправляется в userErr. - Возвращает:
- экземпляр
JavaShellToolBuilder
persistence
JavaShellToolBuilder persistence(Preferences prefs)
Задает механизм хранения постоянной информации, включая историю ввода и сохраненные настройки.
- Требования к реализации:
- Если ни один из методов
persistenceне вызывается, следует использовать стандартный механизм хранения постоянных данных инструмента. - Параметры:
-
prefs— экземплярPreferences, используемый для получения и хранения постоянной информации - Возвращает:
- экземпляр
JavaShellToolBuilder
persistence
JavaShellToolBuilder persistence(Map<String,String> prefsMap)
Задает механизм хранения постоянной информации, включая историю ввода и сохраненные настройки.
- Требования к реализации:
- Если ни один из методов
persistenceне вызывается, следует использовать стандартный механизм хранения постоянных данных инструмента. - Параметры:
-
prefsMap— экземплярMap, используемый для получения и хранения постоянной информации - Возвращает:
- экземпляр
JavaShellToolBuilder
env
JavaShellToolBuilder env(Map<String,String> vars)
Задает источник переменных среды.
- Требования к реализации:
- Если этот метод не вызывается, поведение должно быть эквивалентно вызову
env(System.getenv()). - Параметры:
-
vars— карта имен переменных среды и их значений - Возвращает:
- экземпляр
JavaShellToolBuilder
locale
JavaShellToolBuilder locale(Locale locale)
Задает локаль.
- Требования к реализации:
- Если этот метод не вызывается, поведение должно быть эквивалентно вызову
locale(Locale.getDefault()). - Параметры:
-
locale— локаль - Возвращает:
- экземпляр
JavaShellToolBuilder
promptCapture
JavaShellToolBuilder promptCapture(boolean capture)
Включает переопределение приглашения командой захвата.
- Требования к реализации:
- Если этот метод не вызывается, поведение должно быть эквивалентно вызову
promptCapture(false). - Параметры:
-
capture— еслиtrue, основное приглашение — символENQ, а приглашение продолжения — символACK. Если false, используются приглашения, заданные при настройке или пользовательскими командами/set. - Возвращает:
- экземпляр
JavaShellToolBuilder
interactiveTerminal
default JavaShellToolBuilder interactiveTerminal(boolean terminal)
Установите значение true, чтобы указать, что входные и выходные данные связаны с интерактивным терминалом, способным интерпретировать управляющие последовательности ANSI. Предполагается, что символы, отправляемые в выходные потоки, интерпретируются терминалом и отображаются пользователю; точный порядок и характер символов, отправляемых в выходные потоки, не определены. Установите значение false, чтобы указать на более простой режим совместимости, вывод которого можно анализировать автоматическими средствами. Если входной поток этой Java Shell равен
System.in, это значение игнорируется, а поведение аналогично указанию true в этом методе, но в большей степени соответствует конкретному терминалу, подключенному к System.in.- Требования к реализации:
- Если этот метод не вызывается, поведение должно быть эквивалентно вызову
interactiveTerminal(false). Реализация этого метода по умолчанию возвращаетthis. - Параметры:
-
terminal— еслиtrue, предполагается, что вывод интерпретируется терминалом, способным обрабатывать управляющие последовательности ANSI. Еслиfalse, выбирается более простой формат вывода. - Возвращает:
- экземпляр
JavaShellToolBuilder - Начиная с:
- 17
windowSize
default JavaShellToolBuilder windowSize(int columns, int rows)
Предоставляет подсказку о размерах окна дисплея при использовании интерактивного терминала.
Если входной поток этой Java Shell равен System.in, эта настройка игнорируется.
- Требования к реализации:
- Реализации могут игнорировать этот метод. Реализация этого метода по умолчанию возвращает
this. - Параметры:
-
columns— количество отображаемых столбцов -
rows— количество отображаемых строк - Возвращает:
- экземпляр
JavaShellToolBuilder - Начиная с:
- 24
run
void run(String... arguments) throws Exception
Запускает экземпляр инструмента Java Shell, настроенный с помощью других методов этого интерфейса. Этот вызов не является разрушающим; настроенный построитель можно использовать для нескольких вызовов этого метода. Код завершения инструмента Java Shell игнорируется.
- Параметры:
-
arguments— аргументы командной строки (включая параметры), если они есть - Вызывает исключение:
-
Exception— непредвиденное критическое исключение
start
default int start(String... arguments) throws Exception
Запускает экземпляр инструмента Java Shell, настроенный с помощью других методов этого интерфейса. Этот вызов не является разрушающим; настроенный построитель можно использовать для нескольких вызовов этого метода.
- Требования к реализации:
- Реализация по умолчанию всегда возвращает ноль. Реализациям этого интерфейса следует переопределить этот метод, возвращая статус завершения.
- Параметры:
-
arguments— аргументы командной строки (включая параметры), если они есть - Возвращает:
- статус завершения, с которым инструмент явно завершил работу (если таковой имеется); в противном случае 0 при успешном выполнении или 1 при ошибке
- Вызывает исключение:
-
Exception— непредвиденное критическое исключение - Начиная с:
- 10
© 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.jshell/jdk/jshell/tool/JavaShellToolBuilder.html