public abstract class Terminal extends Object implements ConsoleOperations
ConsoleReader
to correctly handle
input.ADD, BACKSPACE, CHANGE_CASE, CHANGE_META, CLEAR_LINE, CLEAR_SCREEN, COMPLETE, CR, CTRL_A, CTRL_B, CTRL_C, CTRL_D, CTRL_E, CTRL_F, CTRL_K, CTRL_L, CTRL_N, CTRL_OB, CTRL_P, CTRL_QM, DELETE, DELETE_META, DELETE_NEXT_CHAR, DELETE_PREV_CHAR, DELETE_PREV_WORD, END_OF_HISTORY, END_WORD, EXIT, INSERT, INTERRUPT, KEYBOARD_BELL, KILL_LINE, KILL_LINE_PREV, MOVE_TO_BEG, MOVE_TO_END, NEWLINE, NEXT_CHAR, NEXT_HISTORY, NEXT_SPACE_WORD, NEXT_WORD, PASTE, PASTE_NEXT, PASTE_PREV, PREV_CHAR, PREV_HISTORY, PREV_SPACE_WORD, PREV_WORD, REDISPLAY, REPEAT_NEXT_CHAR, REPEAT_PREV_CHAR, REPEAT_SEARCH_NEXT, REPEAT_SEARCH_PREV, REPLACE_CHAR, REPLACE_MODE, RESET_LINE, SEARCH_NEXT, SEARCH_PREV, START_OF_HISTORY, SUBSTITUTE_CHAR, SUBSTITUTE_LINE, TO_END_WORD, TO_NEXT_CHAR, TO_PREV_CHAR, UNDO, UNKNOWN
Constructor and Description |
---|
Terminal() |
Modifier and Type | Method and Description |
---|---|
void |
afterReadLine(ConsoleReader reader,
String prompt,
Character mask)
Invokes after the console reads a line with the prompt and mask.
|
void |
beforeReadLine(ConsoleReader reader,
String prompt,
Character mask)
Invokes before the console reads a line with the prompt and mask.
|
abstract void |
disableEcho()
Disable character echoing.
|
abstract void |
enableEcho()
Enable character echoing.
|
InputStream |
getDefaultBindings() |
abstract boolean |
getEcho()
Returns true if the terminal will echo all characters type.
|
static Terminal |
getTerminal() |
abstract int |
getTerminalHeight()
Returns the current height of the terminal (in lines)
|
abstract int |
getTerminalWidth()
Returns the current width of the terminal (in characters)
|
abstract void |
initializeTerminal()
Initialize any system settings
that are required for the console to be able to handle
input correctly, such as setting tabtop, buffered input, and
character echo.
|
boolean |
isANSISupported()
Returns true if the current console supports ANSI
codes.
|
abstract boolean |
isEchoEnabled()
Returns false if character echoing is disabled.
|
abstract boolean |
isSupported()
Returns true if this terminal is capable of initializing the
terminal to use jline.
|
int |
readCharacter(InputStream in)
Read a single character from the input stream.
|
int |
readVirtualKey(InputStream in)
Reads a virtual key from the console.
|
static void |
resetTerminal()
Reset the current terminal to null.
|
static Terminal |
setupTerminal()
Configure and return the
Terminal instance for the
current platform. |
public static Terminal getTerminal()
setupTerminal()
public static void resetTerminal()
public static Terminal setupTerminal()
Configure and return the Terminal
instance for the
current platform. This will initialize any system settings
that are required for the console to be able to handle
input correctly, such as setting tabtop, buffered input, and
character echo.
This class will use the Terminal implementation specified in the
jline.terminal system property, or, if it is unset, by
detecting the operating system from the os.name
system property and instantiating either the
WindowsTerminalTest
or UnixTerminal
.
initializeTerminal()
public boolean isANSISupported()
public int readCharacter(InputStream in) throws IOException
IOException
public int readVirtualKey(InputStream in) throws IOException
in
- the InputStream to read fromConsoleOperations#VK_UP
)IOException
public abstract void initializeTerminal() throws Exception
Exception
public abstract int getTerminalWidth()
public abstract int getTerminalHeight()
public abstract boolean isSupported()
public abstract boolean getEcho()
public void beforeReadLine(ConsoleReader reader, String prompt, Character mask)
public void afterReadLine(ConsoleReader reader, String prompt, Character mask)
public abstract boolean isEchoEnabled()
public abstract void enableEcho()
public abstract void disableEcho()
public InputStream getDefaultBindings()
Copyright © 2024. All rights reserved.