summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/cli/CommandMode.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/cli/CommandMode.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/cli/CommandMode.java72
1 files changed, 0 insertions, 72 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/cli/CommandMode.java b/BJC-Utils2/src/main/java/bjc/utils/cli/CommandMode.java
deleted file mode 100644
index 39c72fc..0000000
--- a/BJC-Utils2/src/main/java/bjc/utils/cli/CommandMode.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package bjc.utils.cli;
-
-/**
- * A mode for determining the commands that are valid to enter, and then
- * handling those commands
- *
- * @author ben
- *
- */
-public interface CommandMode extends Comparable<CommandMode> {
- /**
- * Check to see if this mode can handle the specified command
- *
- * @param command
- * The command to check
- * @return Whether or not this mode can handle the command. It is
- * assumed not by default
- */
- default boolean canHandle(final String command) {
- return false;
- };
-
- /**
- * Get the custom prompt for this mode
- *
- * @return the custom prompt for this mode
- *
- * @throws UnsupportedOperationException
- * if this mode doesn't support a custom prompt
- */
- default String getCustomPrompt() {
- throw new UnsupportedOperationException("This mode doesn't support a custom prompt");
- }
-
- /**
- * Get the name of this command mode
- *
- * @return The name of this command mode, which is the empty string by
- * default
- */
- public default String getName() {
- return "";
- }
-
- /**
- * Check if this mode uses a custom prompt
- *
- * @return Whether or not this mode uses a custom prompt
- */
- default boolean isCustomPromptEnabled() {
- return false;
- }
-
- /**
- * Process a command in this mode
- *
- * @param command
- * The command to process
- * @param args
- * A list of arguments to the command
- * @return The command mode to use for the next command. Defaults to
- * returning this, and doing nothing else
- */
- default CommandMode process(final String command, final String[] args) {
- return this;
- }
-
- @Override
- default int compareTo(final CommandMode o) {
- return getName().compareTo(o.getName());
- }
-}