package ui.tui; /** * Represents a screen */ public interface UIHandler { /** * EFFECTS: Called when the screen is switched to. */ default void enter(Object... args) { } /** * EFFECTS: Show objects. command() will not be called. */ void show(); /** * EFFECTS: Commit changes and exit. command() will not be called. */ default void commit() { } /** * EFFECTS: Discard changes and exit. command() will not be called. Returns the next screen. */ Screen exit(); /** * EFFECTS: Run help. command() will not be called. */ void help(); /** * EFFECTS: Any commands rather than commit / exit / help. * REQUIRES: args != null && args.length >= 1 */ void command(String... args); /** * EFFECTS: Return the current PS1 prompt. */ String getPS1(); }