java.lang.Object
org.jline.prompt.DynamicPromptHelper
Utility class to help with dynamic prompting scenarios.
Provides common patterns and helper methods for conditional prompting.
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanallResultsExist(Map<String, ? extends PromptResult<? extends Prompt>> results, String... resultNames) Checks if all specified results exist.static booleananyResultExists(Map<String, ? extends PromptResult<? extends Prompt>> results, String... resultNames) Checks if any of the specified results exist.chain(Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>>... providers) Creates a prompt provider that chains multiple conditional providers.static StringgetResultValue(Map<String, ? extends PromptResult<? extends Prompt>> results, String resultName) Gets the result value for a specific prompt, or null if not found.static booleanChecks if a result exists and has a non-empty value.static booleanresultEqualsAny(Map<String, ? extends PromptResult<? extends Prompt>> results, String resultName, String... values) Checks if a result equals any of the given values.when(Predicate<Map<String, ? extends PromptResult<? extends Prompt>>> condition, Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>> promptProvider) Creates a conditional prompt provider that only shows prompts when a condition is met.whenResultEquals(String resultName, String expectedValue, Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>> promptProvider) Creates a prompt provider that only executes if a specific result has a specific value.whenResultExists(String resultName, Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>> promptProvider) Creates a prompt provider that only executes if a specific result exists.whenResultMissing(String resultName, Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>> promptProvider) Creates a prompt provider that only executes if a specific result does NOT exist.
-
Method Details
-
when
public static Function<Map<String,? extends PromptResult<? extends Prompt>>, whenList<? extends Prompt>> (Predicate<Map<String, ? extends PromptResult<? extends Prompt>>> condition, Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>> promptProvider) Creates a conditional prompt provider that only shows prompts when a condition is met.- Parameters:
condition- the condition to check against previous resultspromptProvider- the provider to call when condition is true- Returns:
- a conditional prompt provider
-
whenResultExists
public static Function<Map<String,? extends PromptResult<? extends Prompt>>, whenResultExistsList<? extends Prompt>> (String resultName, Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>> promptProvider) Creates a prompt provider that only executes if a specific result exists.- Parameters:
resultName- the name of the result that must existpromptProvider- the provider to call when the result exists- Returns:
- a conditional prompt provider
-
whenResultEquals
public static Function<Map<String,? extends PromptResult<? extends Prompt>>, whenResultEqualsList<? extends Prompt>> (String resultName, String expectedValue, Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>> promptProvider) Creates a prompt provider that only executes if a specific result has a specific value.- Parameters:
resultName- the name of the result to checkexpectedValue- the expected valuepromptProvider- the provider to call when the condition is met- Returns:
- a conditional prompt provider
-
whenResultMissing
public static Function<Map<String,? extends PromptResult<? extends Prompt>>, whenResultMissingList<? extends Prompt>> (String resultName, Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>> promptProvider) Creates a prompt provider that only executes if a specific result does NOT exist.- Parameters:
resultName- the name of the result that must not existpromptProvider- the provider to call when the result doesn't exist- Returns:
- a conditional prompt provider
-
chain
@SafeVarargs public static Function<Map<String,? extends PromptResult<? extends Prompt>>, chainList<? extends Prompt>> (Function<Map<String, ? extends PromptResult<? extends Prompt>>, List<? extends Prompt>>... providers) Creates a prompt provider that chains multiple conditional providers. Each provider is tried in order until one returns a non-null result.- Parameters:
providers- the providers to chain- Returns:
- a chained prompt provider
-
getResultValue
public static String getResultValue(Map<String, ? extends PromptResult<? extends Prompt>> results, String resultName) Gets the result value for a specific prompt, or null if not found.- Parameters:
results- the results mapresultName- the name of the result- Returns:
- the result value or null
-
hasValue
public static boolean hasValue(Map<String, ? extends PromptResult<? extends Prompt>> results, String resultName) Checks if a result exists and has a non-empty value.- Parameters:
results- the results mapresultName- the name of the result- Returns:
- true if the result exists and has a non-empty value
-
resultEqualsAny
public static boolean resultEqualsAny(Map<String, ? extends PromptResult<? extends Prompt>> results, String resultName, String... values) Checks if a result equals any of the given values.- Parameters:
results- the results mapresultName- the name of the resultvalues- the values to check against- Returns:
- true if the result equals any of the values
-
allResultsExist
public static boolean allResultsExist(Map<String, ? extends PromptResult<? extends Prompt>> results, String... resultNames) Checks if all specified results exist.- Parameters:
results- the results mapresultNames- the names of the results to check- Returns:
- true if all results exist
-
anyResultExists
public static boolean anyResultExists(Map<String, ? extends PromptResult<? extends Prompt>> results, String... resultNames) Checks if any of the specified results exist.- Parameters:
results- the results mapresultNames- the names of the results to check- Returns:
- true if any result exists
-