Package com.microsoft.azure.maven.prompt
Interface IPrompter
-
- All Superinterfaces:
AutoCloseable,Closeable
- All Known Implementing Classes:
DefaultPrompter
public interface IPrompter extends Closeable
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> List<T>promoteMultipleEntities(String header, String promotePrefix, String selectNoneMessage, List<T> entities, java.util.function.Function<T,String> getNameFunc, boolean allowEmpty, String enterPromote, List<T> defaultEntities)Promote user to choose some entities from a known list.<T> TpromoteSingleEntity(String header, String message, List<T> entities, T defaultEntity, java.util.function.Function<T,String> getNameFunc, boolean isRequired)Promote user to choose a single entity from a known list.StringpromoteString(String message, String defaultValue, java.util.function.Function<String,InputValidateResult<String>> verify, boolean isRequired)Promote user to input a text value through a terminal.BooleanpromoteYesNo(String message, Boolean defaultValue, boolean isRequired)Promote user to choose YES or NO through a terminal.
-
-
-
Method Detail
-
promoteString
String promoteString(String message, String defaultValue, java.util.function.Function<String,InputValidateResult<String>> verify, boolean isRequired) throws IOException
Promote user to input a text value through a terminal.- Parameters:
message- promote messagedefaultValue- the default value if user presses ENTER key.verify- the function against user's inputisRequired- whether a null/empty value is acceptable- Returns:
- the text value user has input
- Throws:
IOException- when there are any IO errors.
-
promoteYesNo
Boolean promoteYesNo(String message, Boolean defaultValue, boolean isRequired) throws IOException
Promote user to choose YES or NO through a terminal. If this property is optional and there is no default option, then this method returns null when user presses ENTER key.- Parameters:
message- promote message to give user a hint about the options.defaultValue- the default option if user presses ENTER key.isRequired- whether user must accept or decline explicitly.- Returns:
- the yes/no option
- Throws:
IOException- when there are any IO errors.
-
promoteMultipleEntities
<T> List<T> promoteMultipleEntities(String header, String promotePrefix, String selectNoneMessage, List<T> entities, java.util.function.Function<T,String> getNameFunc, boolean allowEmpty, String enterPromote, List<T> defaultEntities) throws IOException
Promote user to choose some entities from a known list. ifallowEmptyis true, then user has the option to select none from the list, otherwise, at least one entry must be selected.- Type Parameters:
T- the entity type- Parameters:
header- the message print before the option listpromotePrefix- promote message after the options list, will be appended with the text of range example and default entity.entities- the known list which are to be selected ingetNameFunc- the entity to string convert functionallowEmpty- whether to accept empty list.enterPromote- promote message to give user a hint about the behavior of pressing ENTER key directly, should be aligned with the actual meaning of defaultValuedefaultEntities- the default entities when pressing ENTER key directly.- Returns:
- the list user selected
- Throws:
IOException- when there are any IO errors.
-
promoteSingleEntity
<T> T promoteSingleEntity(String header, String message, List<T> entities, T defaultEntity, java.util.function.Function<T,String> getNameFunc, boolean isRequired) throws IOException
Promote user to choose a single entity from a known list. ifisRequiredis true, then user must select one entity.- Type Parameters:
T- the entity type- Parameters:
header- the message print before the option listmessage- the message print before printing the optionsentities- the known list which are to be selected ingetNameFunc- the entity to string convert functiondefaultEntity- the default entity when pressing ENTER key directly.- Returns:
- the entity user selected
- Throws:
IOException- when there are any IO errors.
-
-