private void addGender(TextIO textIO, String prompt, Supplier<String> defaultValueSupplier, Consumer<String> valueSetter) { operations.add(() -> { String[] sex = {"M", "F"}; setChoices(sex); valueSetter.accept(textIO.newStringInputReader() // .withInlinePossibleValues(sex) .withIgnoreCase() // .withPromptAdjustments(false) // .withInlinePossibleValues("m", "f", "M", "F") .withDefaultValue(defaultValueSupplier.get()) .read(prompt)); }); }
public StringInputReader newStringInputReader() { return new StringInputReader(textTerminalSupplier); }
public StringInputReader(Supplier<TextTerminal<?>> textTerminalSupplier) { super(textTerminalSupplier); valueCheckers.add((val, propName) -> getLengthValidationErrors(val)); valueCheckers.add((val, propName) -> getPatternValidationErrors(val)); }
private void addTask(TextIO textIO, String prompt, Supplier<String> defaultValueSupplier, Consumer<String> valueSetter) { operations.add(() -> valueSetter.accept(textIO.newStringInputReader() .withDefaultValue(defaultValueSupplier.get()) .read(prompt))); }
String product; try { product = textIO.newStringInputReader().withPropertiesPrefix("product").read("product"); } catch (ReadAbortedException e) { terminal.executeWithPropertiesPrefix("abort", textIO.newStringInputReader().withMinLength(0).read("\nPress enter to terminate..."); textIO.dispose();
@Override public void accept(TextIO textIO, RunnerData runnerData) { TextTerminal<?> terminal = textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData); String user = textIO.newStringInputReader() .withDefaultValue("admin") .read("Username"); String password = textIO.newStringInputReader() .withMinLength(6) .withInputMasking(true) .read("Password"); int age = textIO.newIntInputReader() .withMinVal(13) .read("Age"); Month month = textIO.newEnumInputReader(Month.class) .read("What month were you born in?"); terminal.printf("\nUser %s is %d years old, was born in %s and has the password %s.\n", user, age, month, password); textIO.newStringInputReader().withMinLength(0).read("\nPress enter to terminate..."); textIO.dispose("User '" + user + "' has left the building."); }
textIO.newStringInputReader().withMinLength(0).read("\nPress enter to terminate..."); textIO.dispose();
props.setInputColor("blue"); props.setInputItalic(true); String product = textIO.newStringInputReader().read("Product name"); props.setPromptUnderline(false); props.setInputColor("yellow"); String city = textIO.newStringInputReader().read("City"); String street = textIO.newStringInputReader().read("Street Address"); String shippingOptions = textIO.newStringInputReader() .withNumberedPossibleValues("Standard Shipping", "Two-Day Shipping", "One-Day Shipping") .read("Shipping Options"); props.setInputColor("magenta"); String paymentType = textIO.newStringInputReader() .withNumberedPossibleValues("PayPal", "MasterCard", "VISA") .read("Payment Type"); String owner = textIO.newStringInputReader().read("Account Owner"); textIO.newStringInputReader().withMinLength(0).read("\nPress enter to terminate..."); textIO.dispose("Payment receipt sent to " + owner + ".");
public StringInputReader withIgnoreCase() { return withEqualsFunc((s1, s2) -> s1.equalsIgnoreCase(s2)); }
@Override public void accept(TextIO textIO, RunnerData runnerData) { TextTerminal<?> terminal = textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData); terminal.executeWithPropertiesPrefix("custom.title", t -> t.print("Cuboid dimensions: ")); terminal.println(); double length = textIO.newDoubleInputReader() .withMinVal(0.0) .withPropertiesPrefix("custom.length") .read("Length"); double width = textIO.newDoubleInputReader() .withMinVal(0.0) .withPropertiesPrefix("custom.width") .read("Width"); double height = textIO.newDoubleInputReader() .withMinVal(0.0) .withPropertiesPrefix("custom.height") .read("Height"); terminal.executeWithPropertiesPrefix("custom.title", t -> t.print("The volume of your cuboid is: " + length * width * height)); terminal.println(); textIO.newStringInputReader() .withMinLength(0) .withPropertiesPrefix("custom.neutral") .read("\nPress enter to terminate..."); textIO.dispose(); }
private void addTask(TextIO textIO, String prompt, Supplier<String> defaultValueSupplier, Consumer<String> valueSetter) { operations.add(() -> valueSetter.accept(textIO.newStringInputReader() .withDefaultValue(defaultValueSupplier.get()) .read(prompt))); }
textIO.newStringInputReader().withMinLength(0).read("\nPress enter to terminate..."); textIO.dispose();
.addChoices(0.59, 0.86, 0.99, 1.14, 1.55, 1.63, 1.74, 1.99, 2.55, 2.88, 2.99); handler.addStringTask("color", "Color", true) .withInputReaderConfigurator(r -> r.withPropertiesPrefix("highlight")) .addChoices("amaranth", "amber", "amethyst", "apricot", "aquamarine", "azure", "baby blue", "beige", "black", "blue", "blue-green", "blue-violet", "blush", "bronze", "brown", "burgundy", "byzantium", "carmine", "cerise", "cerulean", "champagne", "chartreuse", "chocolate", "cobalt blue", "coffee", "copper", "coral", "crimson", "cyan", "desert sand", "electric blue", "emerald", "erin", "gold", "gray", "green", "harlequin", "indigo", "ivory", "jade", "jungle green", "lavender", "lemon", "lilac", "lime", "magenta", "magenta rose", "maroon", "mauve", "navy blue", "ocher", "olive", "orange", "orange-red", "orchid", "peach", "pear", "periwinkle", "persian blue", "pink", "plum", "prussian blue", "puce", "purple", "raspberry", "red", "red-violet", "rose", "ruby", "salmon", "sangria", "sapphire", "scarlet", "silver", "slate gray", "spring bud", "spring green", "tan", "taupe", "teal", "turquoise", "violet", "viridian", "white", "yellow"); handler.execute(); textIO.newStringInputReader().withMinLength(0).read("\nPress enter to terminate..."); textIO.dispose();
private void addAffiliation(TextIO textIO, String prompt, Supplier<String> defaultValueSupplier, Consumer<String> valueSetter) { operations.add(() -> { String[] ans = {"y", "n"}; setChoices(ans); valueSetter.accept(textIO.newStringInputReader() // .withPromptAdjustments(false) // .withInlinePossibleValues(ans) .withIgnoreCase() // .withPromptAdjustments(false) // .withInlinePossibleValues("m", "f", "M", "F") // .withDefaultValue(defaultValueSupplier.get()) .withDefaultValue("y") .read(prompt)); }); }
private void addString(TextIO textIO, String prompt, Supplier<String> defaultValueSupplier, Consumer<String> valueSetter) { operations.add(() -> { setChoices(); valueSetter.accept(textIO.newStringInputReader() .withDefaultValue(defaultValueSupplier.get()) .read(prompt)); }); }