モジュール 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および指定されたOutputStreamに転送されます。 ObjectOutputと指定されたInputStreamから読み込まれた値はパケット化され、指定されたOutputStreamに送られます。
        パラメータ:
        input - パケット化された入力ストリーム
        output - パケット化された出力ストリーム
        outputStreamMap - ストリーム名と転送する出力ストリームとの間のマップ。 '$'で始まる名前は、内部使用のために予約されています。
        inputStreamMap - ストリーム名と転送する入力ストリームとの間のマップ。 '$'で始まる名前は、内部使用のために予約されています。
        factory - ObjectInputおよびObjectOutputからExecutionControlを作成します。
        戻り値:
        作成されたExecutionControl
        例外:
        IOException - ストリームの設定で例外が発生した場合
      • detectJdiExitEvent

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