Package org.elasticsearch.cli
Class Terminal
- java.lang.Object
-
- org.elasticsearch.cli.Terminal
-
public abstract class Terminal extends java.lang.ObjectA Terminal wraps access to reading input and writing output for a cli. The available methods are similar to those ofConsole, 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 theTerminal.Verbosityof the terminal, which allowsprintln(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.
-
Constructor Summary
Constructors Modifier Constructor Description protectedTerminal(java.lang.String lineSeparator)
-
Method Summary
Modifier and Type Method Description abstract java.io.PrintWritergetWriter()Returns a Writer which can be used to write to the terminal directly.booleanisPrintable(Terminal.Verbosity verbosity)Checks if is enoughverbositylevel to be printedvoidprint(Terminal.Verbosity verbosity, java.lang.String msg)Prints message to the terminal 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 Detail
-
DEFAULT
public static final Terminal DEFAULT
The default terminal implementation, which will be a console if available, or stdout/stderr if not.
-
-
Method Detail
-
setVerbosity
public void setVerbosity(Terminal.Verbosity verbosity)
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.
-
println
public final void println(java.lang.String msg)
Prints a line to the terminal atTerminal.Verbosity.NORMALverbosity level.
-
println
public final void println(Terminal.Verbosity verbosity, java.lang.String msg)
Prints a line to the terminal atverbositylevel.
-
print
public final void print(Terminal.Verbosity verbosity, java.lang.String msg)
Prints message to the terminal atverbositylevel, without a newline.
-
isPrintable
public final boolean isPrintable(Terminal.Verbosity verbosity)
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.
-
-