public interface JavaShellToolBuilder
Interface to configure and run a Java shell tool instance. An instance of the
 builder is created with the static 
builder() method. This builder can,
 optionally, be configured with the configuration methods. All configuration
 methods return the builder instance for use in chained initialization. All
 configuration methods have sensible defaults which will be used if they are
 not called.. After zero or more calls to configuration methods, the tool is
 launched with a call to run(java.lang.String...).- Since:
- 9
- 
Method SummaryModifier and Type Method Description static JavaShellToolBuilderbuilder()Create a builder for launching the JDK jshell tool.JavaShellToolBuilderenv(Map<String,String> vars)Set the source for environment variables.JavaShellToolBuildererr(PrintStream error)Set the error channels.JavaShellToolBuildererr(PrintStream cmdErr, PrintStream userErr)Set the error channels.JavaShellToolBuilderin(InputStream cmdIn, InputStream userIn)Set the input channels.JavaShellToolBuilderlocale(Locale locale)Set the locale.JavaShellToolBuilderout(PrintStream output)Set the output channels.JavaShellToolBuilderout(PrintStream cmdOut, PrintStream console, PrintStream userOut)Set the output channels.JavaShellToolBuilderpersistence(Map<String,String> prefsMap)Set the storage mechanism for persistent information which includes input history and retained settings.JavaShellToolBuilderpersistence(Preferences prefs)Set the storage mechanism for persistent information which includes input history and retained settings.JavaShellToolBuilderpromptCapture(boolean capture)Set to enable a command capturing prompt override.voidrun(String... arguments)Run an instance of the Java shell tool as configured by the other methods in this interface.default intstart(String... arguments)Run an instance of the Java shell tool as configured by the other methods in this interface.
- 
Method Details- 
builderCreate a builder for launching the JDK jshell tool.- Returns:
- a builder which can be used to configure and launch the jshell tool
 
- 
inSet the input channels.- Implementation Requirements:
- If this method is not called, the behavior should be
 equivalent to calling in(System.in, null).
- Parameters:
- cmdIn- source of command input
- userIn- source of input for running user code, or- nullto extract user input from cmdIn
- Returns:
- the JavaShellToolBuilderinstance
 
- 
outSet the output channels. Same asout(output, output, output).- Implementation Requirements:
- If neither outmethod is called, the behavior should be equivalent to callingout(System.out).
- Parameters:
- output- destination of command feedback, console interaction, and user code output
- Returns:
- the JavaShellToolBuilderinstance
 
- 
outSet the output channels.- Implementation Requirements:
- If neither outmethod is called, the behavior should be equivalent to callingout(System.out, System.out, System.out).
- Parameters:
- cmdOut- destination of command feedback including error messages for users
- console- destination of console interaction
- userOut- destination of user code output. For example, user snippet- System.out.println("Hello")when executed- Hellogoes to userOut.
- Returns:
- the JavaShellToolBuilderinstance
 
- 
errSet the error channels. Same aserr(error, error).- Implementation Requirements:
- If neither errmethod is called, the behavior should be equivalent to callingerr(System.err).
- Parameters:
- error- destination of tool errors, and user code errors
- Returns:
- the JavaShellToolBuilderinstance
 
- 
errSet the error channels.- Implementation Requirements:
- If neither errmethod is called, the behavior should be equivalent to callingerr(System.err, System.err, System.err).
- Parameters:
- cmdErr- destination of tool start-up and fatal errors
- userErr- destination of user code error output. For example, user snippet- System.err.println("Oops")when executed- Oopsgoes to userErr.
- Returns:
- the JavaShellToolBuilderinstance
 
- 
persistenceSet the storage mechanism for persistent information which includes input history and retained settings.- Implementation Requirements:
- If neither persistencemethod is called, the behavior should be to use the tool's standard persistence mechanism.
- Parameters:
- prefs- an instance of- Preferencesthat is used to retrieve and store persistent information
- Returns:
- the JavaShellToolBuilderinstance
 
- 
persistenceSet the storage mechanism for persistent information which includes input history and retained settings.- Implementation Requirements:
- If neither persistencemethod is called, the behavior should be to use the tool's standard persistence mechanism.
- Parameters:
- prefsMap- an instance of- Mapthat is used to retrieve and store persistent information
- Returns:
- the JavaShellToolBuilderinstance
 
- 
envSet the source for environment variables.- Implementation Requirements:
- If this method is not called, the behavior should be
 equivalent to calling env(System.getenv()).
- Parameters:
- vars- the Map of environment variable names to values
- Returns:
- the JavaShellToolBuilderinstance
 
- 
localeSet the locale.- Implementation Requirements:
- If this method is not called, the behavior should be
 equivalent to calling locale(Locale.getDefault()).
- Parameters:
- locale- the locale
- Returns:
- the JavaShellToolBuilderinstance
 
- 
promptCaptureSet to enable a command capturing prompt override.- Implementation Requirements:
- If this method is not called, the behavior should be
 equivalent to calling promptCapture(false).
- Parameters:
- capture- if- true, basic prompt is the- ENQcharacter and continuation prompt is the- ACKcharacter. If false, prompts are as set with set-up or user- /setcommands.
- Returns:
- the JavaShellToolBuilderinstance
 
- 
runRun an instance of the Java shell tool as configured by the other methods in this interface. This call is not destructive, more than one call of this method may be made from a configured builder. The exit code from the Java shell tool is ignored.- Parameters:
- arguments- the command-line arguments (including options), if any
- Throws:
- Exception- an unexpected fatal exception
 
- 
startRun an instance of the Java shell tool as configured by the other methods in this interface. This call is not destructive, more than one call of this method may be made from a configured builder.- Implementation Requirements:
- The default implementation always returns zero. Implementations of this interface should override this method, returning the exit status.
- Parameters:
- arguments- the command-line arguments (including options), if any
- Returns:
- the exit status with which the tool explicitly exited (if any), otherwise 0 for success or 1 for failure
- Throws:
- Exception- an unexpected fatal exception
 
 
-