🎨 @Annotation final -> final @Annotation
This commit is contained in:
parent
a6b98ca278
commit
7f013124b2
113 changed files with 844 additions and 842 deletions
|
|
@ -73,11 +73,11 @@ public class Command<C> {
|
|||
* @param commandPermission Command permission
|
||||
* @param commandMeta Command meta instance
|
||||
*/
|
||||
public Command(@NonNull final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
|
||||
@NonNull final CommandExecutionHandler<@NonNull C> commandExecutionHandler,
|
||||
@Nullable final Class<? extends C> senderType,
|
||||
@NonNull final CommandPermission commandPermission,
|
||||
@NonNull final CommandMeta commandMeta) {
|
||||
public Command(final @NonNull Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
|
||||
final @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler,
|
||||
final @Nullable Class<? extends C> senderType,
|
||||
final @NonNull CommandPermission commandPermission,
|
||||
final @NonNull CommandMeta commandMeta) {
|
||||
this.arguments = Objects.requireNonNull(commandArguments, "Command arguments may not be null");
|
||||
if (this.arguments.size() == 0) {
|
||||
throw new IllegalArgumentException("At least one command argument is required");
|
||||
|
|
@ -110,10 +110,10 @@ public class Command<C> {
|
|||
* @param senderType Required sender type. May be {@code null}
|
||||
* @param commandMeta Command meta instance
|
||||
*/
|
||||
public Command(@NonNull final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
|
||||
@NonNull final CommandExecutionHandler<@NonNull C> commandExecutionHandler,
|
||||
@Nullable final Class<? extends C> senderType,
|
||||
@NonNull final CommandMeta commandMeta) {
|
||||
public Command(final @NonNull Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
|
||||
final @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler,
|
||||
final @Nullable Class<? extends C> senderType,
|
||||
final @NonNull CommandMeta commandMeta) {
|
||||
this(commandArguments, commandExecutionHandler, senderType, Permission.empty(), commandMeta);
|
||||
}
|
||||
|
||||
|
|
@ -125,10 +125,10 @@ public class Command<C> {
|
|||
* @param commandPermission Command permission
|
||||
* @param commandMeta Command meta instance
|
||||
*/
|
||||
public Command(@NonNull final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
|
||||
@NonNull final CommandExecutionHandler<@NonNull C> commandExecutionHandler,
|
||||
@NonNull final CommandPermission commandPermission,
|
||||
@NonNull final CommandMeta commandMeta) {
|
||||
public Command(final @NonNull Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
|
||||
final @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler,
|
||||
final @NonNull CommandPermission commandPermission,
|
||||
final @NonNull CommandMeta commandMeta) {
|
||||
this(commandArguments, commandExecutionHandler, null, commandPermission, commandMeta);
|
||||
}
|
||||
|
||||
|
|
@ -143,10 +143,10 @@ public class Command<C> {
|
|||
* @param <C> Command sender type
|
||||
* @return Command builder
|
||||
*/
|
||||
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String commandName,
|
||||
@NonNull final CommandMeta commandMeta,
|
||||
@NonNull final Description description,
|
||||
@NonNull final String... aliases) {
|
||||
public static <C> @NonNull Builder<C> newBuilder(final @NonNull String commandName,
|
||||
final @NonNull CommandMeta commandMeta,
|
||||
final @NonNull Description description,
|
||||
final @NonNull String... aliases) {
|
||||
final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> map = new LinkedHashMap<>();
|
||||
map.put(StaticArgument.of(commandName, aliases), description);
|
||||
return new Builder<>(null,
|
||||
|
|
@ -168,9 +168,9 @@ public class Command<C> {
|
|||
* @param <C> Command sender type
|
||||
* @return Command builder
|
||||
*/
|
||||
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String commandName,
|
||||
@NonNull final CommandMeta commandMeta,
|
||||
@NonNull final String... aliases) {
|
||||
public static <C> @NonNull Builder<C> newBuilder(final @NonNull String commandName,
|
||||
final @NonNull CommandMeta commandMeta,
|
||||
final @NonNull String... aliases) {
|
||||
final Map<CommandArgument<C, ?>, Description> map = new LinkedHashMap<>();
|
||||
map.put(StaticArgument.of(commandName, aliases), Description.empty());
|
||||
return new Builder<>(null,
|
||||
|
|
@ -233,7 +233,7 @@ public class Command<C> {
|
|||
* @param argument Argument
|
||||
* @return Argument description
|
||||
*/
|
||||
public @NonNull String getArgumentDescription(@NonNull final CommandArgument<C, ?> argument) {
|
||||
public @NonNull String getArgumentDescription(final @NonNull CommandArgument<C, ?> argument) {
|
||||
return this.arguments.get(argument).getDescription();
|
||||
}
|
||||
|
||||
|
|
@ -273,13 +273,13 @@ public class Command<C> {
|
|||
private final CommandManager<C> commandManager;
|
||||
private final Collection<CommandFlag<?>> flags;
|
||||
|
||||
private Builder(@Nullable final CommandManager<C> commandManager,
|
||||
@NonNull final CommandMeta commandMeta,
|
||||
@Nullable final Class<? extends C> senderType,
|
||||
@NonNull final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
|
||||
@NonNull final CommandExecutionHandler<@NonNull C> commandExecutionHandler,
|
||||
@NonNull final CommandPermission commandPermission,
|
||||
@NonNull final Collection<CommandFlag<?>> flags) {
|
||||
private Builder(final @Nullable CommandManager<C> commandManager,
|
||||
final @NonNull CommandMeta commandMeta,
|
||||
final @Nullable Class<? extends C> senderType,
|
||||
final @NonNull Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
|
||||
final @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler,
|
||||
final @NonNull CommandPermission commandPermission,
|
||||
final @NonNull Collection<CommandFlag<?>> flags) {
|
||||
this.commandManager = commandManager;
|
||||
this.senderType = senderType;
|
||||
this.commandArguments = Objects.requireNonNull(commandArguments, "Arguments may not be null");
|
||||
|
|
@ -296,7 +296,7 @@ public class Command<C> {
|
|||
* @param value Meta value
|
||||
* @return New builder instance using the inserted meta key-value pair
|
||||
*/
|
||||
public @NonNull Builder<C> meta(@NonNull final String key, @NonNull final String value) {
|
||||
public @NonNull Builder<C> meta(final @NonNull String key, final @NonNull String value) {
|
||||
final CommandMeta commandMeta = SimpleCommandMeta.builder().with(this.commandMeta).with(key, value).build();
|
||||
return new Builder<>(this.commandManager,
|
||||
commandMeta,
|
||||
|
|
@ -315,7 +315,7 @@ public class Command<C> {
|
|||
* @param commandManager Command manager
|
||||
* @return New builder instance using the provided command manager
|
||||
*/
|
||||
public @NonNull Builder<C> manager(@Nullable final CommandManager<C> commandManager) {
|
||||
public @NonNull Builder<C> manager(final @Nullable CommandManager<C> commandManager) {
|
||||
return new Builder<>(commandManager,
|
||||
this.commandMeta,
|
||||
this.senderType,
|
||||
|
|
@ -332,8 +332,8 @@ public class Command<C> {
|
|||
* @param aliases Argument aliases
|
||||
* @return New builder instance with the modified command chain
|
||||
*/
|
||||
public @NonNull Builder<C> literal(@NonNull final String main,
|
||||
@NonNull final String... aliases) {
|
||||
public @NonNull Builder<C> literal(final @NonNull String main,
|
||||
final @NonNull String... aliases) {
|
||||
return this.argument(StaticArgument.of(main, aliases));
|
||||
}
|
||||
|
||||
|
|
@ -345,9 +345,9 @@ public class Command<C> {
|
|||
* @param aliases Argument aliases
|
||||
* @return New builder instance with the modified command chain
|
||||
*/
|
||||
public @NonNull Builder<C> literal(@NonNull final String main,
|
||||
@NonNull final Description description,
|
||||
@NonNull final String... aliases) {
|
||||
public @NonNull Builder<C> literal(final @NonNull String main,
|
||||
final @NonNull Description description,
|
||||
final @NonNull String... aliases) {
|
||||
return this.argument(StaticArgument.of(main, aliases), description);
|
||||
}
|
||||
|
||||
|
|
@ -370,7 +370,7 @@ public class Command<C> {
|
|||
* @param <T> Argument type
|
||||
* @return New builder instance with the command argument inserted into the argument list
|
||||
*/
|
||||
public <T> @NonNull Builder<C> argument(@NonNull final CommandArgument<C, T> argument) {
|
||||
public <T> @NonNull Builder<C> argument(final @NonNull CommandArgument<C, T> argument) {
|
||||
return this.argument(argument, Description.empty());
|
||||
}
|
||||
|
||||
|
|
@ -382,8 +382,8 @@ public class Command<C> {
|
|||
* @param <T> Argument type
|
||||
* @return New builder instance with the command argument inserted into the argument list
|
||||
*/
|
||||
public <T> @NonNull Builder<C> argument(@NonNull final CommandArgument<C, T> argument,
|
||||
@NonNull final Description description) {
|
||||
public <T> @NonNull Builder<C> argument(final @NonNull CommandArgument<C, T> argument,
|
||||
final @NonNull Description description) {
|
||||
final Map<CommandArgument<C, ?>, Description> commandArgumentMap = new LinkedHashMap<>(this.commandArguments);
|
||||
commandArgumentMap.put(argument, description);
|
||||
return new Builder<>(this.commandManager,
|
||||
|
|
@ -405,7 +405,7 @@ public class Command<C> {
|
|||
* @return New builder instance with the command argument inserted into the argument list
|
||||
*/
|
||||
public <T> @NonNull Builder<C> argument(final CommandArgument.@NonNull Builder<C, T> builder,
|
||||
@NonNull final Description description) {
|
||||
final @NonNull Description description) {
|
||||
final Map<CommandArgument<C, ?>, Description> commandArgumentMap = new LinkedHashMap<>(this.commandArguments);
|
||||
commandArgumentMap.put(builder.build(), description);
|
||||
return new Builder<>(this.commandManager,
|
||||
|
|
@ -426,9 +426,9 @@ public class Command<C> {
|
|||
* @param <T> Argument type
|
||||
* @return New builder instance with the command argument inserted into the argument list
|
||||
*/
|
||||
public <T> @NonNull Builder<C> argument(@NonNull final Class<T> clazz,
|
||||
@NonNull final String name,
|
||||
@NonNull final Consumer<CommandArgument.Builder<C, T>> builderConsumer) {
|
||||
public <T> @NonNull Builder<C> argument(final @NonNull Class<T> clazz,
|
||||
final @NonNull String name,
|
||||
final @NonNull Consumer<CommandArgument.Builder<C, T>> builderConsumer) {
|
||||
final CommandArgument.Builder<C, T> builder = CommandArgument.ofType(clazz, name);
|
||||
if (this.commandManager != null) {
|
||||
builder.manager(this.commandManager);
|
||||
|
|
@ -456,10 +456,10 @@ public class Command<C> {
|
|||
* @param <V> Second type
|
||||
* @return Builder instance with the argument inserted
|
||||
*/
|
||||
public <U, V> @NonNull Builder<C> argumentPair(@NonNull final String name,
|
||||
@NonNull final Pair<@NonNull String, @NonNull String> names,
|
||||
@NonNull final Pair<@NonNull Class<U>, @NonNull Class<V>> parserPair,
|
||||
@NonNull final Description description) {
|
||||
public <U, V> @NonNull Builder<C> argumentPair(final @NonNull String name,
|
||||
final @NonNull Pair<@NonNull String, @NonNull String> names,
|
||||
final @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> parserPair,
|
||||
final @NonNull Description description) {
|
||||
if (this.commandManager == null) {
|
||||
throw new IllegalStateException("This cannot be called from a command that has no command manager attached");
|
||||
}
|
||||
|
|
@ -486,12 +486,12 @@ public class Command<C> {
|
|||
* @param <O> Output type
|
||||
* @return Builder instance with the argument inserted
|
||||
*/
|
||||
public <U, V, O> @NonNull Builder<C> argumentPair(@NonNull final String name,
|
||||
@NonNull final TypeToken<O> outputType,
|
||||
@NonNull final Pair<String, String> names,
|
||||
@NonNull final Pair<Class<U>, Class<V>> parserPair,
|
||||
@NonNull final Function<Pair<U, V>, O> mapper,
|
||||
@NonNull final Description description) {
|
||||
public <U, V, O> @NonNull Builder<C> argumentPair(final @NonNull String name,
|
||||
final @NonNull TypeToken<O> outputType,
|
||||
final @NonNull Pair<String, String> names,
|
||||
final @NonNull Pair<Class<U>, Class<V>> parserPair,
|
||||
final @NonNull Function<Pair<U, V>, O> mapper,
|
||||
final @NonNull Description description) {
|
||||
if (this.commandManager == null) {
|
||||
throw new IllegalStateException("This cannot be called from a command that has no command manager attached");
|
||||
}
|
||||
|
|
@ -518,10 +518,10 @@ public class Command<C> {
|
|||
* @param <W> Third type
|
||||
* @return Builder instance with the argument inserted
|
||||
*/
|
||||
public <U, V, W> @NonNull Builder<C> argumentTriplet(@NonNull final String name,
|
||||
@NonNull final Triplet<String, String, String> names,
|
||||
@NonNull final Triplet<Class<U>, Class<V>, Class<W>> parserTriplet,
|
||||
@NonNull final Description description) {
|
||||
public <U, V, W> @NonNull Builder<C> argumentTriplet(final @NonNull String name,
|
||||
final @NonNull Triplet<String, String, String> names,
|
||||
final @NonNull Triplet<Class<U>, Class<V>, Class<W>> parserTriplet,
|
||||
final @NonNull Description description) {
|
||||
if (this.commandManager == null) {
|
||||
throw new IllegalStateException("This cannot be called from a command that has no command manager attached");
|
||||
}
|
||||
|
|
@ -549,13 +549,13 @@ public class Command<C> {
|
|||
* @param <O> Output type
|
||||
* @return Builder instance with the argument inserted
|
||||
*/
|
||||
public <U, V, W, O> @NonNull Builder<C> argumentTriplet(@NonNull final String name,
|
||||
@NonNull final TypeToken<O> outputType,
|
||||
@NonNull final Triplet<String, String, String> names,
|
||||
@NonNull final Triplet<Class<U>, Class<V>,
|
||||
public <U, V, W, O> @NonNull Builder<C> argumentTriplet(final @NonNull String name,
|
||||
final @NonNull TypeToken<O> outputType,
|
||||
final @NonNull Triplet<String, String, String> names,
|
||||
final @NonNull Triplet<Class<U>, Class<V>,
|
||||
Class<W>> parserTriplet,
|
||||
@NonNull final Function<Triplet<U, V, W>, O> mapper,
|
||||
@NonNull final Description description) {
|
||||
final @NonNull Function<Triplet<U, V, W>, O> mapper,
|
||||
final @NonNull Description description) {
|
||||
if (this.commandManager == null) {
|
||||
throw new IllegalStateException("This cannot be called from a command that has no command manager attached");
|
||||
}
|
||||
|
|
@ -572,7 +572,7 @@ public class Command<C> {
|
|||
* @param commandExecutionHandler New execution handler
|
||||
* @return New builder instance using the command execution handler
|
||||
*/
|
||||
public @NonNull Builder<C> handler(@NonNull final CommandExecutionHandler<C> commandExecutionHandler) {
|
||||
public @NonNull Builder<C> handler(final @NonNull CommandExecutionHandler<C> commandExecutionHandler) {
|
||||
return new Builder<>(this.commandManager,
|
||||
this.commandMeta,
|
||||
this.senderType,
|
||||
|
|
@ -588,7 +588,7 @@ public class Command<C> {
|
|||
* @param senderType Required sender type
|
||||
* @return New builder instance using the command execution handler
|
||||
*/
|
||||
public @NonNull Builder<C> withSenderType(@NonNull final Class<? extends C> senderType) {
|
||||
public @NonNull Builder<C> withSenderType(final @NonNull Class<? extends C> senderType) {
|
||||
return new Builder<>(this.commandManager,
|
||||
this.commandMeta,
|
||||
senderType,
|
||||
|
|
@ -604,7 +604,7 @@ public class Command<C> {
|
|||
* @param permission Command permission
|
||||
* @return New builder instance using the command permission
|
||||
*/
|
||||
public @NonNull Builder<C> withPermission(@NonNull final CommandPermission permission) {
|
||||
public @NonNull Builder<C> withPermission(final @NonNull CommandPermission permission) {
|
||||
return new Builder<>(this.commandManager,
|
||||
this.commandMeta,
|
||||
this.senderType,
|
||||
|
|
@ -620,7 +620,7 @@ public class Command<C> {
|
|||
* @param permission Command permission
|
||||
* @return New builder instance using the command permission
|
||||
*/
|
||||
public @NonNull Builder<C> withPermission(@NonNull final String permission) {
|
||||
public @NonNull Builder<C> withPermission(final @NonNull String permission) {
|
||||
return new Builder<>(this.commandManager,
|
||||
this.commandMeta,
|
||||
this.senderType,
|
||||
|
|
@ -641,7 +641,7 @@ public class Command<C> {
|
|||
* @param command Command to proxy
|
||||
* @return New builder that proxies the given command
|
||||
*/
|
||||
public @NonNull Builder<C> proxies(@NonNull final Command<C> command) {
|
||||
public @NonNull Builder<C> proxies(final @NonNull Command<C> command) {
|
||||
Builder<C> builder = this;
|
||||
for (final CommandArgument<C, ?> argument : command.getArguments()) {
|
||||
if (argument instanceof StaticArgument) {
|
||||
|
|
@ -673,7 +673,7 @@ public class Command<C> {
|
|||
* @param <T> Flag value type
|
||||
* @return New builder instance that uses the provided flag
|
||||
*/
|
||||
public @NonNull <T> Builder<C> flag(@NonNull final CommandFlag<T> flag) {
|
||||
public @NonNull <T> Builder<C> flag(final @NonNull CommandFlag<T> flag) {
|
||||
final List<CommandFlag<?>> flags = new ArrayList<>(this.flags);
|
||||
flags.add(flag);
|
||||
return new Builder<>(this.commandManager,
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class CommandHelpHandler<C> {
|
|||
|
||||
private final CommandManager<C> commandManager;
|
||||
|
||||
CommandHelpHandler(@NonNull final CommandManager<C> commandManager) {
|
||||
CommandHelpHandler(final @NonNull CommandManager<C> commandManager) {
|
||||
this.commandManager = commandManager;
|
||||
}
|
||||
|
||||
|
|
@ -89,9 +89,9 @@ public final class CommandHelpHandler<C> {
|
|||
private final String syntaxString;
|
||||
private final String description;
|
||||
|
||||
private VerboseHelpEntry(@NonNull final Command<C> command,
|
||||
@NonNull final String syntaxString,
|
||||
@NonNull final String description) {
|
||||
private VerboseHelpEntry(final @NonNull Command<C> command,
|
||||
final @NonNull String syntaxString,
|
||||
final @NonNull String description) {
|
||||
this.command = command;
|
||||
this.syntaxString = syntaxString;
|
||||
this.description = description;
|
||||
|
|
@ -131,7 +131,7 @@ public final class CommandHelpHandler<C> {
|
|||
* @param query Query string
|
||||
* @return Help topic, will return an empty {@link IndexHelpTopic} if no results were found
|
||||
*/
|
||||
public @NonNull HelpTopic<C> queryHelp(@NonNull final String query) {
|
||||
public @NonNull HelpTopic<C> queryHelp(final @NonNull String query) {
|
||||
if (query.replace(" ", "").isEmpty()) {
|
||||
return new IndexHelpTopic<>(this.getAllCommands());
|
||||
}
|
||||
|
|
@ -261,7 +261,7 @@ public final class CommandHelpHandler<C> {
|
|||
|
||||
private final List<VerboseHelpEntry<C>> entries;
|
||||
|
||||
private IndexHelpTopic(@NonNull final List<@NonNull VerboseHelpEntry<C>> entries) {
|
||||
private IndexHelpTopic(final @NonNull List<@NonNull VerboseHelpEntry<C>> entries) {
|
||||
this.entries = entries;
|
||||
}
|
||||
|
||||
|
|
@ -296,7 +296,7 @@ public final class CommandHelpHandler<C> {
|
|||
private final Command<C> command;
|
||||
private final String description;
|
||||
|
||||
private VerboseHelpTopic(@NonNull final Command<C> command) {
|
||||
private VerboseHelpTopic(final @NonNull Command<C> command) {
|
||||
this.command = command;
|
||||
final String shortDescription = command.getCommandMeta().getOrDefault("description", "No description");
|
||||
this.description = command.getCommandMeta().getOrDefault("long-description", shortDescription);
|
||||
|
|
@ -333,8 +333,8 @@ public final class CommandHelpHandler<C> {
|
|||
private final String longestPath;
|
||||
private final List<String> childSuggestions;
|
||||
|
||||
private MultiHelpTopic(@NonNull final String longestPath,
|
||||
@NonNull final List<@NonNull String> childSuggestions) {
|
||||
private MultiHelpTopic(final @NonNull String longestPath,
|
||||
final @NonNull List<@NonNull String> childSuggestions) {
|
||||
this.longestPath = longestPath;
|
||||
this.childSuggestions = childSuggestions;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,8 +97,8 @@ public abstract class CommandManager<C> {
|
|||
* @param commandRegistrationHandler Command registration handler
|
||||
*/
|
||||
public CommandManager(
|
||||
@NonNull final Function<@NonNull CommandTree<C>, @NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
|
||||
@NonNull final CommandRegistrationHandler commandRegistrationHandler) {
|
||||
final @NonNull Function<@NonNull CommandTree<C>, @NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
|
||||
final @NonNull CommandRegistrationHandler commandRegistrationHandler) {
|
||||
this.commandTree = CommandTree.newTree(this);
|
||||
this.commandExecutionCoordinator = commandExecutionCoordinator.apply(commandTree);
|
||||
this.commandRegistrationHandler = commandRegistrationHandler;
|
||||
|
|
@ -114,7 +114,7 @@ public abstract class CommandManager<C> {
|
|||
* @param input Input string
|
||||
* @return List of tokens
|
||||
*/
|
||||
public static @NonNull LinkedList<@NonNull String> tokenize(@NonNull final String input) {
|
||||
public static @NonNull LinkedList<@NonNull String> tokenize(final @NonNull String input) {
|
||||
final StringTokenizer stringTokenizer = new StringTokenizer(input, " ");
|
||||
final LinkedList<String> tokens = new LinkedList<>();
|
||||
while (stringTokenizer.hasMoreElements()) {
|
||||
|
|
@ -133,8 +133,8 @@ public abstract class CommandManager<C> {
|
|||
* @param input Input provided by the sender
|
||||
* @return Command result
|
||||
*/
|
||||
public @NonNull CompletableFuture<CommandResult<C>> executeCommand(@NonNull final C commandSender,
|
||||
@NonNull final String input) {
|
||||
public @NonNull CompletableFuture<CommandResult<C>> executeCommand(final @NonNull C commandSender,
|
||||
final @NonNull String input) {
|
||||
final CommandContext<C> context = this.commandContextFactory.create(false, commandSender);
|
||||
final LinkedList<String> inputQueue = tokenize(input);
|
||||
try {
|
||||
|
|
@ -158,8 +158,8 @@ public abstract class CommandManager<C> {
|
|||
* @param input Input provided by the sender
|
||||
* @return List of suggestions
|
||||
*/
|
||||
public @NonNull List<@NonNull String> suggest(@NonNull final C commandSender,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggest(final @NonNull C commandSender,
|
||||
final @NonNull String input) {
|
||||
final CommandContext<C> context = this.commandContextFactory.create(true, commandSender);
|
||||
final LinkedList<String> inputQueue = tokenize(input);
|
||||
if (this.preprocessContext(context, inputQueue) == State.ACCEPTED) {
|
||||
|
|
@ -177,7 +177,7 @@ public abstract class CommandManager<C> {
|
|||
* @param command Command to register
|
||||
* @return The command manager instance
|
||||
*/
|
||||
public @NonNull CommandManager<C> command(@NonNull final Command<C> command) {
|
||||
public @NonNull CommandManager<C> command(final @NonNull Command<C> command) {
|
||||
this.commandTree.insertCommand(command);
|
||||
this.commands.add(command);
|
||||
return this;
|
||||
|
|
@ -207,7 +207,7 @@ public abstract class CommandManager<C> {
|
|||
*
|
||||
* @param commandSyntaxFormatter New formatter
|
||||
*/
|
||||
public void setCommandSyntaxFormatter(@NonNull final CommandSyntaxFormatter<C> commandSyntaxFormatter) {
|
||||
public void setCommandSyntaxFormatter(final @NonNull CommandSyntaxFormatter<C> commandSyntaxFormatter) {
|
||||
this.commandSyntaxFormatter = commandSyntaxFormatter;
|
||||
}
|
||||
|
||||
|
|
@ -220,7 +220,7 @@ public abstract class CommandManager<C> {
|
|||
return this.commandRegistrationHandler;
|
||||
}
|
||||
|
||||
protected final void setCommandRegistrationHandler(@NonNull final CommandRegistrationHandler commandRegistrationHandler) {
|
||||
protected final void setCommandRegistrationHandler(final @NonNull CommandRegistrationHandler commandRegistrationHandler) {
|
||||
this.commandRegistrationHandler = commandRegistrationHandler;
|
||||
}
|
||||
|
||||
|
|
@ -232,8 +232,8 @@ public abstract class CommandManager<C> {
|
|||
* @param permission Permission node
|
||||
* @return {@code true} if the sender has the permission, else {@code false}
|
||||
*/
|
||||
public boolean hasPermission(@NonNull final C sender,
|
||||
@NonNull final CommandPermission permission) {
|
||||
public boolean hasPermission(final @NonNull C sender,
|
||||
final @NonNull CommandPermission permission) {
|
||||
if (permission.toString().isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -270,10 +270,10 @@ public abstract class CommandManager<C> {
|
|||
* @param meta Command meta
|
||||
* @return Builder instance
|
||||
*/
|
||||
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name,
|
||||
@NonNull final Collection<String> aliases,
|
||||
@NonNull final Description description,
|
||||
@NonNull final CommandMeta meta) {
|
||||
public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
|
||||
final @NonNull Collection<String> aliases,
|
||||
final @NonNull Description description,
|
||||
final @NonNull CommandMeta meta) {
|
||||
return Command.newBuilder(name, meta, description, aliases.toArray(new String[0]));
|
||||
}
|
||||
|
||||
|
|
@ -285,9 +285,9 @@ public abstract class CommandManager<C> {
|
|||
* @param meta Command meta
|
||||
* @return Builder instance
|
||||
*/
|
||||
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name,
|
||||
@NonNull final Collection<String> aliases,
|
||||
@NonNull final CommandMeta meta) {
|
||||
public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
|
||||
final @NonNull Collection<String> aliases,
|
||||
final @NonNull CommandMeta meta) {
|
||||
return Command.newBuilder(name, meta, Description.empty(), aliases.toArray(new String[0]));
|
||||
}
|
||||
|
||||
|
|
@ -300,10 +300,10 @@ public abstract class CommandManager<C> {
|
|||
* @param aliases Command aliases
|
||||
* @return Builder instance
|
||||
*/
|
||||
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name,
|
||||
@NonNull final CommandMeta meta,
|
||||
@NonNull final Description description,
|
||||
@NonNull final String... aliases) {
|
||||
public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
|
||||
final @NonNull CommandMeta meta,
|
||||
final @NonNull Description description,
|
||||
final @NonNull String... aliases) {
|
||||
return Command.newBuilder(name, meta, description, aliases);
|
||||
}
|
||||
|
||||
|
|
@ -315,9 +315,9 @@ public abstract class CommandManager<C> {
|
|||
* @param aliases Command aliases
|
||||
* @return Builder instance
|
||||
*/
|
||||
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name,
|
||||
@NonNull final CommandMeta meta,
|
||||
@NonNull final String... aliases) {
|
||||
public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
|
||||
final @NonNull CommandMeta meta,
|
||||
final @NonNull String... aliases) {
|
||||
return Command.newBuilder(name, meta, Description.empty(), aliases);
|
||||
}
|
||||
|
||||
|
|
@ -331,9 +331,9 @@ public abstract class CommandManager<C> {
|
|||
* @throws UnsupportedOperationException If the command manager does not support default command meta creation
|
||||
* @see #createDefaultCommandMeta() Default command meta creation
|
||||
*/
|
||||
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name,
|
||||
@NonNull final Description description,
|
||||
@NonNull final String... aliases) {
|
||||
public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
|
||||
final @NonNull Description description,
|
||||
final @NonNull String... aliases) {
|
||||
return Command.<C>newBuilder(name, this.createDefaultCommandMeta(), description, aliases).manager(this);
|
||||
}
|
||||
|
||||
|
|
@ -346,8 +346,8 @@ public abstract class CommandManager<C> {
|
|||
* @throws UnsupportedOperationException If the command manager does not support default command meta creation
|
||||
* @see #createDefaultCommandMeta() Default command meta creation
|
||||
*/
|
||||
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name,
|
||||
@NonNull final String... aliases) {
|
||||
public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
|
||||
final @NonNull String... aliases) {
|
||||
return Command.<C>newBuilder(name, this.createDefaultCommandMeta(), Description.empty(), aliases).manager(this);
|
||||
}
|
||||
|
||||
|
|
@ -359,8 +359,8 @@ public abstract class CommandManager<C> {
|
|||
* @param <T> Generic argument name
|
||||
* @return Argument builder
|
||||
*/
|
||||
public <T> CommandArgument.@NonNull Builder<C, T> argumentBuilder(@NonNull final Class<T> type,
|
||||
@NonNull final String name) {
|
||||
public <T> CommandArgument.@NonNull Builder<C, T> argumentBuilder(final @NonNull Class<T> type,
|
||||
final @NonNull String name) {
|
||||
return CommandArgument.<C, T>ofType(type, name).manager(this);
|
||||
}
|
||||
|
||||
|
|
@ -370,7 +370,7 @@ public abstract class CommandManager<C> {
|
|||
* @param name Flag name
|
||||
* @return Flag builder
|
||||
*/
|
||||
public CommandFlag.@NonNull Builder<Void> flagBuilder(@NonNull final String name) {
|
||||
public CommandFlag.@NonNull Builder<Void> flagBuilder(final @NonNull String name) {
|
||||
return CommandFlag.<C>newBuilder(name);
|
||||
}
|
||||
|
||||
|
|
@ -399,7 +399,7 @@ public abstract class CommandManager<C> {
|
|||
* @param processor Processor to register
|
||||
* @see #preprocessContext(CommandContext, LinkedList) Preprocess a context
|
||||
*/
|
||||
public void registerCommandPreProcessor(@NonNull final CommandPreprocessor<C> processor) {
|
||||
public void registerCommandPreProcessor(final @NonNull CommandPreprocessor<C> processor) {
|
||||
this.servicePipeline.registerServiceImplementation(new TypeToken<CommandPreprocessor<C>>() {
|
||||
}, processor,
|
||||
Collections.emptyList());
|
||||
|
|
@ -412,7 +412,7 @@ public abstract class CommandManager<C> {
|
|||
* @param processor Processor to register
|
||||
* @see #preprocessContext(CommandContext, LinkedList) Preprocess a context
|
||||
*/
|
||||
public void registerCommandPostProcessor(@NonNull final CommandPostprocessor<C> processor) {
|
||||
public void registerCommandPostProcessor(final @NonNull CommandPostprocessor<C> processor) {
|
||||
this.servicePipeline.registerServiceImplementation(new TypeToken<CommandPostprocessor<C>>() {
|
||||
}, processor,
|
||||
Collections.emptyList());
|
||||
|
|
@ -426,8 +426,8 @@ public abstract class CommandManager<C> {
|
|||
* @return {@link State#ACCEPTED} if the command should be parsed and executed, else {@link State#REJECTED}
|
||||
* @see #registerCommandPreProcessor(CommandPreprocessor) Register a command preprocessor
|
||||
*/
|
||||
public State preprocessContext(@NonNull final CommandContext<C> context,
|
||||
@NonNull final LinkedList<@NonNull String> inputQueue) {
|
||||
public State preprocessContext(final @NonNull CommandContext<C> context,
|
||||
final @NonNull LinkedList<@NonNull String> inputQueue) {
|
||||
this.servicePipeline.pump(new CommandPreprocessingContext<>(context, inputQueue))
|
||||
.through(new TypeToken<CommandPreprocessor<C>>() {
|
||||
})
|
||||
|
|
@ -445,8 +445,8 @@ public abstract class CommandManager<C> {
|
|||
* @return {@link State#ACCEPTED} if the command should be parsed and executed, else {@link State#REJECTED}
|
||||
* @see #registerCommandPostProcessor(CommandPostprocessor) Register a command postprocessor
|
||||
*/
|
||||
public State postprocessContext(@NonNull final CommandContext<C> context,
|
||||
@NonNull final Command<C> command) {
|
||||
public State postprocessContext(final @NonNull CommandContext<C> context,
|
||||
final @NonNull Command<C> command) {
|
||||
this.servicePipeline.pump(new CommandPostprocessingContext<>(context, command))
|
||||
.through(new TypeToken<CommandPostprocessor<C>>() {
|
||||
})
|
||||
|
|
@ -473,7 +473,7 @@ public abstract class CommandManager<C> {
|
|||
*
|
||||
* @param commandSuggestionProcessor New command suggestions processor
|
||||
*/
|
||||
public void setCommandSuggestionProcessor(@NonNull final CommandSuggestionProcessor<C> commandSuggestionProcessor) {
|
||||
public void setCommandSuggestionProcessor(final @NonNull CommandSuggestionProcessor<C> commandSuggestionProcessor) {
|
||||
this.commandSuggestionProcessor = commandSuggestionProcessor;
|
||||
}
|
||||
|
||||
|
|
@ -503,7 +503,7 @@ public abstract class CommandManager<C> {
|
|||
* @see #registerCommandPreProcessor(CommandPreprocessor) Registering an exception handler
|
||||
*/
|
||||
public final <E extends Exception> @Nullable BiConsumer<@NonNull C, @NonNull E>
|
||||
getExceptionHandler(@NonNull final Class<E> clazz) {
|
||||
getExceptionHandler(final @NonNull Class<E> clazz) {
|
||||
final BiConsumer<C, ? extends Exception> consumer = this.exceptionHandlers.get(clazz);
|
||||
if (consumer == null) {
|
||||
return null;
|
||||
|
|
@ -521,8 +521,8 @@ public abstract class CommandManager<C> {
|
|||
* @param handler Exception handler
|
||||
* @param <E> Exception type
|
||||
*/
|
||||
public final <E extends Exception> void registerExceptionHandler(@NonNull final Class<E> clazz,
|
||||
@NonNull final BiConsumer<@NonNull C, @NonNull E> handler) {
|
||||
public final <E extends Exception> void registerExceptionHandler(final @NonNull Class<E> clazz,
|
||||
final @NonNull BiConsumer<@NonNull C, @NonNull E> handler) {
|
||||
this.exceptionHandlers.put(clazz, handler);
|
||||
}
|
||||
|
||||
|
|
@ -537,10 +537,10 @@ public abstract class CommandManager<C> {
|
|||
* handler stored for the exception type
|
||||
* @param <E> Exception type
|
||||
*/
|
||||
public final <E extends Exception> void handleException(@NonNull final C sender,
|
||||
@NonNull final Class<E> clazz,
|
||||
@NonNull final E exception,
|
||||
@NonNull final BiConsumer<C, E> defaultHandler) {
|
||||
public final <E extends Exception> void handleException(final @NonNull C sender,
|
||||
final @NonNull Class<E> clazz,
|
||||
final @NonNull E exception,
|
||||
final @NonNull BiConsumer<C, E> defaultHandler) {
|
||||
Optional.ofNullable(this.getExceptionHandler(clazz)).orElse(defaultHandler).accept(sender, exception);
|
||||
}
|
||||
|
||||
|
|
@ -570,7 +570,7 @@ public abstract class CommandManager<C> {
|
|||
* @param setting Setting
|
||||
* @return {@code true} if the setting is activated or {@code false} if it's not
|
||||
*/
|
||||
public boolean getSetting(@NonNull final ManagerSettings setting) {
|
||||
public boolean getSetting(final @NonNull ManagerSettings setting) {
|
||||
return this.managerSettings.contains(setting);
|
||||
}
|
||||
|
||||
|
|
@ -580,7 +580,7 @@ public abstract class CommandManager<C> {
|
|||
* @param setting Setting to set
|
||||
* @param value Value
|
||||
*/
|
||||
public void setSetting(@NonNull final ManagerSettings setting,
|
||||
public void setSetting(final @NonNull ManagerSettings setting,
|
||||
final boolean value) {
|
||||
if (value) {
|
||||
this.managerSettings.add(setting);
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ public final class CommandTree<C> {
|
|||
private final Node<CommandArgument<C, ?>> internalTree = new Node<>(null);
|
||||
private final CommandManager<C> commandManager;
|
||||
|
||||
private CommandTree(@NonNull final CommandManager<C> commandManager) {
|
||||
private CommandTree(final @NonNull CommandManager<C> commandManager) {
|
||||
this.commandManager = commandManager;
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ public final class CommandTree<C> {
|
|||
* @param <C> Command sender type
|
||||
* @return New command tree
|
||||
*/
|
||||
public static <C> @NonNull CommandTree<C> newTree(@NonNull final CommandManager<C> commandManager) {
|
||||
public static <C> @NonNull CommandTree<C> newTree(final @NonNull CommandManager<C> commandManager) {
|
||||
return new CommandTree<>(commandManager);
|
||||
}
|
||||
|
||||
|
|
@ -115,8 +115,8 @@ public final class CommandTree<C> {
|
|||
* @throws NoPermissionException If the sender lacks permission to execute the command
|
||||
* @throws InvalidSyntaxException If the command syntax is invalid
|
||||
*/
|
||||
public @NonNull Optional<Command<C>> parse(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> args) throws
|
||||
public @NonNull Optional<Command<C>> parse(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> args) throws
|
||||
NoSuchCommandException, NoPermissionException, InvalidSyntaxException {
|
||||
final Optional<Command<C>> commandOptional = parseCommand(new ArrayList<>(),
|
||||
commandContext,
|
||||
|
|
@ -130,10 +130,10 @@ public final class CommandTree<C> {
|
|||
return commandOptional;
|
||||
}
|
||||
|
||||
private Optional<Command<C>> parseCommand(@NonNull final List<@NonNull CommandArgument<C, ?>> parsedArguments,
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> commandQueue,
|
||||
@NonNull final Node<@Nullable CommandArgument<C, ?>> root) {
|
||||
private Optional<Command<C>> parseCommand(final @NonNull List<@NonNull CommandArgument<C, ?>> parsedArguments,
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> commandQueue,
|
||||
final @NonNull Node<@Nullable CommandArgument<C, ?>> root) {
|
||||
CommandPermission permission = this.isPermitted(commandContext.getSender(), root);
|
||||
if (permission != null) {
|
||||
throw new NoPermissionException(permission, commandContext.getSender(), this.getChain(root)
|
||||
|
|
@ -226,10 +226,10 @@ public final class CommandTree<C> {
|
|||
}
|
||||
|
||||
private @Nullable Optional<Command<C>>
|
||||
attemptParseUnambiguousChild(@NonNull final List<@NonNull CommandArgument<C, ?>> parsedArguments,
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Node<@Nullable CommandArgument<C, ?>> root,
|
||||
@NonNull final Queue<String> commandQueue) {
|
||||
attemptParseUnambiguousChild(final @NonNull List<@NonNull CommandArgument<C, ?>> parsedArguments,
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Node<@Nullable CommandArgument<C, ?>> root,
|
||||
final @NonNull Queue<String> commandQueue) {
|
||||
CommandPermission permission;
|
||||
final List<Node<CommandArgument<C, ?>>> children = root.getChildren();
|
||||
if (children.size() == 1 && !(children.get(0).getValue() instanceof StaticArgument)) {
|
||||
|
|
@ -343,14 +343,14 @@ public final class CommandTree<C> {
|
|||
* @param commandQueue Input queue
|
||||
* @return String suggestions. These should be filtered based on {@link String#startsWith(String)}
|
||||
*/
|
||||
public @NonNull List<@NonNull String> getSuggestions(@NonNull final CommandContext<C> context,
|
||||
@NonNull final Queue<@NonNull String> commandQueue) {
|
||||
public @NonNull List<@NonNull String> getSuggestions(final @NonNull CommandContext<C> context,
|
||||
final @NonNull Queue<@NonNull String> commandQueue) {
|
||||
return getSuggestions(context, commandQueue, this.internalTree);
|
||||
}
|
||||
|
||||
private @NonNull List<@NonNull String> getSuggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> commandQueue,
|
||||
@NonNull final Node<@Nullable CommandArgument<C, ?>> root) {
|
||||
private @NonNull List<@NonNull String> getSuggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> commandQueue,
|
||||
final @NonNull Node<@Nullable CommandArgument<C, ?>> root) {
|
||||
|
||||
/* If the sender isn't allowed to access the root node, no suggestions are needed */
|
||||
if (this.isPermitted(commandContext.getSender(), root) != null) {
|
||||
|
|
@ -440,7 +440,7 @@ public final class CommandTree<C> {
|
|||
}
|
||||
}
|
||||
|
||||
private @NonNull String stringOrEmpty(@Nullable final String string) {
|
||||
private @NonNull String stringOrEmpty(final @Nullable String string) {
|
||||
if (string == null) {
|
||||
return "";
|
||||
}
|
||||
|
|
@ -453,7 +453,7 @@ public final class CommandTree<C> {
|
|||
* @param command Command to insert
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public void insertCommand(@NonNull final Command<C> command) {
|
||||
public void insertCommand(final @NonNull Command<C> command) {
|
||||
synchronized (this.commandLock) {
|
||||
Node<CommandArgument<C, ?>> node = this.internalTree;
|
||||
for (final CommandArgument<C, ?> argument : command.getArguments()) {
|
||||
|
|
@ -485,8 +485,8 @@ public final class CommandTree<C> {
|
|||
}
|
||||
}
|
||||
|
||||
private @Nullable CommandPermission isPermitted(@NonNull final C sender,
|
||||
@NonNull final Node<@Nullable CommandArgument<C, ?>> node) {
|
||||
private @Nullable CommandPermission isPermitted(final @NonNull C sender,
|
||||
final @NonNull Node<@Nullable CommandArgument<C, ?>> node) {
|
||||
final CommandPermission permission = (CommandPermission) node.nodeMeta.get("permission");
|
||||
if (permission != null) {
|
||||
return this.commandManager.hasPermission(sender, permission) ? null : permission;
|
||||
|
|
@ -576,7 +576,7 @@ public final class CommandTree<C> {
|
|||
});
|
||||
}
|
||||
|
||||
private void checkAmbiguity(@NonNull final Node<@Nullable CommandArgument<C, ?>> node) throws AmbiguousNodeException {
|
||||
private void checkAmbiguity(final @NonNull Node<@Nullable CommandArgument<C, ?>> node) throws AmbiguousNodeException {
|
||||
if (node.isLeaf()) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -592,7 +592,7 @@ public final class CommandTree<C> {
|
|||
}
|
||||
|
||||
private @NonNull List<@NonNull Node<@Nullable CommandArgument<C, ?>>>
|
||||
getLeavesRaw(@NonNull final Node<@Nullable CommandArgument<C, ?>> node) {
|
||||
getLeavesRaw(final @NonNull Node<@Nullable CommandArgument<C, ?>> node) {
|
||||
final List<Node<CommandArgument<C, ?>>> leaves = new LinkedList<>();
|
||||
if (node.isLeaf()) {
|
||||
if (node.getValue() != null) {
|
||||
|
|
@ -604,7 +604,7 @@ public final class CommandTree<C> {
|
|||
return leaves;
|
||||
}
|
||||
|
||||
private @NonNull List<@NonNull CommandArgument<C, ?>> getLeaves(@NonNull final Node<@NonNull CommandArgument<C, ?>> node) {
|
||||
private @NonNull List<@NonNull CommandArgument<C, ?>> getLeaves(final @NonNull Node<@NonNull CommandArgument<C, ?>> node) {
|
||||
final List<CommandArgument<C, ?>> leaves = new LinkedList<>();
|
||||
if (node.isLeaf()) {
|
||||
if (node.getValue() != null) {
|
||||
|
|
@ -617,7 +617,7 @@ public final class CommandTree<C> {
|
|||
}
|
||||
|
||||
private @NonNull List<@NonNull Node<@Nullable CommandArgument<C, ?>>>
|
||||
getChain(@Nullable final Node<@Nullable CommandArgument<C, ?>> end) {
|
||||
getChain(final @Nullable Node<@Nullable CommandArgument<C, ?>> end) {
|
||||
final List<Node<CommandArgument<C, ?>>> chain = new LinkedList<>();
|
||||
Node<CommandArgument<C, ?>> tail = end;
|
||||
while (tail != null) {
|
||||
|
|
@ -628,7 +628,7 @@ public final class CommandTree<C> {
|
|||
return chain;
|
||||
}
|
||||
|
||||
private @Nullable Command<C> cast(@Nullable final Command<C> command) {
|
||||
private @Nullable Command<C> cast(final @Nullable Command<C> command) {
|
||||
return command;
|
||||
}
|
||||
|
||||
|
|
@ -648,7 +648,7 @@ public final class CommandTree<C> {
|
|||
* @param name Root node name
|
||||
* @return Root node, or {@code null}
|
||||
*/
|
||||
public @Nullable Node<@Nullable CommandArgument<C, ?>> getNamedNode(@Nullable final String name) {
|
||||
public @Nullable Node<@Nullable CommandArgument<C, ?>> getNamedNode(final @Nullable String name) {
|
||||
for (final Node<CommandArgument<C, ?>> node : this.getRootNodes()) {
|
||||
if (node.getValue() != null && node.getValue() instanceof StaticArgument) {
|
||||
@SuppressWarnings("unchecked") final StaticArgument<C> staticArgument = (StaticArgument<C>) node.getValue();
|
||||
|
|
@ -683,7 +683,7 @@ public final class CommandTree<C> {
|
|||
private final T value;
|
||||
private Node<T> parent;
|
||||
|
||||
private Node(@Nullable final T value) {
|
||||
private Node(final @Nullable T value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
|
@ -696,13 +696,13 @@ public final class CommandTree<C> {
|
|||
return Collections.unmodifiableList(this.children);
|
||||
}
|
||||
|
||||
private @NonNull Node<@Nullable T> addChild(@NonNull final T child) {
|
||||
private @NonNull Node<@Nullable T> addChild(final @NonNull T child) {
|
||||
final Node<T> node = new Node<>(child);
|
||||
this.children.add(node);
|
||||
return node;
|
||||
}
|
||||
|
||||
private @Nullable Node<@Nullable T> getChild(@NonNull final T type) {
|
||||
private @Nullable Node<@Nullable T> getChild(final @NonNull T type) {
|
||||
for (final Node<T> child : this.children) {
|
||||
if (type.equals(child.getValue())) {
|
||||
return child;
|
||||
|
|
@ -769,7 +769,7 @@ public final class CommandTree<C> {
|
|||
*
|
||||
* @param parent new parent node
|
||||
*/
|
||||
public void setParent(@Nullable final Node<@Nullable T> parent) {
|
||||
public void setParent(final @Nullable Node<@Nullable T> parent) {
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class Description {
|
|||
|
||||
private final String description;
|
||||
|
||||
private Description(@NonNull final String description) {
|
||||
private Description(final @NonNull String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ public final class Description {
|
|||
* @param string Command description
|
||||
* @return Created command description
|
||||
*/
|
||||
public static @NonNull Description of(@NonNull final String string) {
|
||||
public static @NonNull Description of(final @NonNull String string) {
|
||||
return new Description(string);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -96,11 +96,11 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @param suggestionsProvider Suggestions provider
|
||||
*/
|
||||
public CommandArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final ArgumentParser<C, T> parser,
|
||||
@NonNull final String defaultValue,
|
||||
@NonNull final TypeToken<T> valueType,
|
||||
@Nullable final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
|
||||
final @NonNull String name,
|
||||
final @NonNull ArgumentParser<C, T> parser,
|
||||
final @NonNull String defaultValue,
|
||||
final @NonNull TypeToken<T> valueType,
|
||||
final @Nullable BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
|
||||
this.required = required;
|
||||
this.name = Objects.requireNonNull(name, "Name may not be null");
|
||||
if (!NAME_PATTERN.asPredicate().test(name)) {
|
||||
|
|
@ -125,11 +125,11 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @param suggestionsProvider Suggestions provider
|
||||
*/
|
||||
public CommandArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final ArgumentParser<C, T> parser,
|
||||
@NonNull final String defaultValue,
|
||||
@NonNull final Class<T> valueType,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>,
|
||||
final @NonNull String name,
|
||||
final @NonNull ArgumentParser<C, T> parser,
|
||||
final @NonNull String defaultValue,
|
||||
final @NonNull Class<T> valueType,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>,
|
||||
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
this(required, name, parser, defaultValue, TypeToken.get(valueType), suggestionsProvider);
|
||||
}
|
||||
|
|
@ -143,14 +143,14 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @param valueType Type produced by the parser
|
||||
*/
|
||||
public CommandArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final ArgumentParser<C, T> parser,
|
||||
@NonNull final Class<T> valueType) {
|
||||
final @NonNull String name,
|
||||
final @NonNull ArgumentParser<C, T> parser,
|
||||
final @NonNull Class<T> valueType) {
|
||||
this(required, name, parser, "", valueType, null);
|
||||
}
|
||||
|
||||
private static <C> @NonNull BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<String>> buildDefaultSuggestionsProvider(@NonNull final CommandArgument<C, ?> argument) {
|
||||
@NonNull List<String>> buildDefaultSuggestionsProvider(final @NonNull CommandArgument<C, ?> argument) {
|
||||
return new DelegatingSuggestionsProvider<>(argument.getName(), argument.getParser());
|
||||
}
|
||||
|
||||
|
|
@ -163,8 +163,8 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @param <T> Argument Type. Used to make the compiler happy.
|
||||
* @return Argument builder
|
||||
*/
|
||||
public static <C, T> CommandArgument.@NonNull Builder<C, T> ofType(@NonNull final TypeToken<T> clazz,
|
||||
@NonNull final String name) {
|
||||
public static <C, T> CommandArgument.@NonNull Builder<C, T> ofType(final @NonNull TypeToken<T> clazz,
|
||||
final @NonNull String name) {
|
||||
return new Builder<>(clazz, name);
|
||||
}
|
||||
|
||||
|
|
@ -177,8 +177,8 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @param <T> Argument Type. Used to make the compiler happy.
|
||||
* @return Argument builder
|
||||
*/
|
||||
public static <C, T> CommandArgument.@NonNull Builder<@NonNull C, @NonNull T> ofType(@NonNull final Class<T> clazz,
|
||||
@NonNull final String name) {
|
||||
public static <C, T> CommandArgument.@NonNull Builder<@NonNull C, @NonNull T> ofType(final @NonNull Class<T> clazz,
|
||||
final @NonNull String name) {
|
||||
return new Builder<>(TypeToken.get(clazz), name);
|
||||
}
|
||||
|
||||
|
|
@ -230,7 +230,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
*
|
||||
* @param owningCommand Owning command
|
||||
*/
|
||||
public void setOwningCommand(@NonNull final Command<C> owningCommand) {
|
||||
public void setOwningCommand(final @NonNull Command<C> owningCommand) {
|
||||
if (this.owningCommand != null) {
|
||||
throw new IllegalStateException("Cannot replace owning command");
|
||||
}
|
||||
|
|
@ -265,7 +265,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
}
|
||||
|
||||
@Override
|
||||
public final int compareTo(@NonNull final CommandArgument<?, ?> o) {
|
||||
public final int compareTo(final @NonNull CommandArgument<?, ?> o) {
|
||||
if (this instanceof StaticArgument) {
|
||||
if (o instanceof StaticArgument) {
|
||||
return (this.getName().compareTo(o.getName()));
|
||||
|
|
@ -346,14 +346,14 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
private String defaultValue = "";
|
||||
private BiFunction<@NonNull CommandContext<C>, @NonNull String, @NonNull List<String>> suggestionsProvider;
|
||||
|
||||
protected Builder(@NonNull final TypeToken<T> valueType,
|
||||
@NonNull final String name) {
|
||||
protected Builder(final @NonNull TypeToken<T> valueType,
|
||||
final @NonNull String name) {
|
||||
this.valueType = valueType;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
protected Builder(@NonNull final Class<T> valueType,
|
||||
@NonNull final String name) {
|
||||
protected Builder(final @NonNull Class<T> valueType,
|
||||
final @NonNull String name) {
|
||||
this(TypeToken.get(valueType), name);
|
||||
}
|
||||
|
||||
|
|
@ -364,7 +364,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @param manager Command manager
|
||||
* @return Builder instance
|
||||
*/
|
||||
public @NonNull Builder<@NonNull C, @NonNull T> manager(@NonNull final CommandManager<C> manager) {
|
||||
public @NonNull Builder<@NonNull C, @NonNull T> manager(final @NonNull CommandManager<C> manager) {
|
||||
this.manager = manager;
|
||||
return this;
|
||||
}
|
||||
|
|
@ -407,7 +407,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @param defaultValue Default value that will be used if none was supplied
|
||||
* @return Builder instance
|
||||
*/
|
||||
public @NonNull Builder<@NonNull C, @NonNull T> asOptionalWithDefault(@NonNull final String defaultValue) {
|
||||
public @NonNull Builder<@NonNull C, @NonNull T> asOptionalWithDefault(final @NonNull String defaultValue) {
|
||||
this.defaultValue = defaultValue;
|
||||
this.required = false;
|
||||
return this;
|
||||
|
|
@ -419,7 +419,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @param parser Argument parser
|
||||
* @return Builder instance
|
||||
*/
|
||||
public @NonNull Builder<@NonNull C, @NonNull T> withParser(@NonNull final ArgumentParser<@NonNull C, @NonNull T> parser) {
|
||||
public @NonNull Builder<@NonNull C, @NonNull T> withParser(final @NonNull ArgumentParser<@NonNull C, @NonNull T> parser) {
|
||||
this.parser = Objects.requireNonNull(parser, "Parser may not be null");
|
||||
return this;
|
||||
}
|
||||
|
|
@ -431,7 +431,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
|
|||
* @return Builder instance
|
||||
*/
|
||||
public @NonNull Builder<@NonNull C, @NonNull T> withSuggestionsProvider(
|
||||
@NonNull final BiFunction<@NonNull CommandContext<C>,
|
||||
final @NonNull BiFunction<@NonNull CommandContext<C>,
|
||||
@NonNull String, @NonNull List<String>> suggestionsProvider) {
|
||||
this.suggestionsProvider = suggestionsProvider;
|
||||
return this;
|
||||
|
|
|
|||
|
|
@ -36,13 +36,13 @@ final class DelegatingSuggestionsProvider<C> implements BiFunction<@NonNull Comm
|
|||
private final String argumentName;
|
||||
private final ArgumentParser<C, ?> parser;
|
||||
|
||||
DelegatingSuggestionsProvider(@NonNull final String argumentName, @NonNull final ArgumentParser<C, ?> parser) {
|
||||
DelegatingSuggestionsProvider(final @NonNull String argumentName, final @NonNull ArgumentParser<C, ?> parser) {
|
||||
this.argumentName = argumentName;
|
||||
this.parser = parser;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> apply(@NonNull final CommandContext<C> context, @NonNull final String s) {
|
||||
public @NonNull List<@NonNull String> apply(final @NonNull CommandContext<C> context, final @NonNull String s) {
|
||||
return this.parser.suggestions(context, s);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ import java.util.List;
|
|||
public class StandardCommandSyntaxFormatter<C> implements CommandSyntaxFormatter<C> {
|
||||
|
||||
@Override
|
||||
public final @NonNull String apply(@NonNull final List<@NonNull CommandArgument<C, ?>> commandArguments,
|
||||
public final @NonNull String apply(final @NonNull List<@NonNull CommandArgument<C, ?>> commandArguments,
|
||||
final CommandTree.@Nullable Node<@Nullable CommandArgument<C, ?>> node) {
|
||||
final StringBuilder stringBuilder = new StringBuilder();
|
||||
final Iterator<CommandArgument<C, ?>> iterator = commandArguments.iterator();
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ import java.util.TreeSet;
|
|||
*/
|
||||
public final class StaticArgument<C> extends CommandArgument<C, String> {
|
||||
|
||||
private StaticArgument(final boolean required, @NonNull final String name, @NonNull final String... aliases) {
|
||||
private StaticArgument(final boolean required, final @NonNull String name, final @NonNull String... aliases) {
|
||||
super(required, name, new StaticArgumentParser<>(name, aliases), String.class);
|
||||
}
|
||||
|
||||
|
|
@ -56,8 +56,8 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
|
|||
* @param <C> Command sender type
|
||||
* @return Constructed argument
|
||||
*/
|
||||
public static <C> @NonNull StaticArgument<C> of(@NonNull final String name,
|
||||
@NonNull final String... aliases) {
|
||||
public static <C> @NonNull StaticArgument<C> of(final @NonNull String name,
|
||||
final @NonNull String... aliases) {
|
||||
return new StaticArgument<>(true, name, aliases);
|
||||
}
|
||||
|
||||
|
|
@ -69,8 +69,8 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
|
|||
* @param <C> Command sender type
|
||||
* @return Constructed argument
|
||||
*/
|
||||
public static <C> @NonNull StaticArgument<C> optional(@NonNull final String name,
|
||||
@NonNull final String... aliases) {
|
||||
public static <C> @NonNull StaticArgument<C> optional(final @NonNull String name,
|
||||
final @NonNull String... aliases) {
|
||||
return new StaticArgument<>(false, name, aliases);
|
||||
}
|
||||
|
||||
|
|
@ -79,7 +79,7 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
|
|||
*
|
||||
* @param alias New alias
|
||||
*/
|
||||
public void registerAlias(@NonNull final String alias) {
|
||||
public void registerAlias(final @NonNull String alias) {
|
||||
((StaticArgumentParser<C>) this.getParser()).insertAlias(alias);
|
||||
}
|
||||
|
||||
|
|
@ -109,7 +109,7 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
|
|||
|
||||
private final String name;
|
||||
|
||||
private StaticArgumentParser(@NonNull final String name, @NonNull final String... aliases) {
|
||||
private StaticArgumentParser(final @NonNull String name, final @NonNull String... aliases) {
|
||||
this.name = name;
|
||||
this.allAcceptedAliases.add(this.name);
|
||||
this.allAcceptedAliases.addAll(Arrays.asList(aliases));
|
||||
|
|
@ -117,8 +117,8 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<String> parse(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
public @NonNull ArgumentParseResult<String> parse(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String string = inputQueue.peek();
|
||||
if (string == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input provided"));
|
||||
|
|
@ -131,8 +131,8 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
return Collections.singletonList(this.name);
|
||||
}
|
||||
|
||||
|
|
@ -150,7 +150,7 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
|
|||
*
|
||||
* @param alias New alias
|
||||
*/
|
||||
public void insertAlias(@NonNull final String alias) {
|
||||
public void insertAlias(final @NonNull String alias) {
|
||||
this.allAcceptedAliases.add(alias);
|
||||
this.alternativeAliases.add(alias);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,12 +55,12 @@ public class ArgumentPair<C, U, V, O> extends CompoundArgument<Pair<U, V>, C, O>
|
|||
* @param valueType The output type
|
||||
*/
|
||||
protected ArgumentPair(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final Pair<@NonNull String, @NonNull String> names,
|
||||
@NonNull final Pair<@NonNull Class<U>, @NonNull Class<V>> types,
|
||||
@NonNull final Pair<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>> parserPair,
|
||||
@NonNull final Function<@NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper,
|
||||
@NonNull final TypeToken<O> valueType) {
|
||||
final @NonNull String name,
|
||||
final @NonNull Pair<@NonNull String, @NonNull String> names,
|
||||
final @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> types,
|
||||
final @NonNull Pair<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>> parserPair,
|
||||
final @NonNull Function<@NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper,
|
||||
final @NonNull TypeToken<O> valueType) {
|
||||
super(required, name, names, parserPair, types, mapper, o -> Pair.of((U) o[0], (V) o[1]), valueType);
|
||||
}
|
||||
|
||||
|
|
@ -78,11 +78,11 @@ public class ArgumentPair<C, U, V, O> extends CompoundArgument<Pair<U, V>, C, O>
|
|||
* @param <V> Second parsed type
|
||||
* @return Intermediary builder
|
||||
*/
|
||||
public static <C, U, V> @NonNull ArgumentPairIntermediaryBuilder<C, U, V> of(@NonNull final CommandManager<C> manager,
|
||||
@NonNull final String name,
|
||||
@NonNull final Pair<@NonNull String,
|
||||
public static <C, U, V> @NonNull ArgumentPairIntermediaryBuilder<C, U, V> of(final @NonNull CommandManager<C> manager,
|
||||
final @NonNull String name,
|
||||
final @NonNull Pair<@NonNull String,
|
||||
@NonNull String> names,
|
||||
@NonNull final Pair<@NonNull Class<U>,
|
||||
final @NonNull Pair<@NonNull Class<U>,
|
||||
@NonNull Class<V>> types) {
|
||||
final ParserRegistry<C> parserRegistry = manager.getParserRegistry();
|
||||
final ArgumentParser<C, U> firstParser = parserRegistry.createParser(TypeToken.get(types.getFirst()),
|
||||
|
|
@ -106,11 +106,11 @@ public class ArgumentPair<C, U, V, O> extends CompoundArgument<Pair<U, V>, C, O>
|
|||
private final Pair<Class<U>, Class<V>> types;
|
||||
|
||||
private ArgumentPairIntermediaryBuilder(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final Pair<@NonNull String, @NonNull String> names,
|
||||
@NonNull final Pair<@NonNull ArgumentParser<@NonNull C, @NonNull U>,
|
||||
final @NonNull String name,
|
||||
final @NonNull Pair<@NonNull String, @NonNull String> names,
|
||||
final @NonNull Pair<@NonNull ArgumentParser<@NonNull C, @NonNull U>,
|
||||
@NonNull ArgumentParser<@NonNull C, @NonNull V>> parserPair,
|
||||
@NonNull final Pair<@NonNull Class<U>, @NonNull Class<V>> types) {
|
||||
final @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> types) {
|
||||
this.required = required;
|
||||
this.name = name;
|
||||
this.names = names;
|
||||
|
|
@ -142,8 +142,8 @@ public class ArgumentPair<C, U, V, O> extends CompoundArgument<Pair<U, V>, C, O>
|
|||
* @param <O> Output type
|
||||
* @return Created pair
|
||||
*/
|
||||
public <O> @NonNull ArgumentPair<C, U, V, O> withMapper(@NonNull final TypeToken<O> clazz,
|
||||
@NonNull final Function<@NonNull Pair<@NonNull U,
|
||||
public <O> @NonNull ArgumentPair<C, U, V, O> withMapper(final @NonNull TypeToken<O> clazz,
|
||||
final @NonNull Function<@NonNull Pair<@NonNull U,
|
||||
@NonNull V>, @NonNull O> mapper) {
|
||||
return new ArgumentPair<C, U, V, O>(this.required, this.name, this.names, this.types, this.parserPair, mapper, clazz);
|
||||
}
|
||||
|
|
@ -157,8 +157,8 @@ public class ArgumentPair<C, U, V, O> extends CompoundArgument<Pair<U, V>, C, O>
|
|||
* @return Created pair
|
||||
*/
|
||||
public <O> @NonNull ArgumentPair<@NonNull C, @NonNull U, @NonNull V, @NonNull O> withMapper(
|
||||
@NonNull final Class<O> clazz,
|
||||
@NonNull final Function<@NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper) {
|
||||
final @NonNull Class<O> clazz,
|
||||
final @NonNull Function<@NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper) {
|
||||
return this.withMapper(TypeToken.get(clazz), mapper);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,13 +56,13 @@ public class ArgumentTriplet<C, U, V, W, O> extends CompoundArgument<Triplet<U,
|
|||
* @param valueType The output type
|
||||
*/
|
||||
protected ArgumentTriplet(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final Triplet<@NonNull String, @NonNull String, @NonNull String> names,
|
||||
@NonNull final Triplet<@NonNull Class<U>, @NonNull Class<V>, @NonNull Class<W>> types,
|
||||
@NonNull final Triplet<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>,
|
||||
final @NonNull String name,
|
||||
final @NonNull Triplet<@NonNull String, @NonNull String, @NonNull String> names,
|
||||
final @NonNull Triplet<@NonNull Class<U>, @NonNull Class<V>, @NonNull Class<W>> types,
|
||||
final @NonNull Triplet<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>,
|
||||
@NonNull ArgumentParser<C, W>> parserTriplet,
|
||||
@NonNull final Function<@NonNull Triplet<U, @NonNull V, @NonNull W>, @NonNull O> mapper,
|
||||
@NonNull final TypeToken<O> valueType) {
|
||||
final @NonNull Function<@NonNull Triplet<U, @NonNull V, @NonNull W>, @NonNull O> mapper,
|
||||
final @NonNull TypeToken<O> valueType) {
|
||||
super(required, name, names, parserTriplet, types, mapper, o -> Triplet.of((U) o[0], (V) o[1], (W) o[2]), valueType);
|
||||
}
|
||||
|
||||
|
|
@ -82,10 +82,10 @@ public class ArgumentTriplet<C, U, V, W, O> extends CompoundArgument<Triplet<U,
|
|||
* @return Intermediary builder
|
||||
*/
|
||||
public static <C, U, V, W> @NonNull ArgumentTripletIntermediaryBuilder<@NonNull C, @NonNull U, @NonNull V, @NonNull W>
|
||||
of(@NonNull final CommandManager<C> manager,
|
||||
@NonNull final String name,
|
||||
@NonNull final Triplet<@NonNull String, @NonNull String, @NonNull String> names,
|
||||
@NonNull final Triplet<@NonNull Class<U>, @NonNull Class<V>, @NonNull Class<W>> types) {
|
||||
of(final @NonNull CommandManager<C> manager,
|
||||
final @NonNull String name,
|
||||
final @NonNull Triplet<@NonNull String, @NonNull String, @NonNull String> names,
|
||||
final @NonNull Triplet<@NonNull Class<U>, @NonNull Class<V>, @NonNull Class<W>> types) {
|
||||
final ParserRegistry<C> parserRegistry = manager.getParserRegistry();
|
||||
final ArgumentParser<C, U> firstParser = parserRegistry.createParser(TypeToken.get(types.getFirst()),
|
||||
ParserParameters.empty()).orElseThrow(() ->
|
||||
|
|
@ -113,13 +113,13 @@ public class ArgumentTriplet<C, U, V, W, O> extends CompoundArgument<Triplet<U,
|
|||
private final Triplet<Class<U>, Class<V>, Class<W>> types;
|
||||
|
||||
private ArgumentTripletIntermediaryBuilder(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final Triplet<@NonNull String, @NonNull String,
|
||||
final @NonNull String name,
|
||||
final @NonNull Triplet<@NonNull String, @NonNull String,
|
||||
@NonNull String> names,
|
||||
@NonNull final Triplet<@NonNull ArgumentParser<C, U>,
|
||||
final @NonNull Triplet<@NonNull ArgumentParser<C, U>,
|
||||
@NonNull ArgumentParser<C, V>,
|
||||
@NonNull ArgumentParser<C, W>> parserTriplet,
|
||||
@NonNull final Triplet<@NonNull Class<U>,
|
||||
final @NonNull Triplet<@NonNull Class<U>,
|
||||
@NonNull Class<V>, @NonNull Class<W>> types) {
|
||||
this.required = required;
|
||||
this.name = name;
|
||||
|
|
@ -154,8 +154,8 @@ public class ArgumentTriplet<C, U, V, W, O> extends CompoundArgument<Triplet<U,
|
|||
* @return Created triplet
|
||||
*/
|
||||
public <O> @NonNull ArgumentTriplet<@NonNull C, @NonNull U, @NonNull V,
|
||||
@NonNull W, @NonNull O> withMapper(@NonNull final TypeToken<O> clazz,
|
||||
@NonNull final Function<@NonNull Triplet<@NonNull U,
|
||||
@NonNull W, @NonNull O> withMapper(final @NonNull TypeToken<O> clazz,
|
||||
final @NonNull Function<@NonNull Triplet<@NonNull U,
|
||||
@NonNull V, @NonNull W>, @NonNull O> mapper) {
|
||||
return new ArgumentTriplet<>(this.required, this.name, this.names, this.types, this.parserTriplet, mapper, clazz);
|
||||
}
|
||||
|
|
@ -168,8 +168,8 @@ public class ArgumentTriplet<C, U, V, W, O> extends CompoundArgument<Triplet<U,
|
|||
* @param <O> Output type
|
||||
* @return Created triplet
|
||||
*/
|
||||
public <O> @NonNull ArgumentTriplet<C, U, V, W, O> withMapper(@NonNull final Class<O> clazz,
|
||||
@NonNull final Function<@NonNull Triplet<@NonNull U,
|
||||
public <O> @NonNull ArgumentTriplet<C, U, V, W, O> withMapper(final @NonNull Class<O> clazz,
|
||||
final @NonNull Function<@NonNull Triplet<@NonNull U,
|
||||
@NonNull V, @NonNull W>, @NonNull O> mapper) {
|
||||
return new ArgumentTriplet<>(this.required, this.name, this.names, this.types,
|
||||
this.parserTriplet, mapper, TypeToken.get(clazz));
|
||||
|
|
|
|||
|
|
@ -49,13 +49,13 @@ public class CompoundArgument<T extends Tuple, C, O> extends CommandArgument<C,
|
|||
private final Tuple parserTuple;
|
||||
|
||||
CompoundArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final Tuple names,
|
||||
@NonNull final Tuple parserTuple,
|
||||
@NonNull final Tuple types,
|
||||
@NonNull final Function<@NonNull T, @NonNull O> mapper,
|
||||
@NonNull final Function<@NonNull Object[], @NonNull T> tupleFactory,
|
||||
@NonNull final TypeToken<O> valueType) {
|
||||
final @NonNull String name,
|
||||
final @NonNull Tuple names,
|
||||
final @NonNull Tuple parserTuple,
|
||||
final @NonNull Tuple types,
|
||||
final @NonNull Function<@NonNull T, @NonNull O> mapper,
|
||||
final @NonNull Function<@NonNull Object[], @NonNull T> tupleFactory,
|
||||
final @NonNull TypeToken<O> valueType) {
|
||||
super(required,
|
||||
name,
|
||||
new CompoundParser<>(parserTuple, mapper, tupleFactory),
|
||||
|
|
@ -101,17 +101,17 @@ public class CompoundArgument<T extends Tuple, C, O> extends CommandArgument<C,
|
|||
private final Function<T, O> mapper;
|
||||
private final Function<Object[], T> tupleFactory;
|
||||
|
||||
private CompoundParser(@NonNull final Tuple parserTuple,
|
||||
@NonNull final Function<@NonNull T, @NonNull O> mapper,
|
||||
@NonNull final Function<@NonNull Object[], @NonNull T> tupleFactory) {
|
||||
private CompoundParser(final @NonNull Tuple parserTuple,
|
||||
final @NonNull Function<@NonNull T, @NonNull O> mapper,
|
||||
final @NonNull Function<@NonNull Object[], @NonNull T> tupleFactory) {
|
||||
this.parsers = parserTuple.toArray();
|
||||
this.mapper = mapper;
|
||||
this.tupleFactory = tupleFactory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<O> parse(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
public @NonNull ArgumentParseResult<O> parse(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final Object[] output = new Object[this.parsers.length];
|
||||
for (int i = 0; i < this.parsers.length; i++) {
|
||||
@SuppressWarnings("unchecked") final ArgumentParser<C, ?> parser = (ArgumentParser<C, ?>) this.parsers[i];
|
||||
|
|
@ -135,8 +135,8 @@ public class CompoundArgument<T extends Tuple, C, O> extends CommandArgument<C,
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
/*
|
||||
This method will be called n times, each time for each of the internal types.
|
||||
The problem is that we need to then know which of the parsers to forward the
|
||||
|
|
|
|||
|
|
@ -74,13 +74,13 @@ public class FlagArgument<C> extends CommandArgument<C, Object> {
|
|||
|
||||
private final CommandFlag<?>[] flags;
|
||||
|
||||
private FlagArgumentParser(@NonNull final CommandFlag<?>[] flags) {
|
||||
private FlagArgumentParser(final @NonNull CommandFlag<?>[] flags) {
|
||||
this.flags = flags;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<@NonNull Object> parse(@NonNull final CommandContext<@NonNull C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
public @NonNull ArgumentParseResult<@NonNull Object> parse(final @NonNull CommandContext<@NonNull C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
/*
|
||||
This argument must necessarily be the last so we can just consume all remaining input. This argument type
|
||||
is similar to a greedy string in that sense. But, we need to keep all flag logic contained to the parser
|
||||
|
|
@ -88,7 +88,7 @@ public class FlagArgument<C> extends CommandArgument<C, Object> {
|
|||
final Set<CommandFlag<?>> parsedFlags = new HashSet<>();
|
||||
CommandFlag<?> currentFlag = null;
|
||||
|
||||
for (@NonNull final String string : inputQueue) {
|
||||
for (final @NonNull String string : inputQueue) {
|
||||
if (string.startsWith("-")) {
|
||||
if (currentFlag != null && currentFlag.getCommandArgument() != null) {
|
||||
return ArgumentParseResult.failure(
|
||||
|
|
|
|||
|
|
@ -48,10 +48,10 @@ public final class CommandFlag<T> {
|
|||
|
||||
private final @Nullable CommandArgument<?, T> commandArgument;
|
||||
|
||||
private CommandFlag(@NonNull final String name,
|
||||
@NonNull final String @NonNull [] aliases,
|
||||
@NonNull final Description description,
|
||||
@Nullable final CommandArgument<?, T> commandArgument) {
|
||||
private CommandFlag(final @NonNull String name,
|
||||
final @NonNull String @NonNull [] aliases,
|
||||
final @NonNull Description description,
|
||||
final @Nullable CommandArgument<?, T> commandArgument) {
|
||||
this.name = name;
|
||||
this.aliases = aliases;
|
||||
this.description = description;
|
||||
|
|
@ -64,7 +64,7 @@ public final class CommandFlag<T> {
|
|||
* @param name Flag name
|
||||
* @return Flag builder
|
||||
*/
|
||||
public static @NonNull Builder<Void> newBuilder(@NonNull final String name) {
|
||||
public static @NonNull Builder<Void> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -135,17 +135,17 @@ public final class CommandFlag<T> {
|
|||
private final Description description;
|
||||
private final CommandArgument<?, T> commandArgument;
|
||||
|
||||
private Builder(@NonNull final String name,
|
||||
@NonNull final String[] aliases,
|
||||
@NonNull final Description description,
|
||||
@Nullable final CommandArgument<?, T> commandArgument) {
|
||||
private Builder(final @NonNull String name,
|
||||
final @NonNull String[] aliases,
|
||||
final @NonNull Description description,
|
||||
final @Nullable CommandArgument<?, T> commandArgument) {
|
||||
this.name = name;
|
||||
this.aliases = aliases;
|
||||
this.description = description;
|
||||
this.commandArgument = commandArgument;
|
||||
}
|
||||
|
||||
private Builder(@NonNull final String name) {
|
||||
private Builder(final @NonNull String name) {
|
||||
this(name, new String[0], Description.empty(), null);
|
||||
}
|
||||
|
||||
|
|
@ -155,7 +155,7 @@ public final class CommandFlag<T> {
|
|||
* @param aliases Flag aliases
|
||||
* @return New builder instance
|
||||
*/
|
||||
public Builder<T> withAliases(@NonNull final String... aliases) {
|
||||
public Builder<T> withAliases(final @NonNull String... aliases) {
|
||||
return new Builder<>(this.name, aliases, this.description, this.commandArgument);
|
||||
}
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ public final class CommandFlag<T> {
|
|||
* @param description Flag description
|
||||
* @return New builder instance
|
||||
*/
|
||||
public Builder<T> withDescription(@NonNull final Description description) {
|
||||
public Builder<T> withDescription(final @NonNull Description description) {
|
||||
return new Builder<>(this.name, this.aliases, description, this.commandArgument);
|
||||
}
|
||||
|
||||
|
|
@ -176,7 +176,7 @@ public final class CommandFlag<T> {
|
|||
* @param <N> New argument type
|
||||
* @return New builder instance
|
||||
*/
|
||||
public <N> Builder<N> withArgument(@NonNull final CommandArgument<?, N> argument) {
|
||||
public <N> Builder<N> withArgument(final @NonNull CommandArgument<?, N> argument) {
|
||||
return new Builder<>(this.name, this.aliases, this.description, argument);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public final class FlagContext {
|
|||
*
|
||||
* @param flag Flag instance
|
||||
*/
|
||||
public void addPresenceFlag(@NonNull final CommandFlag<?> flag) {
|
||||
public void addPresenceFlag(final @NonNull CommandFlag<?> flag) {
|
||||
this.flagValues.put(flag.getName(), FLAG_PRESENCE_VALUE);
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +70,8 @@ public final class FlagContext {
|
|||
* @param value Flag value
|
||||
* @param <T> Value type
|
||||
*/
|
||||
public <T> void addValueFlag(@NonNull final CommandFlag<T> flag, @NonNull final T value) {
|
||||
public <T> void addValueFlag(final @NonNull CommandFlag<T> flag,
|
||||
final @NonNull T value) {
|
||||
this.flagValues.put(flag.getName(), value);
|
||||
}
|
||||
|
||||
|
|
@ -82,7 +83,7 @@ public final class FlagContext {
|
|||
* @return {@code true} if the flag is presence and the flag is a presence flag,
|
||||
* else {@code false}
|
||||
*/
|
||||
public boolean isPresent(@NonNull final String flag) {
|
||||
public boolean isPresent(final @NonNull String flag) {
|
||||
final Object value = this.flagValues.get(flag);
|
||||
return FLAG_PRESENCE_VALUE.equals(value);
|
||||
}
|
||||
|
|
@ -95,7 +96,8 @@ public final class FlagContext {
|
|||
* @param <T> Value type
|
||||
* @return Stored value, or the supplied default value
|
||||
*/
|
||||
public <T> @Nullable T getValue(@NonNull final String name, @Nullable final T defaultValue) {
|
||||
public <T> @Nullable T getValue(final @NonNull String name,
|
||||
final @Nullable T defaultValue) {
|
||||
final Object value = this.flagValues.get(name);
|
||||
if (value == null) {
|
||||
return defaultValue;
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public abstract class ArgumentParseResult<T> {
|
|||
* @param <T> Parser return type
|
||||
* @return Failed parse result
|
||||
*/
|
||||
public static <T> @NonNull ArgumentParseResult<T> failure(@NonNull final Throwable failure) {
|
||||
public static <T> @NonNull ArgumentParseResult<T> failure(final @NonNull Throwable failure) {
|
||||
return new ParseFailure<>(failure);
|
||||
}
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ public abstract class ArgumentParseResult<T> {
|
|||
* @param <T> Parser return type
|
||||
* @return Succeeded parse result
|
||||
*/
|
||||
public static <T> @NonNull ArgumentParseResult<T> success(@NonNull final T value) {
|
||||
public static <T> @NonNull ArgumentParseResult<T> success(final @NonNull T value) {
|
||||
return new ParseSuccess<>(value);
|
||||
}
|
||||
|
||||
|
|
@ -81,7 +81,7 @@ public abstract class ArgumentParseResult<T> {
|
|||
*/
|
||||
private final T value;
|
||||
|
||||
private ParseSuccess(@NonNull final T value) {
|
||||
private ParseSuccess(final @NonNull T value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
|
@ -105,7 +105,7 @@ public abstract class ArgumentParseResult<T> {
|
|||
*/
|
||||
private final Throwable failure;
|
||||
|
||||
private ParseFailure(@NonNull final Throwable failure) {
|
||||
private ParseFailure(final @NonNull Throwable failure) {
|
||||
this.failure = failure;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ public interface ArgumentParser<C, T> {
|
|||
* @param input Input string
|
||||
* @return List of suggestions
|
||||
*/
|
||||
default @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
default @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,8 +44,8 @@ public class ParserParameter<T> {
|
|||
* @param key Parameter key
|
||||
* @param expectedType Type that is expected to be mapped to this parameter
|
||||
*/
|
||||
public ParserParameter(@NonNull final String key,
|
||||
@NonNull final TypeToken<T> expectedType) {
|
||||
public ParserParameter(final @NonNull String key,
|
||||
final @NonNull TypeToken<T> expectedType) {
|
||||
this.key = key;
|
||||
this.expectedType = expectedType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,8 +53,8 @@ public final class ParserParameters {
|
|||
* @param <T> Value type
|
||||
* @return Constructed instance
|
||||
*/
|
||||
public static <T> @NonNull ParserParameters single(@NonNull final ParserParameter<T> parameter,
|
||||
@NonNull final T value) {
|
||||
public static <T> @NonNull ParserParameters single(final @NonNull ParserParameter<T> parameter,
|
||||
final @NonNull T value) {
|
||||
final ParserParameters parameters = new ParserParameters();
|
||||
parameters.store(parameter, value);
|
||||
return parameters;
|
||||
|
|
@ -67,7 +67,7 @@ public final class ParserParameters {
|
|||
* @param <T> Parameter type
|
||||
* @return {@code true} if such a pair is stored, else {@code false}
|
||||
*/
|
||||
public <T> boolean has(@NonNull final ParserParameter<T> parameter) {
|
||||
public <T> boolean has(final @NonNull ParserParameter<T> parameter) {
|
||||
return this.internalMap.containsKey(parameter);
|
||||
}
|
||||
|
||||
|
|
@ -78,8 +78,8 @@ public final class ParserParameters {
|
|||
* @param value Object
|
||||
* @param <T> Parameter type
|
||||
*/
|
||||
public <T> void store(@NonNull final ParserParameter<T> parameter,
|
||||
@NonNull final T value) {
|
||||
public <T> void store(final @NonNull ParserParameter<T> parameter,
|
||||
final @NonNull T value) {
|
||||
this.internalMap.put(parameter, value);
|
||||
}
|
||||
|
||||
|
|
@ -92,8 +92,8 @@ public final class ParserParameters {
|
|||
* @return Parameter value
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> @NonNull T get(@NonNull final ParserParameter<T> parameter,
|
||||
@NonNull final T defaultValue) {
|
||||
public <T> @NonNull T get(final @NonNull ParserParameter<T> parameter,
|
||||
final @NonNull T defaultValue) {
|
||||
return (T) this.internalMap.getOrDefault(parameter, defaultValue);
|
||||
}
|
||||
|
||||
|
|
@ -103,7 +103,7 @@ public final class ParserParameters {
|
|||
*
|
||||
* @param other Other instance
|
||||
*/
|
||||
public void merge(@NonNull final ParserParameters other) {
|
||||
public void merge(final @NonNull ParserParameters other) {
|
||||
this.internalMap.putAll(other.internalMap);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,8 +59,8 @@ public final class StandardParameters {
|
|||
private StandardParameters() {
|
||||
}
|
||||
|
||||
private static <T> @NonNull ParserParameter<T> create(@NonNull final String key,
|
||||
@NonNull final TypeToken<T> expectedType) {
|
||||
private static <T> @NonNull ParserParameter<T> create(final @NonNull String key,
|
||||
final @NonNull TypeToken<T> expectedType) {
|
||||
return new ParserParameter<>(key, expectedType);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -110,29 +110,29 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public <T> void registerParserSupplier(@NonNull final TypeToken<T> type,
|
||||
@NonNull final Function<@NonNull ParserParameters,
|
||||
public <T> void registerParserSupplier(final @NonNull TypeToken<T> type,
|
||||
final @NonNull Function<@NonNull ParserParameters,
|
||||
@NonNull ArgumentParser<C, ?>> supplier) {
|
||||
this.parserSuppliers.put(type, supplier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerNamedParserSupplier(@NonNull final String name,
|
||||
@NonNull final Function<@NonNull ParserParameters,
|
||||
public void registerNamedParserSupplier(final @NonNull String name,
|
||||
final @NonNull Function<@NonNull ParserParameters,
|
||||
@NonNull ArgumentParser<C, ?>> supplier) {
|
||||
this.namedParsers.put(name, supplier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <A extends Annotation, T> void registerAnnotationMapper(@NonNull final Class<A> annotation,
|
||||
@NonNull final BiFunction<@NonNull A, @NonNull TypeToken<?>,
|
||||
public <A extends Annotation, T> void registerAnnotationMapper(final @NonNull Class<A> annotation,
|
||||
final @NonNull BiFunction<@NonNull A, @NonNull TypeToken<?>,
|
||||
@NonNull ParserParameters> mapper) {
|
||||
this.annotationMappers.put(annotation, mapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ParserParameters parseAnnotations(@NonNull final TypeToken<?> parsingType,
|
||||
@NonNull final Collection<@NonNull ? extends Annotation> annotations) {
|
||||
public @NonNull ParserParameters parseAnnotations(final @NonNull TypeToken<?> parsingType,
|
||||
final @NonNull Collection<@NonNull ? extends Annotation> annotations) {
|
||||
final ParserParameters parserParameters = new ParserParameters();
|
||||
annotations.forEach(annotation -> {
|
||||
// noinspection all
|
||||
|
|
@ -148,8 +148,8 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public <T> @NonNull Optional<ArgumentParser<C, T>> createParser(@NonNull final TypeToken<T> type,
|
||||
@NonNull final ParserParameters parserParameters) {
|
||||
public <T> @NonNull Optional<ArgumentParser<C, T>> createParser(final @NonNull TypeToken<T> type,
|
||||
final @NonNull ParserParameters parserParameters) {
|
||||
final TypeToken<?> actualType;
|
||||
if (GenericTypeReflector.erase(type.getType()).isPrimitive()) {
|
||||
actualType = TypeToken.get(PRIMITIVE_MAPPINGS.get(GenericTypeReflector.erase(type.getType())));
|
||||
|
|
@ -173,8 +173,8 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public <T> @NonNull Optional<ArgumentParser<C, T>> createParser(@NonNull final String name,
|
||||
@NonNull final ParserParameters parserParameters) {
|
||||
public <T> @NonNull Optional<ArgumentParser<C, T>> createParser(final @NonNull String name,
|
||||
final @NonNull ParserParameters parserParameters) {
|
||||
final Function<ParserParameters, ArgumentParser<C, ?>> producer = this.namedParsers.get(name);
|
||||
if (producer == null) {
|
||||
return Optional.empty();
|
||||
|
|
@ -185,7 +185,7 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
|
|||
}
|
||||
|
||||
|
||||
private static boolean isPrimitive(@NonNull final TypeToken<?> type) {
|
||||
private static boolean isPrimitive(final @NonNull TypeToken<?> type) {
|
||||
return GenericTypeReflector.erase(type.getType()).isPrimitive();
|
||||
}
|
||||
|
||||
|
|
@ -194,7 +194,7 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
|
|||
@NonNull ParserParameters> {
|
||||
|
||||
@Override
|
||||
public @NonNull ParserParameters apply(@NonNull final Range range, @NonNull final TypeToken<?> type) {
|
||||
public @NonNull ParserParameters apply(final @NonNull Range range, final @NonNull TypeToken<?> type) {
|
||||
final Class<?> clazz;
|
||||
if (isPrimitive(type)) {
|
||||
clazz = PRIMITIVE_MAPPINGS.get(GenericTypeReflector.erase(type.getType()));
|
||||
|
|
@ -266,7 +266,7 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
|
|||
@NonNull ParserParameters> {
|
||||
|
||||
@Override
|
||||
public @NonNull ParserParameters apply(@NonNull final Completions completions, @NonNull final TypeToken<?> token) {
|
||||
public @NonNull ParserParameters apply(final @NonNull Completions completions, final @NonNull TypeToken<?> token) {
|
||||
if (GenericTypeReflector.erase(token.getType()).equals(String.class)) {
|
||||
final String[] splitCompletions = completions.value().replace(" ", "").split(",");
|
||||
return ParserParameters.single(StandardParameters.COMPLETIONS, splitCompletions);
|
||||
|
|
|
|||
|
|
@ -40,10 +40,10 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
private final boolean liberal;
|
||||
|
||||
private BooleanArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
final @NonNull String name,
|
||||
final boolean liberal,
|
||||
@NonNull final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
final @NonNull String defaultValue,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new BooleanParser<>(liberal), defaultValue, Boolean.class, suggestionsProvider);
|
||||
this.liberal = liberal;
|
||||
|
|
@ -56,7 +56,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> @NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -67,7 +67,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Boolean> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Boolean> of(final @NonNull String name) {
|
||||
return BooleanArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Boolean> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Boolean> optional(final @NonNull String name) {
|
||||
return BooleanArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Boolean> optional(@NonNull final String name,
|
||||
public static <C> @NonNull CommandArgument<C, Boolean> optional(final @NonNull String name,
|
||||
final boolean defaultBoolean) {
|
||||
return BooleanArgument.<C>newBuilder(name).asOptionalWithDefault(Boolean.toString(defaultBoolean)).build();
|
||||
}
|
||||
|
|
@ -108,7 +108,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
|
||||
private boolean liberal = false;
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(Boolean.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -154,8 +154,8 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<Boolean> parse(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
public @NonNull ArgumentParseResult<Boolean> parse(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -188,8 +188,8 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
if (!liberal) {
|
||||
return Arrays.asList("TRUE", "FALSE");
|
||||
}
|
||||
|
|
@ -218,7 +218,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
|
|||
* @param input String input
|
||||
* @param liberal Liberal value
|
||||
*/
|
||||
public BooleanParseException(@NonNull final String input,
|
||||
public BooleanParseException(final @NonNull String input,
|
||||
final boolean liberal) {
|
||||
this.input = input;
|
||||
this.liberal = liberal;
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
private final byte max;
|
||||
|
||||
private ByteArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
final @NonNull String name,
|
||||
final byte min,
|
||||
final byte max,
|
||||
@NonNull final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
final @NonNull String defaultValue,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new ByteParser<>(min, max), defaultValue, Byte.class, suggestionsProvider);
|
||||
this.min = min;
|
||||
|
|
@ -60,7 +60,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> @NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Byte> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Byte> of(final @NonNull String name) {
|
||||
return ByteArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Byte> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Byte> optional(final @NonNull String name) {
|
||||
return ByteArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Byte> optional(@NonNull final String name,
|
||||
public static <C> @NonNull CommandArgument<C, Byte> optional(final @NonNull String name,
|
||||
final byte defaultNum) {
|
||||
return ByteArgument.<C>newBuilder(name).asOptionalWithDefault(Byte.toString(defaultNum)).build();
|
||||
}
|
||||
|
|
@ -122,7 +122,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
private byte min = Byte.MIN_VALUE;
|
||||
private byte max = Byte.MAX_VALUE;
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(Byte.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -179,8 +179,8 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<Byte> parse(
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -208,8 +208,8 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
return IntegerArgument.IntegerParser.getSuggestions(this.min, this.max, input);
|
||||
}
|
||||
|
||||
|
|
@ -246,7 +246,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
|
|||
* @param min Minimum value
|
||||
* @param max Maximum value
|
||||
*/
|
||||
public ByteParseException(@NonNull final String input, final byte min, final byte max) {
|
||||
public ByteParseException(final @NonNull String input, final byte min, final byte max) {
|
||||
super(input, min, max);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,9 +38,9 @@ import java.util.function.BiFunction;
|
|||
public final class CharArgument<C> extends CommandArgument<C, Character> {
|
||||
|
||||
private CharArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>,
|
||||
final @NonNull String name,
|
||||
final @NonNull String defaultValue,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>,
|
||||
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new CharacterParser<>(), defaultValue, Character.class, suggestionsProvider);
|
||||
}
|
||||
|
|
@ -52,7 +52,7 @@ public final class CharArgument<C> extends CommandArgument<C, Character> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> CharArgument.@NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> CharArgument.@NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new CharArgument.Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -63,7 +63,7 @@ public final class CharArgument<C> extends CommandArgument<C, Character> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Character> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Character> of(final @NonNull String name) {
|
||||
return CharArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ public final class CharArgument<C> extends CommandArgument<C, Character> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Character> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Character> optional(final @NonNull String name) {
|
||||
return CharArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -86,15 +86,15 @@ public final class CharArgument<C> extends CommandArgument<C, Character> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Character> optional(@NonNull final String name,
|
||||
@NonNull final String defaultNum) {
|
||||
public static <C> @NonNull CommandArgument<C, Character> optional(final @NonNull String name,
|
||||
final @NonNull String defaultNum) {
|
||||
return CharArgument.<C>newBuilder(name).asOptionalWithDefault(defaultNum).build();
|
||||
}
|
||||
|
||||
|
||||
public static final class Builder<C> extends CommandArgument.Builder<C, Character> {
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(Character.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -115,8 +115,8 @@ public final class CharArgument<C> extends CommandArgument<C, Character> {
|
|||
public static final class CharacterParser<C> implements ArgumentParser<C, Character> {
|
||||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<Character> parse(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
public @NonNull ArgumentParseResult<Character> parse(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -149,7 +149,7 @@ public final class CharArgument<C> extends CommandArgument<C, Character> {
|
|||
*
|
||||
* @param input String input
|
||||
*/
|
||||
public CharParseException(@NonNull final String input) {
|
||||
public CharParseException(final @NonNull String input) {
|
||||
this.input = input;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
|
|||
private final double max;
|
||||
|
||||
private DoubleArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
final @NonNull String name,
|
||||
final double min,
|
||||
final double max,
|
||||
final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new DoubleParser<>(min, max), defaultValue, Double.class, suggestionsProvider);
|
||||
this.min = min;
|
||||
|
|
@ -60,7 +60,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> @NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Double> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Double> of(final @NonNull String name) {
|
||||
return DoubleArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Double> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Double> optional(final @NonNull String name) {
|
||||
return DoubleArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Double> optional(@NonNull final String name,
|
||||
public static <C> @NonNull CommandArgument<C, Double> optional(final @NonNull String name,
|
||||
final double defaultNum) {
|
||||
return DoubleArgument.<C>newBuilder(name).asOptionalWithDefault(Double.toString(defaultNum)).build();
|
||||
}
|
||||
|
|
@ -122,7 +122,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
|
|||
private double min = Double.MIN_VALUE;
|
||||
private double max = Double.MAX_VALUE;
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(Double.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -179,8 +179,8 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
|
|||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<Double> parse(
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -232,7 +232,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
|
|||
* @param min Minimum value
|
||||
* @param max Maximum value
|
||||
*/
|
||||
public DoubleParseException(@NonNull final String input, final double min, final double max) {
|
||||
public DoubleParseException(final @NonNull String input, final double min, final double max) {
|
||||
super(input, min, max);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,11 +45,11 @@ import java.util.stream.Collectors;
|
|||
@SuppressWarnings("unused")
|
||||
public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
||||
|
||||
protected EnumArgument(@NonNull final Class<E> enumClass,
|
||||
protected EnumArgument(final @NonNull Class<E> enumClass,
|
||||
final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
final @NonNull String name,
|
||||
final @NonNull String defaultValue,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new EnumParser<>(enumClass), defaultValue, enumClass, suggestionsProvider);
|
||||
}
|
||||
|
|
@ -65,7 +65,7 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
|||
*/
|
||||
public static <C, E extends Enum<E>> EnumArgument.@NonNull Builder<C, E> newBuilder(
|
||||
@NonNull final Class<E> enumClass,
|
||||
@NonNull final String name) {
|
||||
final @NonNull String name) {
|
||||
return new EnumArgument.Builder<>(name, enumClass);
|
||||
}
|
||||
|
||||
|
|
@ -79,8 +79,8 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
|||
* @return Created argument
|
||||
*/
|
||||
public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> of(
|
||||
@NonNull final Class<E> enumClass,
|
||||
@NonNull final String name) {
|
||||
final @NonNull Class<E> enumClass,
|
||||
final @NonNull String name) {
|
||||
return EnumArgument.<C, E>newBuilder(enumClass, name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -94,8 +94,8 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
|||
* @return Created argument
|
||||
*/
|
||||
public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> optional(
|
||||
@NonNull final Class<E> enumClass,
|
||||
@NonNull final String name) {
|
||||
final @NonNull Class<E> enumClass,
|
||||
final @NonNull String name) {
|
||||
return EnumArgument.<C, E>newBuilder(enumClass, name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -110,9 +110,9 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
|||
* @return Created argument
|
||||
*/
|
||||
public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> optional(
|
||||
@NonNull final Class<E> enumClass,
|
||||
@NonNull final String name,
|
||||
@NonNull final E defaultValue) {
|
||||
final @NonNull Class<E> enumClass,
|
||||
final @NonNull String name,
|
||||
final @NonNull E defaultValue) {
|
||||
return EnumArgument.<C, E>newBuilder(enumClass, name).asOptionalWithDefault(defaultValue.name().toLowerCase()).build();
|
||||
}
|
||||
|
||||
|
|
@ -121,7 +121,7 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
|||
|
||||
private final Class<E> enumClass;
|
||||
|
||||
protected Builder(@NonNull final String name, @NonNull final Class<E> enumClass) {
|
||||
protected Builder(final @NonNull String name, final @NonNull Class<E> enumClass) {
|
||||
super(enumClass, name);
|
||||
this.enumClass = enumClass;
|
||||
}
|
||||
|
|
@ -144,14 +144,14 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
|||
*
|
||||
* @param enumClass Enum class
|
||||
*/
|
||||
public EnumParser(@NonNull final Class<E> enumClass) {
|
||||
public EnumParser(final @NonNull Class<E> enumClass) {
|
||||
this.enumClass = enumClass;
|
||||
this.allowedValues = EnumSet.allOf(enumClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<E> parse(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
public @NonNull ArgumentParseResult<E> parse(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -168,8 +168,8 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
return EnumSet.allOf(this.enumClass).stream().map(e -> e.name().toLowerCase()).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
|
@ -191,14 +191,14 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
|
|||
* @param input Input
|
||||
* @param enumClass Enum class
|
||||
*/
|
||||
public EnumParseException(@NonNull final String input,
|
||||
@NonNull final Class<? extends Enum<?>> enumClass) {
|
||||
public EnumParseException(final @NonNull String input,
|
||||
final @NonNull Class<? extends Enum<?>> enumClass) {
|
||||
this.input = input;
|
||||
this.enumClass = enumClass;
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
private static @NonNull String join(@NonNull final Class<? extends Enum> clazz) {
|
||||
private static @NonNull String join(final @NonNull Class<? extends Enum> clazz) {
|
||||
final EnumSet<?> enumSet = EnumSet.allOf(clazz);
|
||||
return enumSet.stream()
|
||||
.map(e -> e.toString().toLowerCase())
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
|
|||
private final float max;
|
||||
|
||||
private FloatArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
final @NonNull String name,
|
||||
final float min,
|
||||
final float max,
|
||||
@NonNull final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>,
|
||||
final @NonNull String defaultValue,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>,
|
||||
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new FloatParser<>(min, max), defaultValue, Float.class, suggestionsProvider);
|
||||
this.min = min;
|
||||
|
|
@ -60,7 +60,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> @NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Float> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Float> of(final @NonNull String name) {
|
||||
return FloatArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Float> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Float> optional(final @NonNull String name) {
|
||||
return FloatArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Float> optional(@NonNull final String name,
|
||||
public static <C> @NonNull CommandArgument<C, Float> optional(final @NonNull String name,
|
||||
final float defaultNum) {
|
||||
return FloatArgument.<C>newBuilder(name).asOptionalWithDefault(Float.toString(defaultNum)).build();
|
||||
}
|
||||
|
|
@ -122,7 +122,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
|
|||
private float min = Float.MIN_VALUE;
|
||||
private float max = Float.MAX_VALUE;
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(Float.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -179,8 +179,8 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
|
|||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<Float> parse(
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<String> inputQueue) {
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -232,7 +232,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
|
|||
* @param min Minimum value
|
||||
* @param max Maximum value
|
||||
*/
|
||||
public FloatParseException(@NonNull final String input, final float min, final float max) {
|
||||
public FloatParseException(final @NonNull String input, final float min, final float max) {
|
||||
super(input, min, max);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,11 +49,11 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
private final int max;
|
||||
|
||||
private IntegerArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
final @NonNull String name,
|
||||
final int min,
|
||||
final int max,
|
||||
final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new IntegerParser<>(min, max), defaultValue, Integer.class, suggestionsProvider);
|
||||
this.min = min;
|
||||
|
|
@ -67,7 +67,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> @NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Integer> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Integer> of(final @NonNull String name) {
|
||||
return IntegerArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Integer> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Integer> optional(final @NonNull String name) {
|
||||
return IntegerArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Integer> optional(@NonNull final String name,
|
||||
public static <C> @NonNull CommandArgument<C, Integer> optional(final @NonNull String name,
|
||||
final int defaultNum) {
|
||||
return IntegerArgument.<C>newBuilder(name).asOptionalWithDefault(Integer.toString(defaultNum)).build();
|
||||
}
|
||||
|
|
@ -129,7 +129,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
private int min = Integer.MIN_VALUE;
|
||||
private int max = Integer.MAX_VALUE;
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(Integer.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -184,7 +184,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
this.max = max;
|
||||
}
|
||||
|
||||
static @NonNull List<@NonNull String> getSuggestions(final long min, final long max, @NonNull final String input) {
|
||||
static @NonNull List<@NonNull String> getSuggestions(final long min, final long max, final @NonNull String input) {
|
||||
if (input.isEmpty()) {
|
||||
return IntStream.range(0, MAX_SUGGESTIONS_INCREMENT).mapToObj(Integer::toString).collect(Collectors.toList());
|
||||
}
|
||||
|
|
@ -208,8 +208,8 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<Integer> parse(
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -250,8 +250,8 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
return getSuggestions(this.min, this.max, input);
|
||||
}
|
||||
|
||||
|
|
@ -267,7 +267,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
|
|||
* @param min Minimum value
|
||||
* @param max Maximum value
|
||||
*/
|
||||
public IntegerParseException(@NonNull final String input, final int min, final int max) {
|
||||
public IntegerParseException(final @NonNull String input, final int min, final int max) {
|
||||
super(input, min, max);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
private final long max;
|
||||
|
||||
private LongArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
final @NonNull String name,
|
||||
final long min,
|
||||
final long max,
|
||||
final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new LongParser<>(min, max), defaultValue, Long.class, suggestionsProvider);
|
||||
this.min = min;
|
||||
|
|
@ -60,7 +60,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> LongArgument.@NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> LongArgument.@NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Long> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Long> of(final @NonNull String name) {
|
||||
return LongArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Long> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Long> optional(final @NonNull String name) {
|
||||
return LongArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Long> optional(@NonNull final String name,
|
||||
public static <C> @NonNull CommandArgument<C, Long> optional(final @NonNull String name,
|
||||
final long defaultNum) {
|
||||
return LongArgument.<C>newBuilder(name).asOptionalWithDefault(Long.toString(defaultNum)).build();
|
||||
}
|
||||
|
|
@ -122,7 +122,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
private long min = Long.MIN_VALUE;
|
||||
private long max = Long.MAX_VALUE;
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(Long.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -173,8 +173,8 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<Long> parse(
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -197,8 +197,8 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
return IntegerArgument.IntegerParser.getSuggestions(this.min, this.max, input);
|
||||
}
|
||||
|
||||
|
|
@ -214,7 +214,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
|
|||
* @param min Minimum value
|
||||
* @param max Maximum value
|
||||
*/
|
||||
public LongParseException(@NonNull final String input, final long min, final long max) {
|
||||
public LongParseException(final @NonNull String input, final long min, final long max) {
|
||||
super(input, min, max);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
private final short max;
|
||||
|
||||
private ShortArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
final @NonNull String name,
|
||||
final short min,
|
||||
final short max,
|
||||
final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<String>> suggestionsProvider) {
|
||||
super(required, name, new ShortParser<>(min, max), defaultValue, Short.class, suggestionsProvider);
|
||||
this.min = min;
|
||||
|
|
@ -60,7 +60,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> ShortArgument.@NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> ShortArgument.@NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Short> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Short> of(final @NonNull String name) {
|
||||
return ShortArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Short> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, Short> optional(final @NonNull String name) {
|
||||
return ShortArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, Short> optional(@NonNull final String name,
|
||||
public static <C> @NonNull CommandArgument<C, Short> optional(final @NonNull String name,
|
||||
final short defaultNum) {
|
||||
return ShortArgument.<C>newBuilder(name).asOptionalWithDefault(Short.toString(defaultNum)).build();
|
||||
}
|
||||
|
|
@ -122,7 +122,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
private short min = Short.MIN_VALUE;
|
||||
private short max = Short.MAX_VALUE;
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(Short.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -179,8 +179,8 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<Short> parse(
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -203,8 +203,8 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
return IntegerArgument.IntegerParser.getSuggestions(this.min, this.max, input);
|
||||
}
|
||||
|
||||
|
|
@ -238,7 +238,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
|
|||
* @param min Minimum value
|
||||
* @param max Maximum value
|
||||
*/
|
||||
public ShortParseException(@NonNull final String input, final short min, final short max) {
|
||||
public ShortParseException(final @NonNull String input, final short min, final short max) {
|
||||
super(input, min, max);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,10 +41,10 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
private final StringMode stringMode;
|
||||
|
||||
private StringArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final StringMode stringMode,
|
||||
@NonNull final String defaultValue,
|
||||
@NonNull final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
final @NonNull String name,
|
||||
final @NonNull StringMode stringMode,
|
||||
final @NonNull String defaultValue,
|
||||
final @NonNull BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new StringParser<>(stringMode, suggestionsProvider),
|
||||
defaultValue, String.class, suggestionsProvider);
|
||||
|
|
@ -58,7 +58,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> StringArgument.@NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> StringArgument.@NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new StringArgument.Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, String> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, String> of(final @NonNull String name) {
|
||||
return StringArgument.<C>newBuilder(name).single().asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -81,8 +81,8 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, String> of(@NonNull final String name,
|
||||
@NonNull final StringMode stringMode) {
|
||||
public static <C> @NonNull CommandArgument<C, String> of(final @NonNull String name,
|
||||
final @NonNull StringMode stringMode) {
|
||||
return StringArgument.<C>newBuilder(name).withMode(stringMode).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, String> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, String> optional(final @NonNull String name) {
|
||||
return StringArgument.<C>newBuilder(name).single().asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -105,8 +105,8 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, String> optional(@NonNull final String name,
|
||||
@NonNull final StringMode stringMode) {
|
||||
public static <C> @NonNull CommandArgument<C, String> optional(final @NonNull String name,
|
||||
final @NonNull StringMode stringMode) {
|
||||
return StringArgument.<C>newBuilder(name).withMode(stringMode).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -118,8 +118,8 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created argument
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, String> optional(@NonNull final String name,
|
||||
@NonNull final String defaultString) {
|
||||
public static <C> @NonNull CommandArgument<C, String> optional(final @NonNull String name,
|
||||
final @NonNull String defaultString) {
|
||||
return StringArgument.<C>newBuilder(name).asOptionalWithDefault(defaultString).build();
|
||||
}
|
||||
|
||||
|
|
@ -145,11 +145,11 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
private StringMode stringMode = StringMode.SINGLE;
|
||||
private BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider = (v1, v2) -> Collections.emptyList();
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(String.class, name);
|
||||
}
|
||||
|
||||
private @NonNull Builder<C> withMode(@NonNull final StringMode stringMode) {
|
||||
private @NonNull Builder<C> withMode(final @NonNull StringMode stringMode) {
|
||||
this.stringMode = stringMode;
|
||||
return this;
|
||||
}
|
||||
|
|
@ -190,7 +190,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param suggestionsProvider Suggestions provider
|
||||
* @return Builder instance
|
||||
*/
|
||||
public @NonNull Builder<C> withSuggestionsProvider(@NonNull final BiFunction<@NonNull CommandContext<C>,
|
||||
public @NonNull Builder<C> withSuggestionsProvider(final @NonNull BiFunction<@NonNull CommandContext<C>,
|
||||
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
this.suggestionsProvider = suggestionsProvider;
|
||||
return this;
|
||||
|
|
@ -221,16 +221,16 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param stringMode String parsing mode
|
||||
* @param suggestionsProvider Suggestions provider
|
||||
*/
|
||||
public StringParser(@NonNull final StringMode stringMode,
|
||||
@NonNull final BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
public StringParser(final @NonNull StringMode stringMode,
|
||||
final @NonNull BiFunction<@NonNull CommandContext<C>, @NonNull String,
|
||||
@NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
this.stringMode = stringMode;
|
||||
this.suggestionsProvider = suggestionsProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<String> parse(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
public @NonNull ArgumentParseResult<String> parse(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -294,8 +294,8 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final String input) {
|
||||
public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull String input) {
|
||||
return this.suggestionsProvider.apply(commandContext, input);
|
||||
}
|
||||
|
||||
|
|
@ -326,7 +326,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
|
|||
* @param input Input
|
||||
* @param stringMode String mode
|
||||
*/
|
||||
public StringParseException(@NonNull final String input, @NonNull final StringMode stringMode) {
|
||||
public StringParseException(final @NonNull String input, final @NonNull StringMode stringMode) {
|
||||
this.input = input;
|
||||
this.stringMode = stringMode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,9 +39,9 @@ import java.util.function.BiFunction;
|
|||
public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
|
||||
|
||||
private UUIDArgument(final boolean required,
|
||||
@NonNull final String name,
|
||||
@NonNull final String defaultValue,
|
||||
@Nullable final BiFunction<@NonNull CommandContext<C>,
|
||||
final @NonNull String name,
|
||||
final @NonNull String defaultValue,
|
||||
final @Nullable BiFunction<@NonNull CommandContext<C>,
|
||||
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
|
||||
super(required, name, new UUIDParser<>(), defaultValue, UUID.class, suggestionsProvider);
|
||||
}
|
||||
|
|
@ -53,7 +53,7 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created builder
|
||||
*/
|
||||
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String name) {
|
||||
public static <C> @NonNull Builder<C> newBuilder(final @NonNull String name) {
|
||||
return new Builder<>(name);
|
||||
}
|
||||
|
||||
|
|
@ -64,7 +64,7 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created component
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, UUID> of(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, UUID> of(final @NonNull String name) {
|
||||
return UUIDArgument.<C>newBuilder(name).asRequired().build();
|
||||
}
|
||||
|
||||
|
|
@ -75,7 +75,7 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created component
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, UUID> optional(@NonNull final String name) {
|
||||
public static <C> @NonNull CommandArgument<C, UUID> optional(final @NonNull String name) {
|
||||
return UUIDArgument.<C>newBuilder(name).asOptional().build();
|
||||
}
|
||||
|
||||
|
|
@ -87,15 +87,15 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
|
|||
* @param <C> Command sender type
|
||||
* @return Created component
|
||||
*/
|
||||
public static <C> @NonNull CommandArgument<C, UUID> optional(@NonNull final String name,
|
||||
@NonNull final UUID defaultUUID) {
|
||||
public static <C> @NonNull CommandArgument<C, UUID> optional(final @NonNull String name,
|
||||
final @NonNull UUID defaultUUID) {
|
||||
return UUIDArgument.<C>newBuilder(name).asOptionalWithDefault(defaultUUID.toString()).build();
|
||||
}
|
||||
|
||||
|
||||
public static final class Builder<C> extends CommandArgument.Builder<C, UUID> {
|
||||
|
||||
protected Builder(@NonNull final String name) {
|
||||
protected Builder(final @NonNull String name) {
|
||||
super(UUID.class, name);
|
||||
}
|
||||
|
||||
|
|
@ -116,8 +116,8 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
|
|||
|
||||
@Override
|
||||
public @NonNull ArgumentParseResult<UUID> parse(
|
||||
@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> inputQueue) {
|
||||
final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> inputQueue) {
|
||||
final String input = inputQueue.peek();
|
||||
if (input == null) {
|
||||
return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
|
||||
|
|
@ -148,7 +148,7 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
|
|||
*
|
||||
* @param input String input
|
||||
*/
|
||||
public UUIDParseException(@NonNull final String input) {
|
||||
public UUIDParseException(final @NonNull String input) {
|
||||
this.input = input;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public final class CommandContext<C> {
|
|||
*
|
||||
* @param commandSender Sender of the command
|
||||
*/
|
||||
public CommandContext(@NonNull final C commandSender) {
|
||||
public CommandContext(final @NonNull C commandSender) {
|
||||
this(false, commandSender);
|
||||
}
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ public final class CommandContext<C> {
|
|||
* @param commandSender Sender of the command
|
||||
*/
|
||||
public CommandContext(final boolean suggestions,
|
||||
@NonNull final C commandSender) {
|
||||
final @NonNull C commandSender) {
|
||||
this.commandSender = commandSender;
|
||||
this.suggestions = suggestions;
|
||||
}
|
||||
|
|
@ -93,7 +93,7 @@ public final class CommandContext<C> {
|
|||
* @param value Value
|
||||
* @param <T> Value type
|
||||
*/
|
||||
public <T> void store(@NonNull final String key, @NonNull final T value) {
|
||||
public <T> void store(final @NonNull String key, final @NonNull T value) {
|
||||
this.internalStorage.put(key, value);
|
||||
}
|
||||
|
||||
|
|
@ -105,7 +105,7 @@ public final class CommandContext<C> {
|
|||
* @param <T> Value type
|
||||
* @return Value
|
||||
*/
|
||||
public <T> @NonNull Optional<T> getOptional(@NonNull final String key) {
|
||||
public <T> @NonNull Optional<T> getOptional(final @NonNull String key) {
|
||||
final Object value = this.internalStorage.get(key);
|
||||
if (value != null) {
|
||||
@SuppressWarnings("ALL") final T castedValue = (T) value;
|
||||
|
|
@ -120,7 +120,7 @@ public final class CommandContext<C> {
|
|||
*
|
||||
* @param key Key to remove
|
||||
*/
|
||||
public void remove(@NonNull final String key) {
|
||||
public void remove(final @NonNull String key) {
|
||||
this.internalStorage.remove(key);
|
||||
}
|
||||
|
||||
|
|
@ -134,7 +134,7 @@ public final class CommandContext<C> {
|
|||
* @throws NullPointerException If no such argument is stored
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> @NonNull T get(@NonNull final String key) {
|
||||
public <T> @NonNull T get(final @NonNull String key) {
|
||||
final Object value = this.internalStorage.get(key);
|
||||
if (value == null) {
|
||||
throw new NullPointerException("No such object stored in the context: " + key);
|
||||
|
|
@ -150,8 +150,8 @@ public final class CommandContext<C> {
|
|||
* @param <T> Argument type
|
||||
* @return Argument, or supplied default value
|
||||
*/
|
||||
public <T> @Nullable T getOrDefault(@NonNull final String key,
|
||||
@Nullable final T defaultValue) {
|
||||
public <T> @Nullable T getOrDefault(final @NonNull String key,
|
||||
final @Nullable T defaultValue) {
|
||||
return this.<T>getOptional(key).orElse(defaultValue);
|
||||
}
|
||||
|
||||
|
|
@ -161,7 +161,7 @@ public final class CommandContext<C> {
|
|||
* @param argument Argument
|
||||
* @return Created timing instance
|
||||
*/
|
||||
public @NonNull ArgumentTiming createTiming(@NonNull final CommandArgument<C, ?> argument) {
|
||||
public @NonNull ArgumentTiming createTiming(final @NonNull CommandArgument<C, ?> argument) {
|
||||
final ArgumentTiming argumentTiming = new ArgumentTiming();
|
||||
this.argumentTimings.put(argument, argumentTiming);
|
||||
return argumentTiming;
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class StandardCommandContextFactory<C> implements CommandContextFac
|
|||
* @return Created context
|
||||
*/
|
||||
@Override
|
||||
public CommandContext<C> create(final boolean suggestions, @NonNull final C sender) {
|
||||
public CommandContext<C> create(final boolean suggestions, final @NonNull C sender) {
|
||||
return new CommandContext<>(suggestions, sender);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,9 +51,9 @@ public final class AmbiguousNodeException extends IllegalStateException {
|
|||
* @param ambiguousNode Node that caused exception
|
||||
* @param children All children of the parent
|
||||
*/
|
||||
public AmbiguousNodeException(@Nullable final CommandArgument<?, ?> parentNode,
|
||||
@NonNull final CommandArgument<?, ?> ambiguousNode,
|
||||
@NonNull final List<@NonNull CommandArgument<?, ?>> children) {
|
||||
public AmbiguousNodeException(final @Nullable CommandArgument<?, ?> parentNode,
|
||||
final @NonNull CommandArgument<?, ?> ambiguousNode,
|
||||
final @NonNull List<@NonNull CommandArgument<?, ?>> children) {
|
||||
this.parentNode = parentNode;
|
||||
this.ambiguousNode = ambiguousNode;
|
||||
this.children = children;
|
||||
|
|
|
|||
|
|
@ -39,9 +39,9 @@ public class ArgumentParseException extends CommandParseException {
|
|||
* @param commandSender Command sender
|
||||
* @param currentChain Chain leading up to the exception
|
||||
*/
|
||||
public ArgumentParseException(@NonNull final Throwable throwable,
|
||||
@NonNull final Object commandSender,
|
||||
@NonNull final List<@NonNull CommandArgument<?, ?>> currentChain) {
|
||||
public ArgumentParseException(final @NonNull Throwable throwable,
|
||||
final @NonNull Object commandSender,
|
||||
final @NonNull List<@NonNull CommandArgument<?, ?>> currentChain) {
|
||||
super(commandSender, currentChain);
|
||||
this.cause = throwable;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,8 +44,8 @@ public class CommandParseException extends IllegalArgumentException {
|
|||
* @param commandSender Sender who executed the command
|
||||
* @param currentChain Chain leading up to the exception
|
||||
*/
|
||||
protected CommandParseException(@NonNull final Object commandSender,
|
||||
@NonNull final List<CommandArgument<?, ?>> currentChain) {
|
||||
protected CommandParseException(final @NonNull Object commandSender,
|
||||
final @NonNull List<CommandArgument<?, ?>> currentChain) {
|
||||
this.commandSender = commandSender;
|
||||
this.currentChain = currentChain;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,9 +42,9 @@ public final class InvalidCommandSenderException extends CommandParseException {
|
|||
* @param requiredSender The sender type that is required
|
||||
* @param currentChain Chain leading up to the exception
|
||||
*/
|
||||
public InvalidCommandSenderException(@NonNull final Object commandSender,
|
||||
@NonNull final Class<?> requiredSender,
|
||||
@NonNull final List<@NonNull CommandArgument<?, ?>> currentChain) {
|
||||
public InvalidCommandSenderException(final @NonNull Object commandSender,
|
||||
final @NonNull Class<?> requiredSender,
|
||||
final @NonNull List<@NonNull CommandArgument<?, ?>> currentChain) {
|
||||
super(commandSender, currentChain);
|
||||
this.requiredSender = requiredSender;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ public class InvalidSyntaxException extends CommandParseException {
|
|||
* @param commandSender Sender that sent the command
|
||||
* @param currentChain Chain leading up to issue
|
||||
*/
|
||||
public InvalidSyntaxException(@NonNull final String correctSyntax,
|
||||
@NonNull final Object commandSender,
|
||||
@NonNull final List<@NonNull CommandArgument<?, ?>> currentChain) {
|
||||
public InvalidSyntaxException(final @NonNull String correctSyntax,
|
||||
final @NonNull Object commandSender,
|
||||
final @NonNull List<@NonNull CommandArgument<?, ?>> currentChain) {
|
||||
super(commandSender, currentChain);
|
||||
this.correctSyntax = correctSyntax;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class NoCommandInLeafException extends IllegalStateException {
|
|||
*
|
||||
* @param commandArgument Command argument that caused the exception
|
||||
*/
|
||||
public NoCommandInLeafException(@NonNull final CommandArgument<?, ?> commandArgument) {
|
||||
public NoCommandInLeafException(final @NonNull CommandArgument<?, ?> commandArgument) {
|
||||
super(String.format("Leaf node '%s' does not have associated owning command", commandArgument.getName()));
|
||||
this.commandArgument = commandArgument;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,9 +46,9 @@ public class NoPermissionException extends CommandParseException {
|
|||
* @param commandSender Command sender
|
||||
* @param currentChain Chain leading up to the exception
|
||||
*/
|
||||
public NoPermissionException(@NonNull final CommandPermission missingPermission,
|
||||
@NonNull final Object commandSender,
|
||||
@NonNull final List<@NonNull CommandArgument<?, ?>> currentChain) {
|
||||
public NoPermissionException(final @NonNull CommandPermission missingPermission,
|
||||
final @NonNull Object commandSender,
|
||||
final @NonNull List<@NonNull CommandArgument<?, ?>> currentChain) {
|
||||
super(commandSender, currentChain);
|
||||
this.missingPermission = missingPermission;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,9 +44,9 @@ public final class NoSuchCommandException extends CommandParseException {
|
|||
* @param currentChain Chain leading up to the exception
|
||||
* @param command Entered command (following the command chain)
|
||||
*/
|
||||
public NoSuchCommandException(@NonNull final Object commandSender,
|
||||
@NonNull final List<CommandArgument<?, ?>> currentChain,
|
||||
@NonNull final String command) {
|
||||
public NoSuchCommandException(final @NonNull Object commandSender,
|
||||
final @NonNull List<CommandArgument<?, ?>> currentChain,
|
||||
final @NonNull String command) {
|
||||
super(commandSender, currentChain);
|
||||
this.suppliedCommand = command;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,9 +38,9 @@ public abstract class NumberParseException extends IllegalArgumentException {
|
|||
* @param min Maximum value
|
||||
* @param max Minimum value
|
||||
*/
|
||||
public NumberParseException(@NonNull final String input,
|
||||
@NonNull final Number min,
|
||||
@NonNull final Number max) {
|
||||
public NumberParseException(final @NonNull String input,
|
||||
final @NonNull Number min,
|
||||
final @NonNull Number max) {
|
||||
this.input = input;
|
||||
this.min = min;
|
||||
this.max = max;
|
||||
|
|
|
|||
|
|
@ -50,9 +50,9 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
|
|||
private final Executor executor;
|
||||
private final boolean synchronizeParsing;
|
||||
|
||||
private AsynchronousCommandExecutionCoordinator(@Nullable final Executor executor,
|
||||
private AsynchronousCommandExecutionCoordinator(final @Nullable Executor executor,
|
||||
final boolean synchronizeParsing,
|
||||
@NonNull final CommandTree<C> commandTree) {
|
||||
final @NonNull CommandTree<C> commandTree) {
|
||||
super(commandTree);
|
||||
this.executor = executor;
|
||||
this.synchronizeParsing = synchronizeParsing;
|
||||
|
|
@ -70,8 +70,8 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull CompletableFuture<CommandResult<C>> coordinateExecution(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> input) {
|
||||
public @NonNull CompletableFuture<CommandResult<C>> coordinateExecution(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> input) {
|
||||
|
||||
final Consumer<Command<C>> commandConsumer = command -> {
|
||||
if (this.commandManager.postprocessContext(commandContext, command) == State.ACCEPTED) {
|
||||
|
|
@ -140,7 +140,7 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
|
|||
* @param executor Executor to use
|
||||
* @return Builder instance
|
||||
*/
|
||||
public @NonNull Builder<C> withExecutor(@NonNull final Executor executor) {
|
||||
public @NonNull Builder<C> withExecutor(final @NonNull Executor executor) {
|
||||
this.executor = executor;
|
||||
return this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public abstract class CommandExecutionCoordinator<C> {
|
|||
*
|
||||
* @param commandTree Command tree
|
||||
*/
|
||||
public CommandExecutionCoordinator(@NonNull final CommandTree<C> commandTree) {
|
||||
public CommandExecutionCoordinator(final @NonNull CommandTree<C> commandTree) {
|
||||
this.commandTree = commandTree;
|
||||
}
|
||||
|
||||
|
|
@ -92,13 +92,13 @@ public abstract class CommandExecutionCoordinator<C> {
|
|||
public static final class SimpleCoordinator<C> extends
|
||||
CommandExecutionCoordinator<C> {
|
||||
|
||||
private SimpleCoordinator(@NonNull final CommandTree<C> commandTree) {
|
||||
private SimpleCoordinator(final @NonNull CommandTree<C> commandTree) {
|
||||
super(commandTree);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<CommandResult<C>> coordinateExecution(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final Queue<@NonNull String> input) {
|
||||
public CompletableFuture<CommandResult<C>> coordinateExecution(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull Queue<@NonNull String> input) {
|
||||
final CompletableFuture<CommandResult<C>> completableFuture = new CompletableFuture<>();
|
||||
try {
|
||||
this.getCommandTree().parse(commandContext, input).ifPresent(command -> {
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public interface CommandExecutionHandler<C> {
|
|||
class NullCommandExecutionHandler<C> implements CommandExecutionHandler<C> {
|
||||
|
||||
@Override
|
||||
public void execute(@NonNull final CommandContext<C> commandContext) {
|
||||
public void execute(final @NonNull CommandContext<C> commandContext) {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public class CommandResult<C> {
|
|||
*
|
||||
* @param context Command context
|
||||
*/
|
||||
public CommandResult(@NonNull final CommandContext<C> context) {
|
||||
public CommandResult(final @NonNull CommandContext<C> context) {
|
||||
this.commandContext = context;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@ import java.util.List;
|
|||
public final class FilteringCommandSuggestionProcessor<C> implements CommandSuggestionProcessor<C> {
|
||||
|
||||
@Override
|
||||
public @NonNull List<@NonNull String> apply(@NonNull final CommandPreprocessingContext<C> context,
|
||||
@NonNull final List<@NonNull String> strings) {
|
||||
public @NonNull List<@NonNull String> apply(final @NonNull CommandPreprocessingContext<C> context,
|
||||
final @NonNull List<@NonNull String> strings) {
|
||||
final String input;
|
||||
if (context.getInputQueue().isEmpty()) {
|
||||
input = "";
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class AcceptingCommandPostprocessor<C> implements CommandPostproces
|
|||
public static final String PROCESSED_INDICATOR_KEY = "__COMMAND_POST_PROCESSED__";
|
||||
|
||||
@Override
|
||||
public void accept(@NonNull final CommandPostprocessingContext<C> context) {
|
||||
public void accept(final @NonNull CommandPostprocessingContext<C> context) {
|
||||
context.getCommandContext().store(PROCESSED_INDICATOR_KEY, "true");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ public final class CommandPostprocessingContext<C> {
|
|||
* @param commandContext Command context
|
||||
* @param command Command instance
|
||||
*/
|
||||
public CommandPostprocessingContext(@NonNull final CommandContext<@NonNull C> commandContext,
|
||||
@NonNull final Command<@NonNull C> command) {
|
||||
public CommandPostprocessingContext(final @NonNull CommandContext<@NonNull C> commandContext,
|
||||
final @NonNull Command<@NonNull C> command) {
|
||||
this.commandContext = commandContext;
|
||||
this.command = command;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class AcceptingCommandPreprocessor<C> implements CommandPreprocesso
|
|||
public static final String PROCESSED_INDICATOR_KEY = "__COMMAND_PRE_PROCESSED__";
|
||||
|
||||
@Override
|
||||
public void accept(@NonNull final CommandPreprocessingContext<C> context) {
|
||||
public void accept(final @NonNull CommandPreprocessingContext<C> context) {
|
||||
context.getCommandContext().store(PROCESSED_INDICATOR_KEY, "true");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ public final class CommandPreprocessingContext<C> {
|
|||
* @param commandContext Command context
|
||||
* @param inputQueue Command input as supplied by sender
|
||||
*/
|
||||
public CommandPreprocessingContext(@NonNull final CommandContext<C> commandContext,
|
||||
@NonNull final LinkedList<@NonNull String> inputQueue) {
|
||||
public CommandPreprocessingContext(final @NonNull CommandContext<C> commandContext,
|
||||
final @NonNull LinkedList<@NonNull String> inputQueue) {
|
||||
this.commandContext = commandContext;
|
||||
this.inputQueue = inputQueue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,9 +73,9 @@ public class CommandConfirmationManager<C> {
|
|||
* @param errorNotifier Notifier that gets called when someone tries to confirm a command with nothing in the queue
|
||||
*/
|
||||
public CommandConfirmationManager(final long timeout,
|
||||
@NonNull final TimeUnit timeoutTimeUnit,
|
||||
@NonNull final Consumer<@NonNull CommandPostprocessingContext<C>> notifier,
|
||||
@NonNull final Consumer<@NonNull C> errorNotifier) {
|
||||
final @NonNull TimeUnit timeoutTimeUnit,
|
||||
final @NonNull Consumer<@NonNull CommandPostprocessingContext<C>> notifier,
|
||||
final @NonNull Consumer<@NonNull C> errorNotifier) {
|
||||
this.notifier = notifier;
|
||||
this.errorNotifier = errorNotifier;
|
||||
this.pendingCommands = new LinkedHashMap<C, Pair<CommandPostprocessingContext<C>, Long>>() {
|
||||
|
|
@ -87,11 +87,11 @@ public class CommandConfirmationManager<C> {
|
|||
this.timeoutMillis = timeoutTimeUnit.toMillis(timeout);
|
||||
}
|
||||
|
||||
private void notifyConsumer(@NonNull final CommandPostprocessingContext<C> context) {
|
||||
private void notifyConsumer(final @NonNull CommandPostprocessingContext<C> context) {
|
||||
this.notifier.accept(context);
|
||||
}
|
||||
|
||||
private void addPending(@NonNull final CommandPostprocessingContext<C> context) {
|
||||
private void addPending(final @NonNull CommandPostprocessingContext<C> context) {
|
||||
this.pendingCommands.put(context.getCommandContext().getSender(), Pair.of(context, System.currentTimeMillis()));
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ public class CommandConfirmationManager<C> {
|
|||
* @param sender Sender
|
||||
* @return Optional containing the post processing context if one has been stored, else {@link Optional#empty()}
|
||||
*/
|
||||
public @NonNull Optional<CommandPostprocessingContext<C>> getPending(@NonNull final C sender) {
|
||||
public @NonNull Optional<CommandPostprocessingContext<C>> getPending(final @NonNull C sender) {
|
||||
final Pair<CommandPostprocessingContext<C>, Long> pair = this.pendingCommands.remove(sender);
|
||||
if (pair != null) {
|
||||
if (System.currentTimeMillis() < pair.getSecond() + this.timeoutMillis) {
|
||||
|
|
@ -126,7 +126,7 @@ public class CommandConfirmationManager<C> {
|
|||
*
|
||||
* @param manager Command manager
|
||||
*/
|
||||
public void registerConfirmationProcessor(@NonNull final CommandManager<C> manager) {
|
||||
public void registerConfirmationProcessor(final @NonNull CommandManager<C> manager) {
|
||||
manager.registerCommandPostProcessor(new CommandConfirmationPostProcessor());
|
||||
}
|
||||
|
||||
|
|
@ -153,7 +153,7 @@ public class CommandConfirmationManager<C> {
|
|||
private final class CommandConfirmationPostProcessor implements CommandPostprocessor<C> {
|
||||
|
||||
@Override
|
||||
public void accept(@NonNull final CommandPostprocessingContext<C> context) {
|
||||
public void accept(final @NonNull CommandPostprocessingContext<C> context) {
|
||||
if (!context.getCommand()
|
||||
.getCommandMeta()
|
||||
.getOrDefault(CONFIRMATION_REQUIRED_META, "false")
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public interface CommandRegistrationHandler {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean registerCommand(@NonNull final Command<?> command) {
|
||||
public boolean registerCommand(final @NonNull Command<?> command) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public class SimpleCommandMeta extends CommandMeta {
|
|||
|
||||
private final Map<String, String> metaMap;
|
||||
|
||||
protected SimpleCommandMeta(@NonNull final Map<@NonNull String, @NonNull String> metaMap) {
|
||||
protected SimpleCommandMeta(final @NonNull Map<@NonNull String, @NonNull String> metaMap) {
|
||||
this.metaMap = Collections.unmodifiableMap(metaMap);
|
||||
}
|
||||
|
||||
|
|
@ -62,12 +62,12 @@ public class SimpleCommandMeta extends CommandMeta {
|
|||
}
|
||||
|
||||
@Override
|
||||
public final @NonNull Optional<String> getValue(@NonNull final String key) {
|
||||
public final @NonNull Optional<String> getValue(final @NonNull String key) {
|
||||
return Optional.ofNullable(this.metaMap.get(key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final @NonNull String getOrDefault(@NonNull final String key, @NonNull final String defaultValue) {
|
||||
public final @NonNull String getOrDefault(final @NonNull String key, final @NonNull String defaultValue) {
|
||||
return this.getValue(key).orElse(defaultValue);
|
||||
}
|
||||
|
||||
|
|
@ -109,7 +109,7 @@ public class SimpleCommandMeta extends CommandMeta {
|
|||
* @param commandMeta Existing instance
|
||||
* @return Builder instance
|
||||
*/
|
||||
public @NonNull Builder with(@NonNull final CommandMeta commandMeta) {
|
||||
public @NonNull Builder with(final @NonNull CommandMeta commandMeta) {
|
||||
commandMeta.getAll().forEach(this::with);
|
||||
return this;
|
||||
}
|
||||
|
|
@ -121,8 +121,8 @@ public class SimpleCommandMeta extends CommandMeta {
|
|||
* @param value Value
|
||||
* @return Builder instance
|
||||
*/
|
||||
public @NonNull Builder with(@NonNull final String key,
|
||||
@NonNull final String value) {
|
||||
public @NonNull Builder with(final @NonNull String key,
|
||||
final @NonNull String value) {
|
||||
this.map.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class OrPermission implements CommandPermission {
|
|||
|
||||
private final Collection<CommandPermission> permissions;
|
||||
|
||||
private OrPermission(@NonNull final Collection<CommandPermission> permissions) {
|
||||
private OrPermission(final @NonNull Collection<CommandPermission> permissions) {
|
||||
this.permissions = permissions;
|
||||
}
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ public final class OrPermission implements CommandPermission {
|
|||
* @param permissions Permissions to join
|
||||
* @return Constructed permission
|
||||
*/
|
||||
public static @NonNull CommandPermission of(@NonNull final Collection<CommandPermission> permissions) {
|
||||
public static @NonNull CommandPermission of(final @NonNull Collection<CommandPermission> permissions) {
|
||||
final Set<CommandPermission> permissionSet = new HashSet<>();
|
||||
for (final CommandPermission permission : permissions) {
|
||||
permissionSet.addAll(permission.getPermissions());
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class Permission implements CommandPermission {
|
|||
|
||||
private final String permission;
|
||||
|
||||
private Permission(@NonNull final String permission) {
|
||||
private Permission(final @NonNull String permission) {
|
||||
this.permission = permission;
|
||||
}
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ public final class Permission implements CommandPermission {
|
|||
* @param string Command permission
|
||||
* @return Created command permission
|
||||
*/
|
||||
public static @NonNull Permission of(@NonNull final String string) {
|
||||
public static @NonNull Permission of(final @NonNull String string) {
|
||||
return new Permission(string);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class DynamicTuple implements Tuple {
|
|||
|
||||
private final Object[] internalArray;
|
||||
|
||||
private DynamicTuple(@NonNull final Object @NonNull [] internalArray) {
|
||||
private DynamicTuple(final @NonNull Object @NonNull [] internalArray) {
|
||||
this.internalArray = internalArray;
|
||||
}
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ public final class DynamicTuple implements Tuple {
|
|||
* @param elements Elements that should be contained in the tuple
|
||||
* @return Created tuple, preserving the order of the given elements
|
||||
*/
|
||||
public static @NonNull DynamicTuple of(@NonNull final Object... elements) {
|
||||
public static @NonNull DynamicTuple of(final @NonNull Object... elements) {
|
||||
return new DynamicTuple(elements);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,8 +38,8 @@ public class Pair<U, V> implements Tuple {
|
|||
private final U first;
|
||||
private final V second;
|
||||
|
||||
protected Pair(@NonNull final U first,
|
||||
@NonNull final V second) {
|
||||
protected Pair(final @NonNull U first,
|
||||
final @NonNull V second) {
|
||||
this.first = first;
|
||||
this.second = second;
|
||||
}
|
||||
|
|
@ -53,8 +53,8 @@ public class Pair<U, V> implements Tuple {
|
|||
* @param <V> Second type
|
||||
* @return Created pair
|
||||
*/
|
||||
public static <U, V> @NonNull Pair<@NonNull U, @NonNull V> of(@NonNull final U first,
|
||||
@NonNull final V second) {
|
||||
public static <U, V> @NonNull Pair<@NonNull U, @NonNull V> of(final @NonNull U first,
|
||||
final @NonNull V second) {
|
||||
return new Pair<>(first, second);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,10 +42,10 @@ public class Quartet<U, V, W, X> implements Tuple {
|
|||
private final W third;
|
||||
private final X fourth;
|
||||
|
||||
protected Quartet(@NonNull final U first,
|
||||
@NonNull final V second,
|
||||
@NonNull final W third,
|
||||
@NonNull final X fourth) {
|
||||
protected Quartet(final @NonNull U first,
|
||||
final @NonNull V second,
|
||||
final @NonNull W third,
|
||||
final @NonNull X fourth) {
|
||||
this.first = first;
|
||||
this.second = second;
|
||||
this.third = third;
|
||||
|
|
@ -65,10 +65,10 @@ public class Quartet<U, V, W, X> implements Tuple {
|
|||
* @param <X> Fourth type
|
||||
* @return Created quartet
|
||||
*/
|
||||
public static <U, V, W, X> @NonNull Quartet<@NonNull U, @NonNull V, @NonNull W, @NonNull X> of(@NonNull final U first,
|
||||
@NonNull final V second,
|
||||
@NonNull final W third,
|
||||
@NonNull final X fourth) {
|
||||
public static <U, V, W, X> @NonNull Quartet<@NonNull U, @NonNull V, @NonNull W, @NonNull X> of(final @NonNull U first,
|
||||
final @NonNull V second,
|
||||
final @NonNull W third,
|
||||
final @NonNull X fourth) {
|
||||
return new Quartet<>(first, second, third, fourth);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,11 +44,11 @@ public class Quintet<U, V, W, X, Y> implements Tuple {
|
|||
private final X fourth;
|
||||
private final Y fifth;
|
||||
|
||||
protected Quintet(@NonNull final U first,
|
||||
@NonNull final V second,
|
||||
@NonNull final W third,
|
||||
@NonNull final X fourth,
|
||||
@NonNull final Y fifth) {
|
||||
protected Quintet(final @NonNull U first,
|
||||
final @NonNull V second,
|
||||
final @NonNull W third,
|
||||
final @NonNull X fourth,
|
||||
final @NonNull Y fifth) {
|
||||
this.first = first;
|
||||
this.second = second;
|
||||
this.third = third;
|
||||
|
|
@ -72,11 +72,11 @@ public class Quintet<U, V, W, X, Y> implements Tuple {
|
|||
* @return Created quintet
|
||||
*/
|
||||
public static <U, V, W, X, Y> @NonNull Quintet<@NonNull U, @NonNull V, @NonNull W, @NonNull X, @NonNull Y> of(
|
||||
@NonNull final U first,
|
||||
@NonNull final V second,
|
||||
@NonNull final W third,
|
||||
@NonNull final X fourth,
|
||||
@NonNull final Y fifth) {
|
||||
final @NonNull U first,
|
||||
final @NonNull V second,
|
||||
final @NonNull W third,
|
||||
final @NonNull X fourth,
|
||||
final @NonNull Y fifth) {
|
||||
return new Quintet<>(first, second, third, fourth, fifth);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,12 +46,12 @@ public class Sextet<U, V, W, X, Y, Z> implements Tuple {
|
|||
private final Y fifth;
|
||||
private final Z sixth;
|
||||
|
||||
protected Sextet(@NonNull final U first,
|
||||
@NonNull final V second,
|
||||
@NonNull final W third,
|
||||
@NonNull final X fourth,
|
||||
@NonNull final Y fifth,
|
||||
@NonNull final Z sixth) {
|
||||
protected Sextet(final @NonNull U first,
|
||||
final @NonNull V second,
|
||||
final @NonNull W third,
|
||||
final @NonNull X fourth,
|
||||
final @NonNull Y fifth,
|
||||
final @NonNull Z sixth) {
|
||||
this.first = first;
|
||||
this.second = second;
|
||||
this.third = third;
|
||||
|
|
@ -78,12 +78,12 @@ public class Sextet<U, V, W, X, Y, Z> implements Tuple {
|
|||
* @return Created sextet
|
||||
*/
|
||||
public static <U, V, W, X, Y, Z> @NonNull Sextet<@NonNull U, @NonNull V, @NonNull W, @NonNull X, @NonNull Y, @NonNull Z> of(
|
||||
@NonNull final U first,
|
||||
@NonNull final V second,
|
||||
@NonNull final W third,
|
||||
@NonNull final X fourth,
|
||||
@NonNull final Y fifth,
|
||||
@NonNull final Z sixth) {
|
||||
final @NonNull U first,
|
||||
final @NonNull V second,
|
||||
final @NonNull W third,
|
||||
final @NonNull X fourth,
|
||||
final @NonNull Y fifth,
|
||||
final @NonNull Z sixth) {
|
||||
return new Sextet<>(first, second, third, fourth, fifth, sixth);
|
||||
}
|
||||
|
||||
|
|
@ -175,7 +175,7 @@ public class Sextet<U, V, W, X, Y, Z> implements Tuple {
|
|||
}
|
||||
|
||||
@Override
|
||||
public @NonNull final Object @NonNull [] toArray() {
|
||||
public final @NonNull Object @NonNull [] toArray() {
|
||||
final Object[] array = new Object[6];
|
||||
array[0] = this.first;
|
||||
array[1] = this.second;
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ public class Triplet<U, V, W> implements Tuple {
|
|||
private final V second;
|
||||
private final W third;
|
||||
|
||||
protected Triplet(@NonNull final U first,
|
||||
@NonNull final V second,
|
||||
@NonNull final W third) {
|
||||
protected Triplet(final @NonNull U first,
|
||||
final @NonNull V second,
|
||||
final @NonNull W third) {
|
||||
this.first = first;
|
||||
this.second = second;
|
||||
this.third = third;
|
||||
|
|
@ -59,9 +59,9 @@ public class Triplet<U, V, W> implements Tuple {
|
|||
* @param <W> Third type
|
||||
* @return Created triplet
|
||||
*/
|
||||
public static <U, V, W> @NonNull Triplet<@NonNull U, @NonNull V, @NonNull W> of(@NonNull final U first,
|
||||
@NonNull final V second,
|
||||
@NonNull final W third) {
|
||||
public static <U, V, W> @NonNull Triplet<@NonNull U, @NonNull V, @NonNull W> of(final @NonNull U first,
|
||||
final @NonNull V second,
|
||||
final @NonNull W third) {
|
||||
return new Triplet<>(first, second, third);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue