- 含まれているクラス:
- JShell
JShellインスタンスのビルダー。 このクラスでsetterメソッドを使用して、JShellのカスタム・インスタンスを作成します。 これらがゼロ以上になったら、build()メソッドを使用してJShellインスタンスを作成します。 これらはすべて連鎖できます。 たとえば、リモート出力およびエラー・ストリームを設定します: 
 
 
     JShell myShell =
       JShell.builder()
         .out(myOutStream)
         .err(myErrStream)
         .build();  
 特別な設定が不要な場合は、JShell.builder().build()または同等のショートカットJShell.create()を使用します。- 
メソッドのサマリー修飾子と型メソッド説明build()JShell状態エンジンを構築します。compilerOptions(String... options) コンパイラ・オプションを追加します。console(JShellConsole console) 実行中の評価のコンソールを設定します。err(PrintStream err) 実行中の評価(it'sSystem.err)のエラー出力を設定します。executionEngine(String executionControlSpec) 実行するカスタム・エンジンを設定します。executionEngine(ExecutionControlProvider executionControlProvider, Map<String, String> executionControlParameters) 実行するカスタム・エンジンを設定します。コンパイルおよびソース分析で使用されるFileManagerを構成します。idGenerator(BiFunction<Snippet, Integer, String> generator) スニペットの識別名のジェネレータを設定します。in(InputStream in) 実行中の評価(it'sSystem.in)の入力を設定します。out(PrintStream out) 実行中の評価(it'sSystem.out)の出力を設定します。remoteVMOptions(String... options) VMを起動するための追加のVMオプションを設定します。tempVariableNameGenerator(Supplier<String> generator) Snippet.SubKind.TEMP_VAR_EXPRESSION_SUBKINDのVarSnippetの一時変数名のジェネレータを設定します。
- 
メソッドの詳細- 
inpublic JShell.Builder in(InputStream in) 実行中の評価(it'sSystem.in)の入力を設定します。 ノート: スニペットまたは他のユーザー入力にSystem.inを使用するアプリケーションでは、リモート・プロセスの入力ストリームとしてSystem.inを使用できません。InputStreamのreadメソッドは、ユーザーが入力を取り消したことを示すInterruptedIOExceptionをスローできます。 現在実行中のスニペットは自動的にstoppedになります。デフォルトは、これが設定されていない場合、空の入力ストリームを指定 -- new ByteArrayInputStream(new byte[0])。- パラメータ:
- in- リモート実行プロセスで- System.inにチャネルされる- InputStream
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
outpublic JShell.Builder out(PrintStream out) 実行中の評価(it'sSystem.out)の出力を設定します。 制御プロセスとリモート・プロセスはSystem.outを共有できます。これが設定されていない場合、デフォルトは System.outです。- パラメータ:
- out- リモート実行プロセスで- System.outにチャネルされる- PrintStream
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
errpublic JShell.Builder err(PrintStream err) 実行中の評価(it'sSystem.err)のエラー出力を設定します。 制御プロセスとリモート・プロセスはSystem.errを共有できます。これが設定されていない場合、デフォルトは System.errです。- パラメータ:
- err- リモート実行プロセスで- System.errにチャネルされる- PrintStream
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
consolepublic JShell.Builder console(JShellConsole console) 実行中の評価のコンソールを設定します。これが未設定の場合、デフォルトはコンソール ( System.console()は、スニペットの実行中にnullを返します)ではありません。- パラメータ:
- console- スニペットの実行中に使用するコンソール
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
- 導入されたバージョン:
- 21
 
- 
tempVariableNameGeneratorpublic JShell.Builder tempVariableNameGenerator(Supplier<String> generator) Snippet.SubKind.TEMP_VAR_EXPRESSION_SUBKINDのVarSnippetの一時変数名のジェネレータを設定します。このメソッドは、明示的に必要でないかぎり使用しないでください。 ジェネレータは、新しく作成されたVarSnippetインスタンスに使用されます。 変数の名前は PersistentSnippet.name()で照会されます。コールバックはスニペットの処理中に送信され、JShell状態は安定していません。 コールバックから JShellインスタンスでコールを行うことはできません。生成された名前は、アクティブなスニペット内で一意である必要があります。 デフォルト動作(これが設定されていないか、 generatorがnullの場合)は、プレフィクス・ドル記号("$")を持つ連続番号として名前を生成することです。- パラメータ:
- generator-- Supplierは一時変数名文字列または- nullを生成
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
idGeneratorpublic JShell.Builder idGenerator(BiFunction<Snippet, Integer, String> generator) スニペットの識別名のジェネレータを設定します。このメソッドは、明示的に必要でないかぎり使用しないでください。 ジェネレータは、新しく作成されたスニペット・インスタンスに使用されます。 識別名(id)は Snippet.id()でアクセスされ、StackTraceElement.getFileName()でEvalExceptionとUnresolvedReferenceExceptionにアクセスできます。ジェネレータへの入力は、 Snippetおよび整数です。 整数は2つのスニペットで同じになり、1つのスニペットが上書きされますが、それ以外の場合は一意になります。コールバックはスニペットの処理中に送信され、スニペットおよび全体としての状態は安定していません。 システム状態(スニペット状態を含む)を変更するためのコールは実行しないでください。 Snippet.id()を除き、Snippetの問合せを作成することができます。status(Snippet)を除き、JShellインスタンスに対するコールはコールバックから実行できません。デフォルトの動作(これが設定されていないか、 generatorがnullの場合)では、文字列に変換された整数としてIDが生成されます。- パラメータ:
- generator- idストリングまたは- nullを生成する- BiFunction
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
remoteVMOptionspublic JShell.Builder remoteVMOptions(String... options) VMを起動するための追加のVMオプションを設定します。- パラメータ:
- options- リモートVMのオプション
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
compilerOptionspublic JShell.Builder compilerOptions(String... options) コンパイラ・オプションを追加します。 これらの追加オプションは、コンパイラへの解析、分析、およびコード生成呼び出しに使用されます。 結果に干渉するオプションはサポートされず、JShellの操作に未定義の影響があります。- パラメータ:
- options- コンパイラ呼び出しの追加オプション
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
executionEnginepublic JShell.Builder executionEngine(String executionControlSpec) 実行するカスタム・エンジンを設定します。 スニペット実行は、指定された実行制御仕様によって選択されたExecutionControlインスタンスによって提供されます。 最大で、これらのオーバーロードされたexecutionEngineビルダー・メソッドのいずれかを使用します。- パラメータ:
- executionControlSpec- 実行制御仕様(- jdk.jshell.spiパッケージのドキュメントを参照)。
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
executionEnginepublic JShell.Builder executionEngine(ExecutionControlProvider executionControlProvider, Map<String, String> executionControlParameters) 実行するカスタム・エンジンを設定します。 スニペットの実行は、指定されたExecutionControlインスタンスによって提供されます。 最大で、これらのオーバーロードされたexecutionEngineビルダー・メソッドのいずれかを使用します。- パラメータ:
- executionControlProvider- 実行エンジンを提供するプロバイダ
- executionControlParameters- プロバイダへのパラメータ、またはデフォルト・パラメータの場合は- null
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
fileManagerpublic JShell.Builder fileManager(Function<StandardJavaFileManager, StandardJavaFileManager> mapping) コンパイルおよびソース分析で使用されるFileManagerを構成します。 nullを設定または渡さない場合、コンパイラの標準ファイル・マネージャが(アイデンティティ・マッピング)を使用します。 コンパイラの通常のファイル処理をオーバーライドする必要がある特殊なアプリケーションで使用する場合。 詳細は、ファイル・マネージャAPIを参照してください。 ファイル・マネージャの入力により、ファイル・マネージャを転送できます。これが不要な場合、受信ファイル・マネージャは(コンスタント関数)を無視できます。- パラメータ:
- mapping- コンパイラの標準ファイル・マネージャが指定された関数で、使用するファイル・マネージャを返します
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
buildpublic JShell build() throws IllegalStateExceptionJShell状態エンジンを構築します。 これは、すべてのJShell機能のエントリ・ポイントです。 これにより、実行用のリモート・プロセスが作成されます。 したがって、返されたインスタンスを閉じることが重要です。- 戻り値:
- 状態エンジン
- スロー:
- IllegalStateException-- JShellインスタンスを作成できなかった場合。
 
 
-