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.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<ResponderCommand> 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}.
* <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
*
@ -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
*