Adjusted formatter to new Envoy version

This commit is contained in:
delvh 2020-07-23 15:36:23 +02:00
parent 34036d275a
commit 74aa00235e
No known key found for this signature in database
GPG Key ID: 42B77E634CE94D82
6 changed files with 28 additions and 26 deletions

File diff suppressed because one or more lines are too long

View File

@ -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; }
}

View File

@ -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; }
}

View File

@ -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