Интерфейс JavaShellToolBuilder
public interface JavaShellToolBuilder
Интерфейс для настройки и запуска экземпляра инструмента Java shell. Экземпляр билдера создается с помощью статического метода builder(). Этот билдер, по желанию, может быть настроен с помощью методов конфигурации. Все методы конфигурации возвращают экземпляр билдера для использования в цепочке инициализации. Все методы конфигурации имеют разумные значения по умолчанию, которые будут использоваться, если они не вызваны. После нуля или более вызовов методов конфигурации инструмент запускается с помощью вызова run(java.lang.String...).
- Since:
- 9
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static JavaShellToolBuilder | builder() | Создать билдер для запуска инструмента JDK jshell. |
JavaShellToolBuilder | env(Map<String,String> vars) | Установить источник для переменных среды. |
JavaShellToolBuilder | err(PrintStream error) | Установить каналы ошибок. |
JavaShellToolBuilder | err(PrintStream cmdErr,
PrintStream userErr) | Установить каналы ошибок. |
JavaShellToolBuilder | in(InputStream cmdIn,
InputStream userIn) | Установить каналы ввода. |
JavaShellToolBuilder | locale(Locale locale) | Установить локаль. |
JavaShellToolBuilder | out(PrintStream output) | Установить каналы вывода. |
JavaShellToolBuilder | out(PrintStream cmdOut,
PrintStream console,
PrintStream userOut) | Установить каналы вывода. |
JavaShellToolBuilder | persistence(Map<String,String> prefsMap) | Установить механизм хранения постоянной информации, которая включает историю ввода и сохранённые настройки. |
JavaShellToolBuilder | persistence(Preferences prefs) | Установить механизм хранения постоянной информации, которая включает историю ввода и сохранённые настройки. |
JavaShellToolBuilder | promptCapture(boolean capture) | Установить для включения переопределения приглашения для захвата команд. |
void | run(String... arguments) | Запустить экземпляр инструмента Java shell, настроенный другими методами в этом интерфейсе. |
default int | start(String... arguments) | Запустить экземпляр инструмента Java shell, настроенный другими методами в этом интерфейсе. |
Методы
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
run
void run(String... arguments) throws Exception
Запустить экземпляр инструмента командной строки Java, настроенный другими методами в этом интерфейсе. Этот вызов не разрушительный, можно сделать более одного вызова этого метода из настроенного билдера. Код выхода инструмента командной строки Java игнорируется.
- Параметры:
-
arguments- аргументы командной строки (включая опции), если таковые имеются - Исключение:
-
Exception- непредвиденное фатальное исключение
start
default int start(String... arguments)
throws Exception Запустить экземпляр инструмента командной строки Java, настроенного другими методами в этом интерфейсе. Этот вызов не разрушительный, можно сделать более одного вызова этого метода из настроенного билдера.
- Требования к реализации:
- В реализации по умолчанию всегда возвращается ноль. Реализации этого интерфейса должны переопределить этот метод, возвращая код выхода.
- Параметры:
-
arguments- аргументы командной строки (включая опции), если таковые имеются - Возвращает:
- код выхода, с которым инструмент явно завершился (если таковой имеется), в противном случае 0 для успеха или 1 для неудачи
- Исключение:
-
Exception- непредвиденное фатальное исключение
© 1993, 2020, 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/11/docs/api/jdk.jshell/jdk/jshell/tool/JavaShellToolBuilder.html