Adjusted formatter to new Envoy version
This commit is contained in:
parent
38c57c997f
commit
f1856534c6
File diff suppressed because one or more lines are too long
@ -18,7 +18,7 @@ import java.util.function.Function;
|
||||
* Created: <strong>16.07.2020</strong><br>
|
||||
*
|
||||
* @author Leon Hofmeister
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public final class SystemCommand {
|
||||
|
||||
@ -46,7 +46,7 @@ public final class SystemCommand {
|
||||
* @param numberOfArguments the amount of arguments that need to be parsed for
|
||||
* the underlying function
|
||||
* @param description the description of this {@code SystemCommand}
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public SystemCommand(Function<String[], Void> action, int numberOfArguments, String description) {
|
||||
this.numberOfArguments = numberOfArguments;
|
||||
@ -56,20 +56,20 @@ public final class SystemCommand {
|
||||
|
||||
/**
|
||||
* @return the action that should be performed
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public Function<String[], Void> getAction() { return action; }
|
||||
|
||||
/**
|
||||
* @return the amount of arguments that need to be parsed for
|
||||
* the underlying function
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public int getNumberOfArguments() { return numberOfArguments; }
|
||||
|
||||
/**
|
||||
* @return the description
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public String getDescription() { return description; }
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package envoy.client.data.commands;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -16,9 +17,7 @@ import envoy.util.EnvoyLog;
|
||||
* Created: <strong>17.07.2020</strong><br>
|
||||
*
|
||||
* @author Leon Hofmeister
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @apiNote Please refrain from using the "/"-char in keys of this map.
|
||||
* Unexpected behavior will occur.
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public class SystemCommandsMap {
|
||||
|
||||
@ -26,6 +25,8 @@ public class SystemCommandsMap {
|
||||
|
||||
private final Pattern commandBounds = Pattern.compile("^[a-zA-Z0-9_:!\\(\\)\\?\\.\\,\\;\\-]+$");
|
||||
|
||||
private static final Logger logger = EnvoyLog.getLogger(SystemCommandsMap.class);
|
||||
|
||||
private boolean commandExecuted = false;
|
||||
|
||||
/**
|
||||
@ -38,7 +39,7 @@ public class SystemCommandsMap {
|
||||
* @param numberOfArguments the amount of arguments that need to be parsed for
|
||||
* the underlying function
|
||||
* @see SystemCommandsMap#isValidKey(String)
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void addCommand(String command, Function<String[], Void> action, int numberOfArguments) {
|
||||
if (isValidKey(command)) systemCommands.put(command, new SystemCommand(action, numberOfArguments, ""));
|
||||
@ -56,7 +57,7 @@ public class SystemCommandsMap {
|
||||
* the underlying function
|
||||
* @param description the description of this {@link SystemCommand}
|
||||
* @see SystemCommandsMap#isValidKey(String)
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void addCommand(String command, Function<String[], Void> action, int numberOfArguments, String description) {
|
||||
if (isValidKey(command)) systemCommands.put(command, new SystemCommand(action, numberOfArguments, description));
|
||||
@ -70,7 +71,7 @@ public class SystemCommandsMap {
|
||||
* @param action the action that should be performed. To see why this Function
|
||||
* takes a {@code String[]}, see {@link SystemCommand}
|
||||
* @see SystemCommandsMap#isValidKey(String)
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void addNoArgCommand(String command, Function<String[], Void> action) { addCommand(command, action, 0); }
|
||||
|
||||
@ -86,7 +87,7 @@ public class SystemCommandsMap {
|
||||
* {@link SystemCommand}
|
||||
* @param description the description of this {@link SystemCommand}
|
||||
* @see SystemCommandsMap#isValidKey(String)
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void addNoArgCommand(String command, Function<String[], Void> action, String description) { addCommand(command, action, 0); }
|
||||
|
||||
@ -105,7 +106,7 @@ public class SystemCommandsMap {
|
||||
* @param numberOfArguments the amount of arguments that need to be parsed for
|
||||
* the underlying function
|
||||
* @see SystemCommandsMap#isValidKey(String)
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void add(String command, Function<String[], Void> action, int numberOfArguments) { addCommand(command, action, numberOfArguments); }
|
||||
|
||||
@ -121,7 +122,7 @@ public class SystemCommandsMap {
|
||||
*
|
||||
* @param command the key to examine
|
||||
* @return whether this key can be used in the map
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public final boolean isValidKey(String command) {
|
||||
final boolean valid = commandBounds.matcher(command).matches();
|
||||
@ -150,7 +151,7 @@ public class SystemCommandsMap {
|
||||
*
|
||||
* @param input the input string given by the user, <b>excluding the "/"</b>
|
||||
* @return the wrapped system command, if present
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public Optional<SystemCommand> checkPresent(String input) {
|
||||
final var firstWord = input.substring(0, input.indexOf(" "));
|
||||
@ -165,7 +166,7 @@ public class SystemCommandsMap {
|
||||
* continued.
|
||||
*
|
||||
* @param raw the raw input string
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void checkForCommands(String raw) { checkForCommands(raw, 0); }
|
||||
|
||||
@ -179,7 +180,7 @@ public class SystemCommandsMap {
|
||||
*
|
||||
* @param raw the raw input string
|
||||
* @param fromIndex the index to start checking on
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void checkForCommands(String raw, int fromIndex) {
|
||||
// The minimum length of a command is "/" + a letter, hence raw.length()-2 is
|
||||
@ -215,7 +216,7 @@ public class SystemCommandsMap {
|
||||
* result: {@code button.getText()=="xyz"}
|
||||
*
|
||||
* @param input the input string given by the user, <b>excluding the "/"</b>
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void executeIfPresent(String input) {
|
||||
checkPresent(input).ifPresent(systemCommand -> {
|
||||
@ -231,7 +232,7 @@ public class SystemCommandsMap {
|
||||
systemCommand.getAction().apply(arguments);
|
||||
commandExecuted = true;
|
||||
} catch (final Exception e) {
|
||||
EnvoyLog.getLogger(SystemCommandsMap.class).log(Level.WARNING, "The system command " +
|
||||
logger.log(Level.WARNING, "The system command " +
|
||||
// detected command
|
||||
input.substring(0, input.indexOf(" ")) + " threw an exception: ", e);
|
||||
}
|
||||
@ -248,7 +249,7 @@ public class SystemCommandsMap {
|
||||
* @param input the input
|
||||
* @param action the action that should be taken for the recommendations, if any
|
||||
* are present
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public void requestRecommendations(String input, Function<Set<String>, Void> action) { requestRecommendations(input, 0, action); }
|
||||
|
||||
@ -263,7 +264,7 @@ public class SystemCommandsMap {
|
||||
* @param fromIndex the index to start checking on
|
||||
* @param action the action that should be taken for the recommendations, if
|
||||
* any are present
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
private void requestRecommendations(String input, int fromIndex, Function<Set<String>, Void> action) {
|
||||
final var partialCommand = input.substring(fromIndex + (input.charAt(fromIndex) == '/' ? 1 : 0), input.indexOf(" "));
|
||||
@ -281,6 +282,7 @@ public class SystemCommandsMap {
|
||||
*
|
||||
* @param partialCommand the partially entered command
|
||||
* @return a set of all commands that match this input
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
private Set<String> recommendCommands(String partialCommand) {
|
||||
// current implementation only looks if input is contained within a command,
|
||||
@ -290,7 +292,7 @@ public class SystemCommandsMap {
|
||||
|
||||
/**
|
||||
* @return all {@link SystemCommand}s used with the underlying command as key
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
public HashMap<String, SystemCommand> getSystemCommands() { return systemCommands; }
|
||||
}
|
||||
|
@ -7,6 +7,6 @@
|
||||
* Created: <strong>16.07.2020</strong><br>
|
||||
*
|
||||
* @author Leon Hofmeister
|
||||
* @since Envoy Client v0.1-beta
|
||||
* @since Envoy Client v0.2-beta
|
||||
*/
|
||||
package envoy.client.data.commands;
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user