モジュール jdk.jshell
パッケージ jdk.jshell.execution

クラスUtil


  • public class Util
    extends Object
    ExecutionControlの実装を設定するためのその他のユーティリティ・メソッド。 特に、リモート実行での実装。
    導入されたバージョン:
    9
    • メソッドの詳細

      • forwardExecutionControl

        public static void forwardExecutionControl​(ExecutionControl ec,
                                                   ObjectInput in,
                                                   ObjectOutput out)
        入力から指定されたExecutionControlインスタンスにコマンドを転送してから、出力に応答します。
        パラメータ:
        ec - コマンドを処理するExecutionControlの直接インスタンス
        in - コマンド入力
        out - コマンド・レスポンス出力
      • forwardExecutionControlAndIO

        public static void forwardExecutionControlAndIO​(ExecutionControl ec,
                                                        InputStream inStream,
                                                        OutputStream outStream,
                                                        Map<String,​Consumer<OutputStream>> outputStreamMap,
                                                        Map<String,​Consumer<InputStream>> inputStreamMap)
                                                 throws IOException
        入力から指定されたExecutionControlインスタンスにコマンドを転送してから、出力に応答します。
        パラメータ:
        ec - コマンドを処理するExecutionControlの直接インスタンス
        inStream - コマンド入力の作成元となるストリーム
        outStream - 指定された補助チャネル(System.outSystem.errなど)およびコマンド・レスポンス出力を運ぶストリーム。
        outputStreamMap - 運搬する追加ストリームの名前とストリームのセッターの間のマップ。 '$'で始まる名前は、内部使用のために予約されています。
        inputStreamMap - 運搬する追加ストリームの名前とストリームのセッターの間のマップ。 '$'で始まる名前は、内部使用のために予約されています。
        例外:
        IOException - 渡されたストリームを使用してエラーが発生した場合
      • remoteInputOutput

        public static ExecutionControl remoteInputOutput​(InputStream input,
                                                         OutputStream output,
                                                         Map<String,​OutputStream> outputStreamMap,
                                                         Map<String,​InputStream> inputStreamMap,
                                                         BiFunction<ObjectInput,​ObjectOutput,​ExecutionControl> factory)
                                                  throws IOException
        指定されたパケット化された入力および出力に対してExecutionControlを作成します。 指定されたInputStreamはパッケージ解除され、コンテンツはObjectInputおよび指定されたOutputStreamsに転送されます。 指定されたInputStreamから読み取られたObjectOutputおよび値はパケット化され、指定されたOutputStreamに送信されます。
        パラメータ:
        input - パケット化された入力ストリーム
        output - パケット化された出力ストリーム
        outputStreamMap - 転送するストリーム名と出力ストリームの間のマップ。 '$'で始まる名前は、内部使用のために予約されています。
        inputStreamMap - 転送するストリーム名と入力ストリームの間のマップ。 '$'で始まる名前は、内部使用のために予約されています。
        factory - ObjectInputおよびObjectOutputからExecutionControlを作成します。
        戻り値:
        作成されたExecutionControl
        例外:
        IOException - ストリームを設定すると例外が発生した場合
      • detectJdiExitEvent

        public static void detectJdiExitEvent​(VirtualMachine vm,
                                              Consumer<String> unbiddenExitHandler)
        VMDeathEventおよびVMDisconnectEventのJDIイベント・ストリームを監視します。 見つかった場合は、unbiddenExitHandlerを呼び出します。
        パラメータ:
        vm - チェックする仮想マシン
        unbiddenExitHandler - 終了情報を受け入れるハンドラ