public class ConsoleReader extends Object implements ConsoleOperations
Terminal.initializeTerminal()
for convenience
methods for issuing platform-specific setup commands.Modifier and Type | Field and Description |
---|---|
static int |
EOL_CR
CR End of line sequence
|
static int |
EOL_CRLF
CR End of line sequence
|
static int |
EOL_LF
CR End of line sequence
|
static SortedMap |
KEYMAP_CODES |
static SortedMap |
KEYMAP_NAMES
Map that contains the operation name to keymay operation mapping.
|
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 |
---|
ConsoleReader()
Create a new reader using
FileDescriptor.in for input and
System.out for output. |
ConsoleReader(InputStream in,
OutputStream out)
Create a new reader using the specified
InputStream for input and
the specific writer for output, using the default keybindings resource. |
ConsoleReader(InputStream in,
OutputStream out,
InputStream bindings) |
ConsoleReader(InputStream in,
OutputStream out,
InputStream bindings,
Terminal term)
Create a new reader.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addCompletor(Completor completor)
Add the specified
Completor to the list of handlers for
tab-completion. |
void |
addTriggeredAction(char c,
ActionListener listener)
Adding a triggered Action allows to give another curse of action if a
character passed the preprocessing.
|
boolean |
backspace()
Issue a backspace.
|
void |
beep()
Issue an audible keyboard bell, if
getBellEnabled() return true. |
boolean |
clearScreen()
Clear the screen by issuing the ANSI "clear screen" code.
|
static void |
debug(String str)
debug.
|
boolean |
delete()
Issue a delete.
|
void |
drawLine()
Output put the prompt + the current buffer
|
void |
flushConsole()
Flush the console output stream.
|
int |
getAutoprintThreshhold() |
boolean |
getBellEnabled() |
CompletionHandler |
getCompletionHandler() |
Collection<Completor> |
getCompletors()
Returns an unmodifiable list of all the completors.
|
CursorBuffer |
getCursorBuffer() |
String |
getDefaultPrompt()
The default prompt that will be issued.
|
Character |
getEchoCharacter()
Returns the echo character.
|
int |
getEol()
Get the type of EOL sequence to use.
|
String |
getEOLString() |
History |
getHistory() |
InputStream |
getInput()
Returns the stream used for console input.
|
Map<String,Short> |
getKeyBindingsMap() |
String |
getKeyForAction(short logicalAction) |
Writer |
getOutput()
Returns the stream used for console output.
|
int |
getTermheight()
Query the terminal to find the current width;
|
Terminal |
getTerminal() |
int |
getTermwidth()
Query the terminal to find the current width;
|
boolean |
getUseHistory()
Whether or not to add new commands to the history buffer.
|
boolean |
getUsePagination()
Whether to use pagination when the number of rows of candidates exceeds
the height of the temrinal.
|
boolean |
killLine()
Kill the buffer ahead of the current cursor position.
|
int |
moveCursor(int num)
Move the cursor where characters.
|
boolean |
paste()
Paste the contents of the clipboard into the console buffer
|
void |
printCharacter(int c)
Output the specified character to the output stream without manipulating
the current buffer.
|
void |
printCharacters(char[] c)
Output the specified characters to the output stream without manipulating
the current buffer.
|
void |
printColumns(Collection<String> stuff)
Output the specified
Collection in proper columns. |
void |
printException(Throwable exception) |
void |
printNewline()
Output a platform-dependant newline.
|
void |
printString(String str)
Output the specified string to the output stream (but not the buffer).
|
void |
printStringNewline(String str)
Output the specified string to the output stream (but not the buffer)
followed by the new line character
|
void |
putChar(int c,
boolean print)
Output the specified character, both to the buffer and the output stream.
|
void |
putString(String str)
Write out the specified string to the buffer and the output stream.
|
Object[] |
readBinding()
Reads the console input and returns an array of the form [raw, key
binding].
|
int |
readByte() |
int |
readBytes(byte[] buf,
int off,
int len) |
int |
readCharacter(char[] allowed) |
String |
readLine()
Read the next line and return the contents of the buffer.
|
String |
readLine(Character mask)
Read the next line with the specified character mask.
|
String |
readLine(String prompt) |
String |
readLine(String prompt,
Character mask)
Read a line from the in
InputStream , and return the line
(without any trailing newlines). |
int |
readVirtualKey()
Read a character from the console.
|
void |
redrawLine()
Clear the line and redraw it.
|
boolean |
removeCompletor(Completor completor)
Remove the specified
Completor from the list of handlers for
tab-completion. |
boolean |
replace(int num,
String replacement) |
void |
setAutoprintThreshhold(int autoprintThreshhold) |
void |
setBellEnabled(boolean bellEnabled) |
void |
setCompletionHandler(CompletionHandler completionHandler) |
boolean |
setCursorPosition(int position)
Move the cursor position to the specified absolute index.
|
void |
setDebug(PrintWriter debugger)
Set the stream for debugging.
|
void |
setDefaultPrompt(String prompt)
The default prompt that will be issued.
|
void |
setEchoCharacter(Character echoCharacter)
Set the echo character.
|
void |
setEOL(int eol)
Set the type of EOL sequence to use.
|
void |
setHistory(History history) |
void |
setInput(InputStream in)
Set the stream to be used for console input.
|
void |
setKeyBindings(InputStream bindings) |
void |
setUseHistory(boolean useHistory)
Whether or not to add new commands to the history buffer.
|
void |
setUsePagination(boolean usePagination)
Whether to use pagination when the number of rows of candidates exceeds
the height of the temrinal.
|
void |
writeByte(int b) |
void |
writeBytes(byte[] buffer,
int off,
int len)
Output a byte array to the output stream
|
public static SortedMap KEYMAP_NAMES
public static SortedMap KEYMAP_CODES
public static final int EOL_CR
public static final int EOL_CRLF
public static final int EOL_LF
public ConsoleReader() throws IOException
FileDescriptor.in
for input and
System.out
for output. FileDescriptor.in
is used because
it has a better chance of being unbuffered.IOException
public ConsoleReader(InputStream in, OutputStream out) throws IOException
InputStream
for input and
the specific writer for output, using the default keybindings resource.IOException
public ConsoleReader(InputStream in, OutputStream out, InputStream bindings) throws IOException
IOException
public ConsoleReader(InputStream in, OutputStream out, InputStream bindings, Terminal term) throws IOException
in
- the inputwriter
- the outputbindings
- the key bindings to useterm
- the terminal to useIOException
public void addTriggeredAction(char c, ActionListener listener)
c
- listener
- public void setKeyBindings(InputStream bindings) throws IOException
IOException
public Terminal getTerminal()
public void setDebug(PrintWriter debugger)
public void setInput(InputStream in)
public InputStream getInput()
public Writer getOutput()
public String readLine() throws IOException
InterruptedException
IOException
public String readLine(Character mask) throws IOException
IOException
public void setBellEnabled(boolean bellEnabled)
bellEnabled
- if true, enable audible keyboard bells if an alert is
required.public boolean getBellEnabled()
public int getTermwidth()
Terminal.getTerminalWidth()
public int getTermheight()
Terminal.getTerminalHeight()
public void setAutoprintThreshhold(int autoprintThreshhold)
autoprintThreshhold
- the number of candidates to print without
issuing a warning.public int getAutoprintThreshhold()
public String getKeyForAction(short logicalAction)
public String readLine(String prompt) throws IOException
IOException
public void setDefaultPrompt(String prompt)
public String getDefaultPrompt()
public String readLine(String prompt, Character mask) throws IOException
InputStream
, and return the line
(without any trailing newlines).prompt
- the prompt to issue to the console, may be null.IOException
public Object[] readBinding() throws IOException
IOException
public boolean paste() throws IOException
IOException
public boolean killLine() throws IOException
IOException
public boolean clearScreen() throws IOException
IOException
public CursorBuffer getCursorBuffer()
public void printColumns(Collection<String> stuff) throws IOException
Collection
in proper columns.stuff
- the stuff to printIOException
public boolean addCompletor(Completor completor)
Completor
to the list of handlers for
tab-completion.completor
- the Completor
to addpublic boolean removeCompletor(Completor completor)
Completor
from the list of handlers for
tab-completion.completor
- the Completor
to removepublic Collection<Completor> getCompletors()
public final boolean setCursorPosition(int position) throws IOException
IOException
public final void redrawLine() throws IOException
IOException
public final void drawLine() throws IOException
IOException
public final void printNewline() throws IOException
IOException
public final void putString(String str) throws IOException
IOException
public void printException(Throwable exception) throws IOException
IOException
public final void printString(String str) throws IOException
IOException
public final void printStringNewline(String str) throws IOException
IOException
public final void writeBytes(byte[] buffer, int off, int len) throws IOException
buffer
- off
- len
- IOException
public final void writeByte(int b) throws IOException
IOException
public int readByte() throws IOException
IOException
public int readBytes(byte[] buf, int off, int len) throws IOException
IOException
public final void putChar(int c, boolean print) throws IOException
IOException
public final void beep() throws IOException
getBellEnabled()
return true.IOException
public final void printCharacter(int c) throws IOException
IOException
public final void printCharacters(char[] c) throws IOException
IOException
public final void flushConsole() throws IOException
IOException
public final boolean backspace() throws IOException
IOException
public final int moveCursor(int num) throws IOException
where
- if less than 0, move abs(where) to the left,
otherwise move where to the right.IOException
public static void debug(String str)
str
- the message to issue.public final int readVirtualKey() throws IOException
IOException
public final int readCharacter(char[] allowed) throws IOException
IOException
public final boolean replace(int num, String replacement)
public final boolean delete() throws IOException
IOException
public void setHistory(History history)
public History getHistory()
public void setCompletionHandler(CompletionHandler completionHandler)
public CompletionHandler getCompletionHandler()
public void setEchoCharacter(Character echoCharacter)
Set the echo character. For example, to have "*" entered when a password is typed:
myConsoleReader.setEchoCharacter(new Character('*'));
Setting the character to
nullwill restore normal character echoing. Setting the character to
new Character(0)will cause nothing to be echoed.
echoCharacter
- the character to echo to the console in place of the
typed character.public Character getEchoCharacter()
public void setUseHistory(boolean useHistory)
public boolean getUseHistory()
public void setUsePagination(boolean usePagination)
public boolean getUsePagination()
public final String getEOLString()
public final int getEol()
public final void setEOL(int eol)
eol
- eol sequenceCopyright © 2024. All rights reserved.