- 含まれているクラス:
- JShell
JShellインスタンスのビルダー。 このクラスのsetterメソッドを使用して、JShellのカスタム・インスタンスを作成します。 0以上の後に、build()メソッドを使用してJShellインスタンスを作成します。 これらはすべて連鎖することができます。 たとえば、リモート出力とエラー・ストリームを設定するには: 
 
 
     JShell myShell =
       JShell.builder()
         .out(myOutStream)
         .err(myErrStream)
         .build();  
 特別なセット・アップが必要ない場合は、JShell.builder().build()またはショートカットと同等のJShell.create()を使用してください。- 
メソッドのサマリー修飾子と型メソッド説明build()JShell状態エンジンを構築します。compilerOptions(String... options)コンパイラ・オプションを追加します。err(PrintStream err)実行中の評価(それはSystem.errです)のエラー出力を設定します。executionEngine(String executionControlSpec)カスタム・エンジンを実行用に設定します。executionEngine(ExecutionControlProvider executionControlProvider, Map<String,String> executionControlParameters)カスタム・エンジンを実行用に設定します。コンパイルとソース解析で使用するようにFileManagerを構成します。idGenerator(BiFunction<Snippet,Integer,String> generator)スニペットの識別名のジェネレータを設定します。in(InputStream in)実行中の評価(それはSystem.inです)の入力を設定します。out(PrintStream out)実行中の評価(それはSystem.outです)の出力を設定します。remoteVMOptions(String... options)VMを起動するための追加のVMオプションを設定します。tempVariableNameGenerator(Supplier<String> generator)Snippet.SubKind.TEMP_VAR_EXPRESSION_SUBKINDのVarSnippetの一時変数名のジェネレータを設定します。
- 
メソッドの詳細- 
inpublic JShell.Builder in(InputStream in)実行中の評価(それはSystem.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)実行中の評価(それはSystem.outです)の出力を設定します。 制御プロセスとリモート・プロセスはSystem.outを共有できます。これが設定されていない場合のデフォルトは、 System.outです。- パラメータ:
- out- リモート実行プロセスで- System.outにチャネルされる- PrintStream
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
errpublic JShell.Builder err(PrintStream err)実行中の評価(それはSystem.errです)のエラー出力を設定します。 制御プロセスとリモート・プロセスはSystem.errを共有できます。これが設定されていない場合のデフォルトは、 System.errです。- パラメータ:
- err- リモート実行プロセスで- System.errにチャネルされる- PrintStream
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
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つのスニペットで同じものになります。スニペットは互いに上書きしますが、それ以外は一意です。コールバックはスニペットの処理中に送信され、スニペットと状態は全体として安定しません。 システム状態を変更するための呼び出しは行われません。(スニペット状態を含む)を実行する必要があります。 Snippet.id()を除き、Snippetの問合せを作成することができます。JShellインスタンスに対するコールは、status(Snippet)以外のコールバックからは実行できません。デフォルトの動作(これが設定されていないか、 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ビルダー・メソッドの1つを使用します。- パラメータ:
- executionControlSpec- 実行制御仕様は、- jdk.jshell.spiパッケージのドキュメントに記載されています。
- 戻り値:
- Builderインスタンス(チェーンの初期化に使用)
 
- 
executionEnginepublic JShell.Builder executionEngine(ExecutionControlProvider executionControlProvider, Map<String,String> executionControlParameters)カスタム・エンジンを実行用に設定します。 スニペットの実行は、指定されたExecutionControlインスタンスによって提供されます。 多くの場合、これらのオーバーロードされたexecutionEngineビルダー・メソッドの1つを使用します。- パラメータ:
- 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インスタンスを作成できなかった場合。
 
 
-