From 1a6e74d05dffb9c7841d1112cd82b9df347f9e3b Mon Sep 17 00:00:00 2001 From: mathias Date: Sun, 3 Oct 2021 18:56:18 +0200 Subject: [PATCH] Integrated the UsageHandler into the SimpleAutoResponder --- .../autoresponder/SimpleAutoResponder.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/java/de/gnmyt/autoresponder/SimpleAutoResponder.java b/src/main/java/de/gnmyt/autoresponder/SimpleAutoResponder.java index 53adbe0..482fd6f 100644 --- a/src/main/java/de/gnmyt/autoresponder/SimpleAutoResponder.java +++ b/src/main/java/de/gnmyt/autoresponder/SimpleAutoResponder.java @@ -6,6 +6,8 @@ import de.gnmyt.autoresponder.authentication.AuthenticationDetails; import de.gnmyt.autoresponder.authentication.ResponderAuthentication; import de.gnmyt.autoresponder.commands.ResponderCommand; import de.gnmyt.autoresponder.commands.annotations.CommandInfo; +import de.gnmyt.autoresponder.commands.usage.handler.SimpleUsageErrorHandler; +import de.gnmyt.autoresponder.commands.usage.handler.UsageHandler; import de.gnmyt.autoresponder.event.api.EventManager; import de.gnmyt.autoresponder.event.api.Listener; import de.gnmyt.autoresponder.exceptions.ResponderException; @@ -29,12 +31,14 @@ public class SimpleAutoResponder { private AuthenticationDetails authenticationDetails; private NotFoundHandler notFoundHandler = new SendNothingHandler(); + private UsageHandler usageHandler = new SimpleUsageErrorHandler(); private final ArrayList commands = new ArrayList<>(); private int port = 8025; private String prefix = "/"; + /** * Starts the auto responder server * @@ -117,6 +121,19 @@ public class SimpleAutoResponder { return this; } + /** + * Sets the command usage handler of the {@link SimpleAutoResponder}. + *

+ * It executes whenever the usage could not be processed + * + * @param usageHandler The new "command usage handler" + * @return the current {@link SimpleAutoResponder} instance + */ + public SimpleAutoResponder useCommandUsageHandler(UsageHandler usageHandler) { + this.usageHandler = usageHandler; + return this; + } + /** * Gets the port of the webserver * @@ -174,6 +191,15 @@ public class SimpleAutoResponder { return notFoundHandler; } + /** + * Gets the command usage handler which executes whenever the usage could not be processed + * + * @return the command usage handler + */ + public UsageHandler getUsageHandler() { + return usageHandler; + } + /** * Gets all registered commands *