- java.lang.Object
- 
- jdk.jshell.JShell.Builder
 
- 
- 含まれているクラス:
- JShell
 
 public static class JShell.Builder extends Object JShellインスタンスのビルダー。 このクラスのsetterメソッドを使用して、JShellのカスタム・インスタンスを作成します。 0以上の後に、build()メソッドを使用してJShellインスタンスを作成します。 これらはすべて連鎖することができます。 たとえば、リモート出力とエラー・ストリームを設定するには:
 特別なセット・アップが必要ない場合は、JShell myShell = JShell.builder() .out(myOutStream) .err(myErrStream) .build();JShell.builder().build()またはショートカットと同等のJShell.create()を使用してください。
- 
- 
メソッドのサマリー修飾子と型 メソッド 説明 JShellbuild()JShell状態エンジンを構築します。JShell.BuildercompilerOptions(String... options)コンパイラ・オプションを追加します。JShell.Buildererr(PrintStream err)実行中の評価(それはSystem.errです)のエラー出力を設定します。JShell.BuilderexecutionEngine(String executionControlSpec)カスタム・エンジンを実行用に設定します。JShell.BuilderexecutionEngine(ExecutionControlProvider executionControlProvider, Map<String,String> executionControlParameters)カスタム・エンジンを実行用に設定します。JShell.BuilderfileManager(Function<StandardJavaFileManager,StandardJavaFileManager> mapping)コンパイルとソース解析で使用するようにFileManagerを構成します。JShell.BuilderidGenerator(BiFunction<Snippet,Integer,String> generator)スニペットの識別名のジェネレータを設定します。JShell.Builderin(InputStream in)実行中の評価(それはSystem.inです)の入力を設定します。JShell.Builderout(PrintStream out)実行中の評価(それはSystem.outです)の出力を設定します。JShell.BuilderremoteVMOptions(String... options)VMを起動するための追加のVMオプションを設定します。JShell.BuildertempVariableNameGenerator(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 IllegalStateException JShell状態エンジンを構築します。 これはすべてのJShell機能のエントリ・ポイントです。 これにより、実行のためのリモート・プロセスが作成されます。 したがって、返されたインスタンスを閉じることが重要です。- 戻り値:
- 状態エンジン
- 例外:
- IllegalStateException-- JShellインスタンスを作成できなかった場合。
 
 
- 
 
-