diff options
Diffstat (limited to 'dk/abcdefghijklmnopqrstuvxyzæøå/bachelorizer/Main.java')
-rw-r--r-- | dk/abcdefghijklmnopqrstuvxyzæøå/bachelorizer/Main.java | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/dk/abcdefghijklmnopqrstuvxyzæøå/bachelorizer/Main.java b/dk/abcdefghijklmnopqrstuvxyzæøå/bachelorizer/Main.java deleted file mode 100644 index d5da2b7..0000000 --- a/dk/abcdefghijklmnopqrstuvxyzæøå/bachelorizer/Main.java +++ /dev/null @@ -1,90 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Jonas Smedegaard <dr@jones.dk> -// SPDX-License-Identifier: GPL-3.0-or-later - -package dk.abcdefghijklmnopqrstuvxyzæøå.bachelorizer; - -import java.lang.UnsupportedOperationException; -import java.util.Arrays; - -/* TODO -import dk.abcdefghijklmnopqrstuvxyzæøå.bachelorizer.view.Oneshot; -import dk.abcdefghijklmnopqrstuvxyzæøå.bachelorizer.view.Prompt; -import dk.abcdefghijklmnopqrstuvxyzæøå.bachelorizer.view.Pipe; -import dk.abcdefghijklmnopqrstuvxyzæøå.bachelorizer.view.Screen; -*/ -import dk.abcdefghijklmnopqrstuvxyzæøå.bachelorizer.view.Window; - -/// Bachelorizer - bachelor programme registrar -/// -/// Tool for registering students -/// for activities in their bachelor programme. -/// -/// Runner class spawning an interactive or non-interactive application -/// based on passed arguments -/// -/// Multi-framework MVC structure inspired by project Криптоанализатор -/// written by Александр Хмелев <akhmelev@gmail.com>. -/// -/// * v0.0.1-draft -/// * initial release, as part of delivery "Portfolio 1" -/// -/// @version 0.0.1-draft -/// @see <https://moodle.ruc.dk/mod/assign/view.php?id=523186> -/// @see <https://github.com/demologin/CryptoAnalyzerLed> -public class Main { - - /// Default constructor - /// - /// @param args command-line arguments or default demo data - public Main(final String[] args) { - - switch (uiFromArgs(args)) { - case "gui" -> { Window.main(args); } -// TODO case "tui" -> { Screen.main(args); } -// TODO case "cli" -> { Line.main(args); } - default -> { - throw new UnsupportedOperationException( - "Not yet implemented."); - } - } - } - - /// JVM entry point - /// - /// @param args command-line arguments - public static void main(String[] args) { - - // inject initial sample data unless passed as arguments - if ((args.length == 0) - || (!Arrays.stream(args).anyMatch( - s -> s != null && !s.startsWith("-"))) - ) { - args = new String[] { - "Jonas Smedegaard", - "CS-SMC2", - "CS-SMC3", - }; - } - - new Main(args); - } - - /// minimal argument parser to detect explicit UI choice - /// - /// @param args command-line arguments - /// @return choice of UI as String - public static String uiFromArgs(String[] args) { - // TODO: make "cli" the default when implemented - String defaultUI = "gui"; - - for (String arg : args) { - if (arg.matches("--(gui|tui|cli)")) { - return (arg.length() == 2) - ? defaultUI - : arg.substring(2); - } - } - - return defaultUI; - } -} |