Class JdiDefaultExecutionControl
java.lang.Object
jdk.jshell.execution.StreamingExecutionControl
jdk.jshell.execution.JdiExecutionControl
jdk.jshell.execution.JdiDefaultExecutionControl
- All Implemented Interfaces:
- AutoCloseable,- ExecutionControl
The implementation of 
ExecutionControl that the
 JShell-core uses by default.
 Launches a remote process -- the "remote agent".
 Interfaces to the remote agent over a socket and via JDI.
 Designed to work with RemoteExecutionControl.- Since:
- 9
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfaceStart an external process where the user's snippets can be run.Nested classes/interfaces declared in interface jdk.jshell.spi.ExecutionControlExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
- 
Method SummaryModifier and TypeMethodDescriptionvoidclose()Closes the execution engine.Invokes an executable Snippet by calling a method on the specified wrapper class.voidstop()Interrupts a running remote invoke by manipulating remote variables and sending a stop via JDI.protected VirtualMachinevm()Returns the JDIVirtualMachineinstance.Methods declared in class jdk.jshell.execution.JdiExecutionControlredefine, referenceTypeMethods declared in class jdk.jshell.execution.StreamingExecutionControladdToClasspath, close, extensionCommand, load, varValueMethods declared in class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface jdk.jshell.spi.ExecutionControladdToClasspath, extensionCommand, load, varValue
- 
Method Details- 
invokepublic String invoke(String classname, String methodname) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException Description copied from interface:ExecutionControlInvokes an executable Snippet by calling a method on the specified wrapper class. The method must have no arguments and return String.- Specified by:
- invokein interface- ExecutionControl
- Overrides:
- invokein class- StreamingExecutionControl
- Parameters:
- classname- the class whose method should be invoked
- methodname- the name of method to invoke
- Returns:
- the result of the execution or null if no result
- Throws:
- ExecutionControl.UserException- the invoke raised a user exception
- ExecutionControl.ResolutionException- the invoke attempted to directly or indirectly invoke an unresolved snippet
- ExecutionControl.StoppedException- if the- invoke()was canceled by- ExecutionControl.stop()
- ExecutionControl.EngineTerminationException- the execution engine has terminated
- ExecutionControl.InternalException- an internal problem occurred
- ExecutionControl.RunException
 
- 
stoppublic void stop() throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalExceptionInterrupts a running remote invoke by manipulating remote variables and sending a stop via JDI.- Throws:
- ExecutionControl.EngineTerminationException- the execution engine has terminated
- ExecutionControl.InternalException- an internal problem occurred
 
- 
closepublic void close()Description copied from class:StreamingExecutionControlCloses the execution engine. Send an exit command to the remote agent.- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- ExecutionControl
- Overrides:
- closein class- StreamingExecutionControl
 
- 
vmDescription copied from class:JdiExecutionControlReturns the JDIVirtualMachineinstance.- Specified by:
- vmin class- JdiExecutionControl
- Returns:
- the virtual machine
- Throws:
- ExecutionControl.EngineTerminationException- if the VM is dead/disconnected
 
 
-