Package org.jline.consoleui.prompt
Class ConsolePrompt
java.lang.Object
org.jline.consoleui.prompt.ConsolePrompt
ConsolePrompt encapsulates the prompting of a list of input questions for the user.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classConsoleUI configuration: colors, cursor pointer and selected/unselected/unavailable boxes. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.jline.terminal.Attributesprotected final ConsolePrompt.UiConfigprotected List<org.jline.utils.AttributedString> protected final org.jline.reader.LineReaderprotected final org.jline.terminal.Terminal -
Constructor Summary
ConstructorsConstructorDescriptionConsolePrompt(org.jline.reader.LineReader reader, org.jline.terminal.Terminal terminal, ConsolePrompt.UiConfig config) ConsolePrompt(org.jline.terminal.Terminal terminal) ConsolePrompt(org.jline.terminal.Terminal terminal, ConsolePrompt.UiConfig config) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidclose()static intcomputePageSize(org.jline.terminal.Terminal terminal, int pageSize, PageSizeType sizeType) protected org.jline.utils.AttributedStringBuildercreateMessage(String message, String response) Creates aPromptBuilder.protected voidopen()prompt(Function<Map<String, PromptResultItemIF>, List<PromptableElementIF>> promptableElementLists) Prompt a list of choices (questions).prompt(List<PromptableElementIF> promptableElementList) Prompt a list of choices (questions).prompt(List<org.jline.utils.AttributedString> headerIn, Function<Map<String, PromptResultItemIF>, List<PromptableElementIF>> promptableElementLists) Prompt a list of choices (questions).prompt(List<org.jline.utils.AttributedString> header, List<PromptableElementIF> promptableElementList) Prompt a list of choices (questions).protected voidprompt(List<org.jline.utils.AttributedString> headerIn, List<PromptableElementIF> promptableElementList, Map<String, PromptResultItemIF> resultMap) Prompt a list of choices (questions).protected PromptResultItemIFpromptElement(List<org.jline.utils.AttributedString> header, PromptableElementIF pe, PromptResultItemIF oldResult)
-
Field Details
-
reader
protected final org.jline.reader.LineReader reader -
terminal
protected final org.jline.terminal.Terminal terminal -
config
-
attributes
protected org.jline.terminal.Attributes attributes -
header
-
-
Constructor Details
-
ConsolePrompt
public ConsolePrompt(org.jline.terminal.Terminal terminal) - Parameters:
terminal- the terminal.
-
ConsolePrompt
- Parameters:
terminal- the terminal.config- ConsolePrompt cursor pointer and checkbox configuration
-
ConsolePrompt
public ConsolePrompt(org.jline.reader.LineReader reader, org.jline.terminal.Terminal terminal, ConsolePrompt.UiConfig config) - Parameters:
reader- the lineReader.terminal- the terminal.config- ConsolePrompt cursor pointer and checkbox configuration
-
-
Method Details
-
open
protected void open() -
close
protected void close() -
prompt
public Map<String,PromptResultItemIF> prompt(List<PromptableElementIF> promptableElementList) throws IOException, org.jline.reader.UserInterruptException Prompt a list of choices (questions). This method takes a list of promptable elements, typically created withPromptBuilder. Each of the elements is processed and the user entries and answers are filled in to the result map. The result map contains the key of each promptable element and the user entry as an object implementingPromptResultItemIF.- Parameters:
promptableElementList- the list of questions / prompts to ask the user for.- Returns:
- a map containing a result for each element of promptableElementList
- Throws:
IOException- may be thrown by terminalorg.jline.reader.UserInterruptException- if user interrupt handling is enabled and the user types the interrupt character (ctrl-C)
-
prompt
public Map<String,PromptResultItemIF> prompt(List<org.jline.utils.AttributedString> header, List<PromptableElementIF> promptableElementList) throws IOException, org.jline.reader.UserInterruptException Prompt a list of choices (questions). This method takes a list of promptable elements, typically created withPromptBuilder. Each of the elements is processed and the user entries and answers are filled in to the result map. The result map contains the key of each promptable element and the user entry as an object implementingPromptResultItemIF.- Parameters:
header- info to be displayed before first prompt.promptableElementList- the list of questions / prompts to ask the user for.- Returns:
- a map containing a result for each element of promptableElementList
- Throws:
IOException- may be thrown by terminalorg.jline.reader.UserInterruptException- if user interrupt handling is enabled and the user types the interrupt character (ctrl-C)
-
prompt
public Map<String,PromptResultItemIF> prompt(Function<Map<String, PromptResultItemIF>, throws IOExceptionList<PromptableElementIF>> promptableElementLists) Prompt a list of choices (questions). This method takes a function that given a map of interim results returns a list of promptable elements (typically created withPromptBuilder). Each list is then passed toprompt(List, List, Map)and the result added to the map of interim results. The function is then called again with the updated map of results until the function returns null. The final result map contains the key of each promptable element and the user entry as an object implementingPromptResultItemIF.- Parameters:
promptableElementLists- a function returning lists of questions / prompts to ask the user for.- Throws:
IOException- may be thrown by terminal
-
prompt
public Map<String,PromptResultItemIF> prompt(List<org.jline.utils.AttributedString> headerIn, Function<Map<String, PromptResultItemIF>, throws IOExceptionList<PromptableElementIF>> promptableElementLists) Prompt a list of choices (questions). This method takes a function that given a map of interim results returns a list of promptable elements (typically created withPromptBuilder). Each list is then passed toprompt(List, List, Map)and the result added to the map of interim results. The function is then called again with the updated map of results until the function returns null. The final result map contains the key of each promptable element and the user entry as an object implementingPromptResultItemIF.- Parameters:
headerIn- info to be displayed before first prompt.promptableElementLists- a function returning lists of questions / prompts to ask the user for.- Throws:
IOException- may be thrown by terminal
-
prompt
protected void prompt(List<org.jline.utils.AttributedString> headerIn, List<PromptableElementIF> promptableElementList, Map<String, PromptResultItemIF> resultMap) throws IOExceptionPrompt a list of choices (questions). This method takes a list of promptable elements, typically created withPromptBuilder. Each of the elements is processed and the user entries and answers are filled in to the result map. The result map contains the key of each promptable element and the user entry as an object implementingPromptResultItemIF.- Parameters:
headerIn- info to be displayed before first prompt.promptableElementList- the list of questions / prompts to ask the user for.resultMap- a map containing a result for each element of promptableElementList- Throws:
IOException- may be thrown by terminal
-
promptElement
protected PromptResultItemIF promptElement(List<org.jline.utils.AttributedString> header, PromptableElementIF pe, PromptResultItemIF oldResult) -
createMessage
-
computePageSize
public static int computePageSize(org.jline.terminal.Terminal terminal, int pageSize, PageSizeType sizeType) -
getPromptBuilder
Creates aPromptBuilder.- Returns:
- a new prompt builder object.
-