public class InputLine extends Object
When writing input into an app it is problematic if the app
crashes or exits every time you makes invalid input. This can be
solved with the InputLine.CharValidator and InputLine.LineValidator
interfaces. The CharValidator validates that any single
char input is valid, and will block if not. The LineValidator
is triggered when the user finishes the input and checks if the
line is valid as a whole, and blocks completion if not.
In addition a InputLine.TabCompletion interface may be provided that
can complete input based on the current content before the
cursor. If the complete() method returns a string, it
will replace what was before.
| Modifier and Type | Class and Description |
|---|---|
static interface |
InputLine.CharValidator
Character validator interface.
|
static interface |
InputLine.LineValidator
Line validator interface.
|
static interface |
InputLine.TabCompletion
Tab completion interface.
|
| Constructor and Description |
|---|
InputLine(Terminal terminal,
String message)
Constructor for simple line-input.
|
InputLine(Terminal terminal,
String message,
InputLine.CharValidator charValidator,
InputLine.LineValidator lineValidator,
InputLine.TabCompletion tabCompletion)
Constructor for complete line-input.
|
InputLine(Terminal terminal,
String message,
InputLine.CharValidator charValidator,
InputLine.LineValidator lineValidator,
InputLine.TabCompletion tabCompletion,
Pattern delimiterPattern)
Constructor for complete line-input.
|
| Modifier and Type | Method and Description |
|---|---|
String |
readLine()
Read line from terminal.
|
String |
readLine(String initial)
Read line from terminal.
|
public InputLine(Terminal terminal, String message)
terminal - Terminal to use.message - Message to print.public InputLine(Terminal terminal, String message, InputLine.CharValidator charValidator, InputLine.LineValidator lineValidator, InputLine.TabCompletion tabCompletion)
terminal - Terminal to use.message - Message to print.charValidator - The character validcator or null.lineValidator - The line validator or null.tabCompletion - The tab expander or null.public InputLine(Terminal terminal, String message, InputLine.CharValidator charValidator, InputLine.LineValidator lineValidator, InputLine.TabCompletion tabCompletion, Pattern delimiterPattern)
terminal - Terminal to use.message - Message to print.charValidator - The character validcator or null.lineValidator - The line validator or null.tabCompletion - The tab expander or null.delimiterPattern - Pattern matching a character that delimit 'words' that
are skipped or deleted with [ctrl-left], [ctrl-right],
[alt-w] and [alt-d].Copyright © 2017. All rights reserved.