- java.lang.Object
- 
- jdk.jshell.execution.Util
 
- 
 public class Util extends Object Miscellaneous utility methods for setting-up implementations ofExecutionControl. Particularly implementations with remote execution.- Since:
- 9
 
- 
- 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description static voiddetectJdiExitEvent(VirtualMachine vm, Consumer<String> unbiddenExitHandler)Monitor the JDI event stream forVMDeathEventandVMDisconnectEvent.static voidforwardExecutionControl(ExecutionControl ec, ObjectInput in, ObjectOutput out)Forward commands from the input to the specifiedExecutionControlinstance, then responses back on the output.static voidforwardExecutionControlAndIO(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String,Consumer<OutputStream>> outputStreamMap, Map<String,Consumer<InputStream>> inputStreamMap)Forward commands from the input to the specifiedExecutionControlinstance, then responses back on the output.static ExecutionControlremoteInputOutput(InputStream input, OutputStream output, Map<String,OutputStream> outputStreamMap, Map<String,InputStream> inputStreamMap, BiFunction<ObjectInput,ObjectOutput,ExecutionControl> factory)Creates an ExecutionControl for given packetized input and output.
 
- 
- 
- 
Method Detail- 
forwardExecutionControlpublic static void forwardExecutionControl(ExecutionControl ec, ObjectInput in, ObjectOutput out) Forward commands from the input to the specifiedExecutionControlinstance, then responses back on the output.- Parameters:
- ec- the direct instance of- ExecutionControlto process commands
- in- the command input
- out- the command response output
 
 - 
forwardExecutionControlAndIOpublic static void forwardExecutionControlAndIO(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String,Consumer<OutputStream>> outputStreamMap, Map<String,Consumer<InputStream>> inputStreamMap) throws IOException Forward commands from the input to the specifiedExecutionControlinstance, then responses back on the output.- Parameters:
- ec- the direct instance of- ExecutionControlto process commands
- inStream- the stream from which to create the command input
- outStream- the stream that will carry any specified auxiliary channels (like- System.outand- System.err), and the command response output.
- outputStreamMap- a map between names of additional streams to carry and setters for the stream. Names starting with '$' are reserved for internal use.
- inputStreamMap- a map between names of additional streams to carry and setters for the stream. Names starting with '$' are reserved for internal use.
- Throws:
- IOException- if there are errors using the passed streams
 
 - 
remoteInputOutputpublic static ExecutionControl remoteInputOutput(InputStream input, OutputStream output, Map<String,OutputStream> outputStreamMap, Map<String,InputStream> inputStreamMap, BiFunction<ObjectInput,ObjectOutput,ExecutionControl> factory) throws IOException Creates an ExecutionControl for given packetized input and output. The given InputStream is de-packetized, and content forwarded to ObjectInput and given OutputStreams. The ObjectOutput and values read from the given InputStream are packetized and sent to the given OutputStream.- Parameters:
- input- the packetized input stream
- output- the packetized output stream
- outputStreamMap- a map between stream names and the output streams to forward. Names starting with '$' are reserved for internal use.
- inputStreamMap- a map between stream names and the input streams to forward. Names starting with '$' are reserved for internal use.
- factory- to create the ExecutionControl from ObjectInput and ObjectOutput.
- Returns:
- the created ExecutionControl
- Throws:
- IOException- if setting up the streams raised an exception
 
 - 
detectJdiExitEventpublic static void detectJdiExitEvent(VirtualMachine vm, Consumer<String> unbiddenExitHandler) Monitor the JDI event stream forVMDeathEventandVMDisconnectEvent. If encountered, invokesunbiddenExitHandler.- Parameters:
- vm- the virtual machine to check
- unbiddenExitHandler- the handler, which will accept the exit information
 
 
- 
 
-