public static void main(String[] args) { SystemTextTerminal sysTerminal = new SystemTextTerminal(); TextIO sysTextIO = new TextIO(sysTerminal); BiConsumer<TextIO, RunnerData> app = chooseApp(sysTextIO); TextIO textIO = chooseTextIO(); // Uncomment the line below to ignore user interrupts. // textIO.getTextTerminal().registerUserInterruptHandler(term -> System.out.println("\n\t### User interrupt ignored."), false); if(textIO.getTextTerminal() instanceof WebTextTerminal) { WebTextTerminal webTextTerm = (WebTextTerminal)textIO.getTextTerminal(); TextIoApp<?> textIoApp = createTextIoApp(sysTextIO, app, webTextTerm); WebTextIoExecutor webTextIoExecutor = new WebTextIoExecutor(); configurePort(sysTextIO, webTextIoExecutor, 8080); webTextIoExecutor.execute(textIoApp); } else { app.accept(textIO, null); } }
@Override public void accept(TextIO textIO, RunnerData runnerData) { SwingTextTerminal terminal = (SwingTextTerminal)textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData); boolean toSave = textIO.newBooleanInputReader() .read("Exit now"); if (toSave) { terminal.printf("Exiting the Simulation..." + System.lineSeparator()); Simulation.instance().endSimulation(); Simulation.instance().getSimExecutor().shutdownNow(); Simulation.instance().getMasterClock().exitProgram(); logger.info("Exiting the Simulation."); System.exit(0); // TODO: how to detect if JavaFX mode is used and call MainScene.exit() } else terminal.printf("You don't want to exit the Simulation." + System.lineSeparator()); }
@Override public void accept(TextIO textIO, RunnerData runnerData) { terminal = (SwingTextTerminal)textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData); boolean toSave = textIO.newBooleanInputReader() .read("Save now"); if (toSave) { terminal.printf("Saving Simulation..." + System.lineSeparator()); Simulation.instance().getMasterClock().setSaveSim(Simulation.SAVE_DEFAULT, null); } else { terminal.printf("You don't want to save the Simulation." + System.lineSeparator()); } }
@Override public void accept(TextIO textIO, RunnerData runnerData) { terminal = (SwingTextTerminal)textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData);
public SwingHandler(TextIO textIO, String appName, Object dataObject) { this.textIO = textIO; this.terminal = (SwingTextTerminal)textIO.getTextTerminal(); this.historyStore = new History(appName); this.dataObject = dataObject;
@Override public void accept(TextIO textIO, RunnerData runnerData) { terminal = (SwingTextTerminal)textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData);
@Override public void accept(TextIO textIO, RunnerData runnerData) { TextTerminal<?> terminal = textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData);
@Override public void accept(TextIO textIO, RunnerData runnerData) { TextTerminal<?> terminal = textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData);
@Override public void accept(TextIO textIO, RunnerData runnerData) { TextTerminal<?> terminal = textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData);
@Override public void accept(TextIO textIO, RunnerData runnerData) { terminal = (SwingTextTerminal)textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData);
@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."); }
@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(); }
@Override public void accept(TextIO textIO, RunnerData runnerData) { TextTerminal<?> terminal = textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData);
@Override public void accept(TextIO textIO, RunnerData runnerData) { TextTerminal<?> terminal = textIO.getTextTerminal(); String initData = (runnerData == null) ? null : runnerData.getInitData(); AppUtil.printGsonMessage(terminal, initData);