Package org.elasticsearch.cli
Class Terminal
java.lang.Object
org.elasticsearch.cli.Terminal
public abstract class Terminal
extends java.lang.Object
A Terminal wraps access to reading input and writing output for a cli.
The available methods are similar to those of
Console, with the ability
to read either normal text or a password, and the ability to print a line
of text. Printing is also gated by the Terminal.Verbosity of the terminal,
which allows println(Verbosity,String) calls which act like a logger,
only actually printing if the verbosity level of the terminal is above
the verbosity of the message.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTerminal.VerbosityDefines the available verbosity levels of messages to be printed. -
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protectedTerminal(java.lang.String lineSeparator) -
Method Summary
Modifier and Type Method Description voiderrorPrint(Terminal.Verbosity verbosity, java.lang.String msg)Prints a line to the terminal's standard error atTerminal.Verbosity.NORMALverbosity level, without a newline.voiderrorPrintln(java.lang.String msg)Prints a line to the terminal's standard error atTerminal.Verbosity.NORMALverbosity level.voiderrorPrintln(Terminal.Verbosity verbosity, java.lang.String msg)Prints a line to the terminal's standard error atverbositylevel.voidflush()java.io.PrintWritergetErrorWriter()Returns a Writer which can be used to write to the terminal directly using standard error.abstract java.io.PrintWritergetWriter()Returns a Writer which can be used to write to the terminal directly using standard output.booleanisPrintable(Terminal.Verbosity verbosity)Checks if is enoughverbositylevel to be printedvoidprint(Terminal.Verbosity verbosity, java.lang.String msg)Prints message to the terminal's standard output atverbositylevel, without a newline.voidprintln(java.lang.String msg)Prints a line to the terminal atTerminal.Verbosity.NORMALverbosity level.voidprintln(Terminal.Verbosity verbosity, java.lang.String msg)Prints a line to the terminal atverbositylevel.booleanpromptYesNo(java.lang.String prompt, boolean defaultYes)Prompt for a yes or no answer from the user.abstract char[]readSecret(java.lang.String prompt)Reads password text from the terminal input.abstract java.lang.StringreadText(java.lang.String prompt)Reads clear text from the terminal input.voidsetVerbosity(Terminal.Verbosity verbosity)Sets the verbosity of the terminal.
-
Field Details
-
DEFAULT
The default terminal implementation, which will be a console if available, or stdout/stderr if not.
-
-
Constructor Details
-
Terminal
protected Terminal(java.lang.String lineSeparator)
-
-
Method Details
-
setVerbosity
Sets the verbosity of the terminal. -
readText
public abstract java.lang.String readText(java.lang.String prompt)Reads clear text from the terminal input. SeeConsole.readLine(). -
readSecret
public abstract char[] readSecret(java.lang.String prompt)Reads password text from the terminal input. SeeConsole.readPassword()}. -
getWriter
public abstract java.io.PrintWriter getWriter()Returns a Writer which can be used to write to the terminal directly using standard output. -
getErrorWriter
public java.io.PrintWriter getErrorWriter()Returns a Writer which can be used to write to the terminal directly using standard error. -
println
public final void println(java.lang.String msg)Prints a line to the terminal atTerminal.Verbosity.NORMALverbosity level. -
println
Prints a line to the terminal atverbositylevel. -
print
Prints message to the terminal's standard output atverbositylevel, without a newline. -
errorPrint
Prints a line to the terminal's standard error atTerminal.Verbosity.NORMALverbosity level, without a newline. -
errorPrintln
public final void errorPrintln(java.lang.String msg)Prints a line to the terminal's standard error atTerminal.Verbosity.NORMALverbosity level. -
errorPrintln
Prints a line to the terminal's standard error atverbositylevel. -
isPrintable
Checks if is enoughverbositylevel to be printed -
promptYesNo
public final boolean promptYesNo(java.lang.String prompt, boolean defaultYes)Prompt for a yes or no answer from the user. This method will loop until 'y' or 'n' (or the default empty value) is entered. -
flush
public void flush()
-