Class ConsolePrompt

java.lang.Object
org.jline.consoleui.prompt.ConsolePrompt

public class ConsolePrompt extends Object
ConsolePrompt encapsulates the prompting of a list of input questions for the user.
  • Field Details

    • reader

      protected final org.jline.reader.LineReader reader
    • terminal

      protected final org.jline.terminal.Terminal terminal
    • display

      protected final org.jline.utils.Display display
    • config

      protected final ConsolePrompt.UiConfig config
    • attributes

      protected org.jline.terminal.Attributes attributes
  • Constructor Details

    • ConsolePrompt

      public ConsolePrompt(org.jline.terminal.Terminal terminal)
      Parameters:
      terminal - the terminal.
    • ConsolePrompt

      public ConsolePrompt(org.jline.terminal.Terminal terminal, ConsolePrompt.UiConfig config)
      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 with PromptBuilder. 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 implementing PromptResultItemIF.
      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 terminal
      org.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 with PromptBuilder. 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 implementing PromptResultItemIF.
      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 terminal
      org.jline.reader.UserInterruptException - if user interrupt handling is enabled and the user types the interrupt character (ctrl-C)
    • prompt

      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 with PromptBuilder). Each list is then passed to prompt(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 implementing PromptResultItemIF.
      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>,List<PromptableElementIF>> promptableElementLists) throws IOException
      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 with PromptBuilder). Each list is then passed to prompt(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 implementing PromptResultItemIF.
      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 IOException
      Prompt a list of choices (questions). This method takes a list of promptable elements, typically created with PromptBuilder. 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 implementing PromptResultItemIF.
      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

      protected org.jline.utils.AttributedStringBuilder createMessage(String message, String response)
    • computePageSize

      public static int computePageSize(org.jline.terminal.Terminal terminal, int pageSize, PageSizeType sizeType)
    • getPromptBuilder

      public PromptBuilder getPromptBuilder()
      Creates a PromptBuilder.
      Returns:
      a new prompt builder object.