- All Implemented Interfaces:
BaseBuilder<NumberBuilder>,NumberBuilder
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionComplete the configuration of this prompt and add it to the parent builder.allowDecimals(boolean allowDecimals) Set whether to allow decimal numbers.defaultValue(String defaultValue) Set the default value.Set a filter function that modifies the actual returned value.invalidNumberMessage(String message) Set the error message for invalid numbers.Set the maximum allowed value.Set the message displayed to the user for this prompt.Set the minimum allowed value.Set the unique identifier for this prompt.outOfRangeMessage(String message) Set the error message for out-of-range numbers.transformer(Function<String, String> transformer) Set a transformer function that modifies how the answer is displayed after submission.
-
Constructor Details
-
DefaultNumberBuilder
-
-
Method Details
-
name
Description copied from interface:BaseBuilderSet the unique identifier for this prompt.The name serves as the key in the result map returned by
Prompter.prompt(java.util.List<org.jline.utils.AttributedString>, java.util.List<? extends org.jline.prompt.Prompt>). It must be unique within a single prompt session to avoid conflicts.Naming Guidelines:
- Use descriptive, lowercase names with underscores:
"user_name","file_path" - Avoid spaces and special characters
- Keep names concise but meaningful
- Use consistent naming conventions across your application
Example:
builder.createInputPrompt() .name("email_address") // Used as key in results map .message("Enter your email:") .addPrompt(); // Later access the result InputResult emailResult = (InputResult) results.get("email_address");- Specified by:
namein interfaceBaseBuilder<NumberBuilder>- Parameters:
name- the unique identifier for this prompt (required, non-null, non-empty)- Returns:
- this builder instance for method chaining
- Use descriptive, lowercase names with underscores:
-
message
Description copied from interface:BaseBuilderSet the message displayed to the user for this prompt.The message is the primary text that explains what the user should do. It should be clear, concise, and provide sufficient context for the user to understand what input is expected.
Message Guidelines:
- Use clear, actionable language: "Select your preferred option"
- End with appropriate punctuation (colon for selections, question mark for questions)
- Keep messages concise but informative
- Consider the terminal width for longer messages
Examples:
- List prompt:
"Choose your preferred IDE:" - Input prompt:
"Enter your full name:" - Confirm prompt:
"Do you want to continue?" - Checkbox prompt:
"Select features to enable:"
- Specified by:
messagein interfaceBaseBuilder<NumberBuilder>- Parameters:
message- the message to display to the user (required, non-null, non-empty)- Returns:
- this builder instance for method chaining
-
defaultValue
Description copied from interface:NumberBuilderSet the default value.- Specified by:
defaultValuein interfaceNumberBuilder- Parameters:
defaultValue- the default value- Returns:
- this builder
-
min
Description copied from interface:NumberBuilderSet the minimum allowed value.- Specified by:
minin interfaceNumberBuilder- Parameters:
min- the minimum value- Returns:
- this builder
-
max
Description copied from interface:NumberBuilderSet the maximum allowed value.- Specified by:
maxin interfaceNumberBuilder- Parameters:
max- the maximum value- Returns:
- this builder
-
allowDecimals
Description copied from interface:NumberBuilderSet whether to allow decimal numbers.- Specified by:
allowDecimalsin interfaceNumberBuilder- Parameters:
allowDecimals- true to allow decimals, false for integers only- Returns:
- this builder
-
invalidNumberMessage
Description copied from interface:NumberBuilderSet the error message for invalid numbers.- Specified by:
invalidNumberMessagein interfaceNumberBuilder- Parameters:
message- the error message- Returns:
- this builder
-
outOfRangeMessage
Description copied from interface:NumberBuilderSet the error message for out-of-range numbers.- Specified by:
outOfRangeMessagein interfaceNumberBuilder- Parameters:
message- the error message- Returns:
- this builder
-
transformer
Description copied from interface:BaseBuilderSet a transformer function that modifies how the answer is displayed after submission. This does not change the actual returned value. For example, a password prompt might transform the answer to "***".- Specified by:
transformerin interfaceBaseBuilder<NumberBuilder>- Parameters:
transformer- the transformer function- Returns:
- this builder instance for method chaining
-
filter
Description copied from interface:BaseBuilderSet a filter function that modifies the actual returned value. This changes the value stored in the result map. For example, trimming whitespace or converting to lowercase.- Specified by:
filterin interfaceBaseBuilder<NumberBuilder>- Parameters:
filter- the filter function- Returns:
- this builder instance for method chaining
-
addPrompt
Description copied from interface:BaseBuilderComplete the configuration of this prompt and add it to the parent builder.This method finalizes the current prompt configuration, validates that all required fields are set, creates the prompt instance, and adds it to the parent
PromptBuilder. After calling this method, you can continue adding more prompts or callPromptBuilder.build()to create the final list.Validation:
This method typically validates that:
- The prompt name is set and unique
- The message is set and non-empty
- Any prompt-specific requirements are met (e.g., list items are added)
Example Usage:
PromptBuilder builder = prompter.newBuilder(); builder.createListPrompt() .name("color") .message("Choose a color:") .newItem("red").text("Red").add() .newItem("blue").text("Blue").add() .addPrompt() // Completes this prompt and returns to builder .createConfirmPrompt() .name("confirm") .message("Are you sure?") .addPrompt(); // Completes second prompt List<Prompt> prompts = builder.build();- Specified by:
addPromptin interfaceBaseBuilder<NumberBuilder>- Returns:
- the parent
PromptBuilderfor continued prompt configuration - See Also:
-