Integrated the UsageHandler into the SimpleAutoResponder

This commit is contained in:
mathias 2021-10-03 18:56:18 +02:00
parent 23b158c1eb
commit 1a6e74d05d
No known key found for this signature in database
GPG Key ID: 8950DF62139C852A

View File

@ -6,6 +6,8 @@ import de.gnmyt.autoresponder.authentication.AuthenticationDetails;
import de.gnmyt.autoresponder.authentication.ResponderAuthentication; import de.gnmyt.autoresponder.authentication.ResponderAuthentication;
import de.gnmyt.autoresponder.commands.ResponderCommand; import de.gnmyt.autoresponder.commands.ResponderCommand;
import de.gnmyt.autoresponder.commands.annotations.CommandInfo; 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.EventManager;
import de.gnmyt.autoresponder.event.api.Listener; import de.gnmyt.autoresponder.event.api.Listener;
import de.gnmyt.autoresponder.exceptions.ResponderException; import de.gnmyt.autoresponder.exceptions.ResponderException;
@ -29,12 +31,14 @@ public class SimpleAutoResponder {
private AuthenticationDetails authenticationDetails; private AuthenticationDetails authenticationDetails;
private NotFoundHandler notFoundHandler = new SendNothingHandler(); private NotFoundHandler notFoundHandler = new SendNothingHandler();
private UsageHandler usageHandler = new SimpleUsageErrorHandler();
private final ArrayList<ResponderCommand> commands = new ArrayList<>(); private final ArrayList<ResponderCommand> commands = new ArrayList<>();
private int port = 8025; private int port = 8025;
private String prefix = "/"; private String prefix = "/";
/** /**
* Starts the auto responder server * Starts the auto responder server
* *
@ -117,6 +121,19 @@ public class SimpleAutoResponder {
return this; return this;
} }
/**
* Sets the command usage handler of the {@link SimpleAutoResponder}.
* <p>
* 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 * Gets the port of the webserver
* *
@ -174,6 +191,15 @@ public class SimpleAutoResponder {
return notFoundHandler; 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 * Gets all registered commands
* *