🚚 More removal of javax annotations

This commit is contained in:
Alexander Söderberg 2020-09-28 22:26:37 +02:00 committed by Alexander Söderberg
parent 4556b392b0
commit 26f11e3a7e
47 changed files with 594 additions and 691 deletions

View file

@ -57,9 +57,9 @@ import com.mojang.brigadier.suggestion.SuggestionProvider;
import com.mojang.brigadier.suggestion.Suggestions;
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
import com.mojang.brigadier.tree.LiteralCommandNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
@ -94,8 +94,8 @@ public final class CloudBrigadierManager<C, S> {
* @param commandManager Command manager
* @param dummyContextProvider Provider of dummy context for completions
*/
public CloudBrigadierManager(@Nonnull final CommandManager<C> commandManager,
@Nonnull final Supplier<CommandContext<C>>
public CloudBrigadierManager(@NonNull final CommandManager<C> commandManager,
@NonNull final Supplier<@NonNull CommandContext<C>>
dummyContextProvider) {
this.mappers = new HashMap<>();
this.defaultArgumentTypeSuppliers = new HashMap<>();
@ -194,9 +194,9 @@ public final class CloudBrigadierManager<C, S> {
* @param <K> cloud argument type
* @param <O> Brigadier argument type value
*/
public <T, K extends ArgumentParser<C, T>, O> void registerMapping(@Nonnull final TypeToken<K> argumentType,
@Nonnull final Function<? extends K,
? extends ArgumentType<O>> mapper) {
public <T, K extends ArgumentParser<C, T>, O> void registerMapping(@NonNull final TypeToken<K> argumentType,
@NonNull final Function<@NonNull ? extends K,
@NonNull ? extends ArgumentType<O>> mapper) {
this.mappers.put(GenericTypeReflector.erase(argumentType.getType()), mapper);
}
@ -206,17 +206,16 @@ public final class CloudBrigadierManager<C, S> {
* @param clazz Type to map
* @param supplier Supplier that supplies the argument type
*/
public void registerDefaultArgumentTypeSupplier(@Nonnull final Class<?> clazz,
@Nonnull final Supplier<ArgumentType<?>> supplier) {
public void registerDefaultArgumentTypeSupplier(@NonNull final Class<?> clazz,
@NonNull final Supplier<@NonNull ArgumentType<?>> supplier) {
this.defaultArgumentTypeSuppliers.put(clazz, supplier);
}
@Nullable
@SuppressWarnings("all")
private <T, K extends ArgumentParser<?, ?>> Pair<ArgumentType<?>, Boolean> getArgument(
@Nonnull final TypeToken<?> valueType,
@Nonnull final TypeToken<T> argumentType,
@Nonnull final K argument) {
private <T, K extends ArgumentParser<?, ?>> @Nullable Pair<@NonNull ArgumentType<?>, @NonNull Boolean> getArgument(
@NonNull final TypeToken<?> valueType,
@NonNull final TypeToken<T> argumentType,
@NonNull final K argument) {
final ArgumentParser<C, ?> commandArgument = (ArgumentParser<C, ?>) argument;
Function function = this.mappers.get(GenericTypeReflector.erase(argumentType.getType()));
if (function == null) {
@ -225,11 +224,11 @@ public final class CloudBrigadierManager<C, S> {
return new Pair<>((ArgumentType<?>) function.apply(commandArgument), !(argument instanceof StringArgument.StringParser));
}
@Nonnull
private <T, K extends ArgumentParser<C, T>> Pair<ArgumentType<?>, Boolean> createDefaultMapper(
@Nonnull final TypeToken<?> clazz,
@Nonnull final ArgumentParser<C, T> argument) {
final Supplier<ArgumentType<?>> argumentTypeSupplier = this.defaultArgumentTypeSuppliers.get(clazz.getRawType());
private <T, K extends ArgumentParser<C, T>> @NonNull Pair<@NonNull ArgumentType<?>, @NonNull Boolean> createDefaultMapper(
@NonNull final TypeToken<?> clazz,
@NonNull final ArgumentParser<C, T> argument) {
final Supplier<ArgumentType<?>> argumentTypeSupplier = this.defaultArgumentTypeSuppliers
.get(GenericTypeReflector.erase(clazz.getType()));
if (argumentTypeSupplier != null) {
return new Pair<>(argumentTypeSupplier.get(), true);
}
@ -245,10 +244,11 @@ public final class CloudBrigadierManager<C, S> {
* @param executor Command executor
* @return Literal command node
*/
public LiteralCommandNode<S> createLiteralCommandNode(@Nonnull final String label,
@Nonnull final Command<C> cloudCommand,
@Nonnull final BiPredicate<S, CommandPermission> permissionChecker,
@Nonnull final com.mojang.brigadier.Command<S> executor) {
public @NonNull LiteralCommandNode<S> createLiteralCommandNode(@NonNull final String label,
@NonNull final Command<C> cloudCommand,
@NonNull final BiPredicate<@NonNull S,
@NonNull CommandPermission> permissionChecker,
final com.mojang.brigadier.@NonNull Command<S> executor) {
final CommandTree.Node<CommandArgument<C, ?>> node = this.commandManager
.getCommandTree().getNamedNode(cloudCommand.getArguments().get(0).getName());
final SuggestionProvider<S> provider = (context, builder) -> this.buildSuggestions(node.getValue(), context, builder);
@ -275,12 +275,12 @@ public final class CloudBrigadierManager<C, S> {
* @param permissionChecker Permission checker
* @return Constructed literal command node
*/
@Nonnull
public LiteralCommandNode<S> createLiteralCommandNode(@Nonnull final CommandTree.Node<CommandArgument<C, ?>> cloudCommand,
@Nonnull final LiteralCommandNode<S> root,
@Nonnull final SuggestionProvider<S> suggestionProvider,
@Nonnull final com.mojang.brigadier.Command<S> executor,
@Nonnull final BiPredicate<S, CommandPermission> permissionChecker) {
public @NonNull LiteralCommandNode<S> createLiteralCommandNode(
final CommandTree.@NonNull Node<@NonNull CommandArgument<C, ?>> cloudCommand,
@NonNull final LiteralCommandNode<S> root,
@NonNull final SuggestionProvider<S> suggestionProvider,
final com.mojang.brigadier.@NonNull Command<S> executor,
@NonNull final BiPredicate<@NonNull S, @NonNull CommandPermission> permissionChecker) {
final LiteralArgumentBuilder<S> literalArgumentBuilder = LiteralArgumentBuilder.<S>literal(root.getLiteral())
.requires(sender -> permissionChecker.test(sender, (CommandPermission) cloudCommand.getNodeMeta()
.getOrDefault("permission", Permission.empty())));
@ -295,11 +295,12 @@ public final class CloudBrigadierManager<C, S> {
return constructedRoot;
}
private ArgumentBuilder<S, ?> constructCommandNode(final boolean forceExecutor,
@Nonnull final CommandTree.Node<CommandArgument<C, ?>> root,
@Nonnull final BiPredicate<S, CommandPermission> permissionChecker,
@Nonnull final com.mojang.brigadier.Command<S> executor,
@Nonnull final SuggestionProvider<S> suggestionProvider) {
private @NonNull ArgumentBuilder<S, ?> constructCommandNode(
final boolean forceExecutor,
final CommandTree.@NonNull Node<CommandArgument<C, ?>> root,
@NonNull final BiPredicate<@NonNull S, @NonNull CommandPermission> permissionChecker,
final com.mojang.brigadier.@NonNull Command<S> executor,
final SuggestionProvider<S> suggestionProvider) {
if (root.getValue() instanceof CompoundArgument) {
@SuppressWarnings("unchecked")
final CompoundArgument<?, C, ?> compoundArgument = (CompoundArgument<?, C, ?>) root.getValue();
@ -313,8 +314,8 @@ public final class CloudBrigadierManager<C, S> {
for (int i = parsers.length - 1; i >= 0; i--) {
@SuppressWarnings("unchecked")
final ArgumentParser<C, ?> parser = (ArgumentParser<C, ?>) parsers[i];
final Pair<ArgumentType<?>, Boolean> pair = this.getArgument(TypeToken.of((Class<?>) types[i]),
TypeToken.of(parser.getClass()),
final Pair<ArgumentType<?>, Boolean> pair = this.getArgument(TypeToken.get((Class<?>) types[i]),
TypeToken.get(parser.getClass()),
parser);
final SuggestionProvider<S> provider = pair.getRight() ? null : suggestionProvider;
final ArgumentBuilder<S, ?> fragmentBuilder = RequiredArgumentBuilder
@ -369,10 +370,10 @@ public final class CloudBrigadierManager<C, S> {
return argumentBuilder;
}
@Nonnull
private CompletableFuture<Suggestions> buildSuggestions(@Nonnull final CommandArgument<C, ?> argument,
@Nonnull final com.mojang.brigadier.context.CommandContext<S> s,
@Nonnull final SuggestionsBuilder builder) {
private @NonNull CompletableFuture<Suggestions> buildSuggestions(
@NonNull final CommandArgument<C, ?> argument,
final com.mojang.brigadier.context.@NonNull CommandContext<S> s,
@NonNull final SuggestionsBuilder builder) {
final CommandContext<C> commandContext = this.dummyContextProvider.get();
final LinkedList<String> inputQueue = new LinkedList<>(Collections.singletonList(builder.getInput()));
final CommandPreprocessingContext<C> commandPreprocessingContext =
@ -416,18 +417,17 @@ public final class CloudBrigadierManager<C, S> {
private final L left;
private final R right;
private Pair(@Nonnull final L left, @Nonnull final R right) {
private Pair(@NonNull final L left,
@NonNull final R right) {
this.left = left;
this.right = right;
}
@Nonnull
private L getLeft() {
private @NonNull L getLeft() {
return this.left;
}
@Nonnull
private R getRight() {
private @NonNull R getRight() {
return this.right;
}

View file

@ -34,8 +34,8 @@ import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginIdentifiableCommand;
import org.bukkit.plugin.Plugin;
import org.checkerframework.checker.nullness.qual.NonNull;
import javax.annotation.Nonnull;
import java.util.List;
import java.util.concurrent.CompletionException;
@ -51,11 +51,11 @@ final class BukkitCommand<C> extends org.bukkit.command.Command implements Plugi
private final Command<C> cloudCommand;
@SuppressWarnings("unchecked")
BukkitCommand(@Nonnull final String label,
@Nonnull final List<String> aliases,
@Nonnull final Command<C> cloudCommand,
@Nonnull final CommandArgument<C, ?> command,
@Nonnull final BukkitCommandManager<C> manager) {
BukkitCommand(@NonNull final String label,
@NonNull final List<@NonNull String> aliases,
@NonNull final Command<C> cloudCommand,
@NonNull final CommandArgument<C, ?> command,
@NonNull final BukkitCommandManager<C> manager) {
super(label,
cloudCommand.getCommandMeta().getOrDefault("description", ""),
"",

View file

@ -34,8 +34,8 @@ import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.Plugin;
import org.checkerframework.checker.nullness.qual.NonNull;
import javax.annotation.Nonnull;
import java.util.EnumSet;
import java.util.Set;
import java.util.function.Function;
@ -71,11 +71,11 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
* @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender}
* @throws Exception If the construction of the manager fails
*/
public BukkitCommandManager(@Nonnull final Plugin owningPlugin,
@Nonnull final Function<CommandTree<C>,
CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@Nonnull final Function<CommandSender, C> commandSenderMapper,
@Nonnull final Function<C, CommandSender> backwardsCommandSenderMapper)
public BukkitCommandManager(@NonNull final Plugin owningPlugin,
@NonNull final Function<@NonNull CommandTree<C>,
@NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@NonNull final Function<@NonNull CommandSender, @NonNull C> commandSenderMapper,
@NonNull final Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper)
throws Exception {
super(commandExecutionCoordinator, new BukkitPluginRegistrationHandler<>());
((BukkitPluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this);
@ -117,8 +117,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
*
* @return Owning plugin
*/
@Nonnull
public Plugin getOwningPlugin() {
public @NonNull Plugin getOwningPlugin() {
return this.owningPlugin;
}
@ -127,9 +126,8 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
*
* @return Meta data
*/
@Nonnull
@Override
public BukkitCommandMeta createDefaultCommandMeta() {
public @NonNull BukkitCommandMeta createDefaultCommandMeta() {
return BukkitCommandMetaBuilder.builder().withDescription("").build();
}
@ -138,13 +136,12 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
*
* @return Command sender mapper
*/
@Nonnull
public final Function<CommandSender, C> getCommandSenderMapper() {
public final @NonNull Function<@NonNull CommandSender, @NonNull C> getCommandSenderMapper() {
return this.commandSenderMapper;
}
@Override
public final boolean hasPermission(@Nonnull final C sender, @Nonnull final String permission) {
public final boolean hasPermission(@NonNull final C sender, @NonNull final String permission) {
if (permission.isEmpty()) {
return true;
}
@ -172,7 +169,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
* @param capability Capability
* @return {@code true} if the manager has the given capability, else {@code false}
*/
public final boolean queryCapability(@Nonnull final CloudBukkitCapabilities capability) {
public final boolean queryCapability(@NonNull final CloudBukkitCapabilities capability) {
return this.queryCapabilities().contains(capability);
}
@ -181,7 +178,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
*
* @return A set containing all capabilities of the instance
*/
public final Set<CloudBukkitCapabilities> queryCapabilities() {
public final @NonNull Set<@NonNull CloudBukkitCapabilities> queryCapabilities() {
if (this.paper) {
if (this.minecraftVersion >= BRIGADIER_MINIMAL_VERSION) {
if (this.minecraftVersion >= PAPER_BRIGADIER_VERSION) {
@ -226,8 +223,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
*
* @return The backwards command sender mapper
*/
@Nonnull
public final Function<C, CommandSender> getBackwardsCommandSenderMapper() {
public final @NonNull Function<@NonNull C, @NonNull CommandSender> getBackwardsCommandSenderMapper() {
return this.backwardsCommandSenderMapper;
}
@ -248,7 +244,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
*
* @param reason Reason
*/
public BrigadierFailureException(@Nonnull final BrigadierFailureReason reason) {
public BrigadierFailureException(@NonNull final BrigadierFailureReason reason) {
this.reason = reason;
}
@ -258,7 +254,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
* @param reason Reason
* @param cause Cause
*/
public BrigadierFailureException(@Nonnull final BrigadierFailureReason reason, @Nonnull final Throwable cause) {
public BrigadierFailureException(@NonNull final BrigadierFailureReason reason, @NonNull final Throwable cause) {
super(cause);
this.reason = reason;
}
@ -268,8 +264,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
*
* @return Reason
*/
@Nonnull
public BrigadierFailureReason getReason() {
public @NonNull BrigadierFailureReason getReason() {
return this.reason;
}

View file

@ -25,8 +25,7 @@ package cloud.commandframework.bukkit;
import com.google.common.base.Objects;
import org.bukkit.entity.Player;
import javax.annotation.Nonnull;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
* Command sender that proxies {@link org.bukkit.command.CommandSender}
@ -41,7 +40,7 @@ public abstract class BukkitCommandSender {
*
* @param internalSender Bukkit command sender
*/
public BukkitCommandSender(@Nonnull final org.bukkit.command.CommandSender internalSender) {
public BukkitCommandSender(final org.bukkit.command.@NonNull CommandSender internalSender) {
this.internalSender = internalSender;
}
@ -51,8 +50,7 @@ public abstract class BukkitCommandSender {
* @param player Player instance
* @return Constructed command sender
*/
@Nonnull
public static BukkitCommandSender player(@Nonnull final Player player) {
public static @NonNull BukkitCommandSender player(@NonNull final Player player) {
return new BukkitPlayerSender(player);
}
@ -61,8 +59,7 @@ public abstract class BukkitCommandSender {
*
* @return Constructed command sender
*/
@Nonnull
public static BukkitCommandSender console() {
public static @NonNull BukkitCommandSender console() {
return new BukkitConsoleSender();
}
@ -72,8 +69,7 @@ public abstract class BukkitCommandSender {
* @param sender Bukkit command sender
* @return Constructed command sender
*/
@Nonnull
public static BukkitCommandSender of(@Nonnull final org.bukkit.command.CommandSender sender) {
public static @NonNull BukkitCommandSender of(final org.bukkit.command.@NonNull CommandSender sender) {
if (sender instanceof Player) {
return player((Player) sender);
}
@ -102,8 +98,7 @@ public abstract class BukkitCommandSender {
*
* @return Proxied command sneder
*/
@Nonnull
public org.bukkit.command.CommandSender getInternalSender() {
public org.bukkit.command.@NonNull CommandSender getInternalSender() {
return this.internalSender;
}
@ -120,15 +115,14 @@ public abstract class BukkitCommandSender {
*
* @return Player object
*/
@Nonnull
public abstract Player asPlayer();
public abstract @NonNull Player asPlayer();
/**
* Send a message to the command sender
*
* @param message Message to send
*/
public void sendMessage(@Nonnull final String message) {
public void sendMessage(@NonNull final String message) {
this.internalSender.sendMessage(message);
}

View file

@ -24,12 +24,11 @@
package cloud.commandframework.bukkit;
import org.bukkit.entity.Player;
import javax.annotation.Nonnull;
import org.checkerframework.checker.nullness.qual.NonNull;
final class BukkitPlayerSender extends BukkitCommandSender {
BukkitPlayerSender(@Nonnull final Player player) {
BukkitPlayerSender(@NonNull final Player player) {
super(player);
}
@ -38,9 +37,8 @@ final class BukkitPlayerSender extends BukkitCommandSender {
return true;
}
@Nonnull
@Override
public Player asPlayer() {
public @NonNull Player asPlayer() {
return (Player) this.getInternalSender();
}
}

View file

@ -35,8 +35,8 @@ import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.plugin.Command;
import net.md_5.bungee.api.plugin.TabExecutor;
import org.checkerframework.checker.nullness.qual.NonNull;
import javax.annotation.Nonnull;
import java.util.concurrent.CompletionException;
public final class BungeeCommand<C> extends Command implements TabExecutor {
@ -51,9 +51,9 @@ public final class BungeeCommand<C> extends Command implements TabExecutor {
private final cloud.commandframework.Command<C> cloudCommand;
@SuppressWarnings("unchecked")
BungeeCommand(@Nonnull final cloud.commandframework.Command<C> cloudCommand,
@Nonnull final CommandArgument<C, ?> command,
@Nonnull final BungeeCommandManager<C> manager) {
BungeeCommand(final cloud.commandframework.@NonNull Command<C> cloudCommand,
@NonNull final CommandArgument<C, ?> command,
@NonNull final BungeeCommandManager<C> manager) {
super(command.getName(),
cloudCommand.getCommandPermission().toString(),
((StaticArgument<C>) command).getAlternativeAliases().toArray(new String[0]));

View file

@ -29,8 +29,8 @@ import cloud.commandframework.execution.CommandExecutionCoordinator;
import cloud.commandframework.meta.SimpleCommandMeta;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.plugin.Plugin;
import org.checkerframework.checker.nullness.qual.NonNull;
import javax.annotation.Nonnull;
import java.util.function.Function;
public class BungeeCommandManager<C> extends CommandManager<C> {
@ -48,11 +48,11 @@ public class BungeeCommandManager<C> extends CommandManager<C> {
* @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender}
* @throws Exception If the construction of the manager fails
*/
public BungeeCommandManager(@Nonnull final Plugin owningPlugin,
@Nonnull final Function<CommandTree<C>,
CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@Nonnull final Function<CommandSender, C> commandSenderMapper,
@Nonnull final Function<C, CommandSender> backwardsCommandSenderMapper)
public BungeeCommandManager(@NonNull final Plugin owningPlugin,
@NonNull final Function<@NonNull CommandTree<C>,
@NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@NonNull final Function<@NonNull CommandSender, @NonNull C> commandSenderMapper,
@NonNull final Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper)
throws Exception {
super(commandExecutionCoordinator, new BungeePluginRegistrationHandler<>());
((BungeePluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this);
@ -62,22 +62,20 @@ public class BungeeCommandManager<C> extends CommandManager<C> {
}
@Override
public final boolean hasPermission(@Nonnull final C sender,
@Nonnull final String permission) {
public final boolean hasPermission(@NonNull final C sender,
@NonNull final String permission) {
if (permission.isEmpty()) {
return true;
}
return this.backwardsCommandSenderMapper.apply(sender).hasPermission(permission);
}
@Nonnull
@Override
public final SimpleCommandMeta createDefaultCommandMeta() {
public final @NonNull SimpleCommandMeta createDefaultCommandMeta() {
return SimpleCommandMeta.empty();
}
@Nonnull
final Function<CommandSender, C> getCommandSenderMapper() {
final @NonNull Function<@NonNull CommandSender, @NonNull C> getCommandSenderMapper() {
return this.commandSenderMapper;
}
@ -86,8 +84,7 @@ public class BungeeCommandManager<C> extends CommandManager<C> {
*
* @return Owning plugin
*/
@Nonnull
public Plugin getOwningPlugin() {
public @NonNull Plugin getOwningPlugin() {
return this.owningPlugin;
}

View file

@ -26,8 +26,8 @@ package cloud.commandframework.bungee;
import cloud.commandframework.Command;
import cloud.commandframework.arguments.CommandArgument;
import cloud.commandframework.internal.CommandRegistrationHandler;
import org.checkerframework.checker.nullness.qual.NonNull;
import javax.annotation.Nonnull;
import java.util.HashMap;
import java.util.Map;
@ -40,12 +40,12 @@ final class BungeePluginRegistrationHandler<C> implements CommandRegistrationHan
BungeePluginRegistrationHandler() {
}
void initialize(@Nonnull final BungeeCommandManager<C> bungeeCommandManager) {
void initialize(@NonNull final BungeeCommandManager<C> bungeeCommandManager) {
this.bungeeCommandManager = bungeeCommandManager;
}
@Override
public boolean registerCommand(@Nonnull final Command<?> command) {
public boolean registerCommand(@NonNull final Command<?> command) {
/* We only care about the root command argument */
final CommandArgument<?, ?> commandArgument = command.getArguments().get(0);
if (this.registeredCommands.containsKey(commandArgument)) {

View file

@ -29,11 +29,11 @@ import cloud.commandframework.annotations.CommandMethod;
import cloud.commandframework.annotations.specifier.Range;
import cloud.commandframework.execution.CommandExecutionCoordinator;
import cloud.commandframework.meta.SimpleCommandMeta;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.cloudburstmc.server.command.CommandSender;
import org.cloudburstmc.server.plugin.PluginBase;
import org.cloudburstmc.server.utils.TextFormat;
import javax.annotation.Nonnull;
import java.util.function.Function;
/**
@ -61,8 +61,8 @@ public final class CloudCloudburstTest extends PluginBase {
}
@CommandMethod("test <num> [str]")
private void testCommand(@Nonnull @Argument(value = "str", defaultValue = "potato") final String string,
@Nonnull final CommandSender source,
private void testCommand(@NonNull @Argument(value = "str", defaultValue = "potato") final String string,
@NonNull final CommandSender source,
@Argument("num") @Range(min = "10", max = "33") final int num) {
source.sendMessage(TextFormat.RED + "You said: "
+ TextFormat.GOLD + string

View file

@ -24,18 +24,18 @@
package cloud.commandframework.cloudburst;
import cloud.commandframework.Command;
import cloud.commandframework.exceptions.InvalidSyntaxException;
import cloud.commandframework.exceptions.NoPermissionException;
import cloud.commandframework.arguments.CommandArgument;
import cloud.commandframework.exceptions.ArgumentParseException;
import cloud.commandframework.exceptions.InvalidCommandSenderException;
import cloud.commandframework.exceptions.InvalidSyntaxException;
import cloud.commandframework.exceptions.NoPermissionException;
import cloud.commandframework.exceptions.NoSuchCommandException;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.cloudburstmc.server.command.CommandSender;
import org.cloudburstmc.server.command.PluginCommand;
import org.cloudburstmc.server.command.data.CommandData;
import org.cloudburstmc.server.plugin.Plugin;
import javax.annotation.Nonnull;
import java.util.List;
import java.util.concurrent.CompletionException;
@ -50,11 +50,11 @@ final class CloudburstCommand<C> extends PluginCommand<Plugin> {
private final CloudburstCommandManager<C> manager;
private final Command<C> cloudCommand;
CloudburstCommand(@Nonnull final String label,
@Nonnull final List<String> aliases,
@Nonnull final Command<C> cloudCommand,
@Nonnull final CommandArgument<C, ?> command,
@Nonnull final CloudburstCommandManager<C> manager) {
CloudburstCommand(@NonNull final String label,
@NonNull final List<@NonNull String> aliases,
@NonNull final Command<C> cloudCommand,
@NonNull final CommandArgument<C, ?> command,
@NonNull final CloudburstCommandManager<C> manager) {
super(manager.getOwningPlugin(), CommandData.builder(label)
.addAliases(aliases.toArray(new String[0]))
.addPermission(cloudCommand.getCommandPermission().toString())

View file

@ -28,10 +28,10 @@ import cloud.commandframework.CommandTree;
import cloud.commandframework.execution.CommandExecutionCoordinator;
import cloud.commandframework.meta.CommandMeta;
import cloud.commandframework.meta.SimpleCommandMeta;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.cloudburstmc.server.command.CommandSender;
import org.cloudburstmc.server.plugin.Plugin;
import javax.annotation.Nonnull;
import java.util.function.Function;
/**
@ -54,11 +54,11 @@ public class CloudburstCommandManager<C> extends CommandManager<C> {
* @param commandSenderMapper Function that maps {@link CommandSender} to the command sender type
* @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender}
*/
public CloudburstCommandManager(@Nonnull final Plugin owningPlugin,
@Nonnull final Function<CommandTree<C>,
CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@Nonnull final Function<CommandSender, C> commandSenderMapper,
@Nonnull final Function<C, CommandSender> backwardsCommandSenderMapper) {
public CloudburstCommandManager(@NonNull final Plugin owningPlugin,
@NonNull final Function<@NonNull CommandTree<C>,
@NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@NonNull final Function<@NonNull CommandSender, @NonNull C> commandSenderMapper,
@NonNull final Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper) {
super(commandExecutionCoordinator, new CloudburstPluginRegistrationHandler<>());
((CloudburstPluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this);
this.commandSenderMapper = commandSenderMapper;
@ -67,19 +67,17 @@ public class CloudburstCommandManager<C> extends CommandManager<C> {
}
@Override
public final boolean hasPermission(@Nonnull final C sender,
@Nonnull final String permission) {
public final boolean hasPermission(@NonNull final C sender,
@NonNull final String permission) {
return this.backwardsCommandSenderMapper.apply(sender).hasPermission(permission);
}
@Nonnull
@Override
public final CommandMeta createDefaultCommandMeta() {
public final @NonNull CommandMeta createDefaultCommandMeta() {
return SimpleCommandMeta.builder().build();
}
@Nonnull
final Function<CommandSender, C> getCommandSenderMapper() {
final @NonNull Function<@NonNull CommandSender, @NonNull C> getCommandSenderMapper() {
return this.commandSenderMapper;
}
@ -88,8 +86,7 @@ public class CloudburstCommandManager<C> extends CommandManager<C> {
*
* @return Owning plugin
*/
@Nonnull
public final Plugin getOwningPlugin() {
public final @NonNull Plugin getOwningPlugin() {
return this.owningPlugin;
}

View file

@ -23,14 +23,14 @@
//
package cloud.commandframework.cloudburst;
import cloud.commandframework.arguments.CommandArgument;
import cloud.commandframework.Command;
import cloud.commandframework.arguments.CommandArgument;
import cloud.commandframework.arguments.StaticArgument;
import cloud.commandframework.internal.CommandRegistrationHandler;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.cloudburstmc.server.Server;
import org.cloudburstmc.server.plugin.Plugin;
import javax.annotation.Nonnull;
import java.util.HashMap;
import java.util.Map;
@ -43,12 +43,12 @@ class CloudburstPluginRegistrationHandler<C> implements CommandRegistrationHandl
CloudburstPluginRegistrationHandler() {
}
void initialize(@Nonnull final CloudburstCommandManager<C> cloudburstCommandManager) {
void initialize(@NonNull final CloudburstCommandManager<C> cloudburstCommandManager) {
this.cloudburstCommandManager = cloudburstCommandManager;
}
@Override
public final boolean registerCommand(@Nonnull final Command<?> command) {
public final boolean registerCommand(@NonNull final Command<?> command) {
/* We only care about the root command argument */
final CommandArgument<?, ?> commandArgument = command.getArguments().get(0);
if (this.registeredCommands.containsKey(commandArgument)) {

View file

@ -24,8 +24,8 @@
package cloud.commandframework;
import net.kyori.adventure.audience.Audience;
import org.checkerframework.checker.nullness.qual.NonNull;
import javax.annotation.Nonnull;
import java.util.function.Function;
/**
@ -34,7 +34,7 @@ import java.util.function.Function;
* @param <C> Command sender type
*/
@FunctionalInterface
public interface AudienceProvider<C> extends Function<C, Audience> {
public interface AudienceProvider<C> extends Function<@NonNull C, @NonNull Audience> {
/**
* Convert a command sender to an {@link Audience}
@ -43,7 +43,6 @@ public interface AudienceProvider<C> extends Function<C, Audience> {
* @return Mapped audience
*/
@Override
@Nonnull
Audience apply(@Nonnull C sender);
@NonNull Audience apply(@NonNull C sender);
}

View file

@ -28,8 +28,8 @@ import cloud.commandframework.arguments.StaticArgument;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import org.checkerframework.checker.nullness.qual.NonNull;
import javax.annotation.Nonnull;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@ -73,9 +73,9 @@ public final class MinecraftHelp<C> {
* @param audienceProvider Provider that maps the command sender type to {@link Audience}
* @param commandManager Command manager instance
*/
public MinecraftHelp(@Nonnull final String commandPrefix,
@Nonnull final AudienceProvider<C> audienceProvider,
@Nonnull final CommandManager<C> commandManager) {
public MinecraftHelp(@NonNull final String commandPrefix,
@NonNull final AudienceProvider<C> audienceProvider,
@NonNull final CommandManager<C> commandManager) {
this.commandPrefix = commandPrefix;
this.audienceProvider = audienceProvider;
this.commandManager = commandManager;
@ -109,8 +109,7 @@ public final class MinecraftHelp<C> {
*
* @return Command manager
*/
@Nonnull
public CommandManager<C> getCommandManager() {
public @NonNull CommandManager<C> getCommandManager() {
return this.commandManager;
}
@ -119,8 +118,7 @@ public final class MinecraftHelp<C> {
*
* @return Audience provider
*/
@Nonnull
public AudienceProvider<C> getAudienceProvider() {
public @NonNull AudienceProvider<C> getAudienceProvider() {
return this.audienceProvider;
}
@ -130,8 +128,7 @@ public final class MinecraftHelp<C> {
* @param sender Sender to map
* @return Mapped audience
*/
@Nonnull
public Audience getAudience(@Nonnull final C sender) {
public @NonNull Audience getAudience(@NonNull final C sender) {
return this.audienceProvider.apply(sender);
}
@ -141,7 +138,8 @@ public final class MinecraftHelp<C> {
* @param key Message key
* @param message Message
*/
public void setMessage(@Nonnull final String key, @Nonnull final String message) {
public void setMessage(@NonNull final String key,
@NonNull final String message) {
this.messageMap.put(key, message);
}
@ -151,17 +149,17 @@ public final class MinecraftHelp<C> {
* @param query Command query (without leading '/')
* @param recipient Recipient
*/
public void queryCommands(@Nonnull final String query,
@Nonnull final C recipient) {
public void queryCommands(@NonNull final String query,
@NonNull final C recipient) {
final Audience audience = this.getAudience(recipient);
audience.sendMessage(this.miniMessage.parse(this.messageMap.get(MESSAGE_HELP_HEADER)));
this.printTopic(recipient, query, this.commandManager.getCommandHelpHandler().queryHelp(query));
audience.sendMessage(this.miniMessage.parse(this.messageMap.get(MESSAGE_HELP_FOOTER)));
}
private void printTopic(@Nonnull final C sender,
@Nonnull final String query,
@Nonnull final CommandHelpHandler.HelpTopic<C> helpTopic) {
private void printTopic(@NonNull final C sender,
@NonNull final String query,
final CommandHelpHandler.@NonNull HelpTopic<C> helpTopic) {
this.getAudience(sender).sendMessage(this.miniMessage.parse(this.messageMap.get(MESSAGE_QUERY_QUERY),
Template.of("query", query)));
if (helpTopic instanceof CommandHelpHandler.IndexHelpTopic) {
@ -175,7 +173,8 @@ public final class MinecraftHelp<C> {
}
}
private void printIndexHelpTopic(@Nonnull final C sender, @Nonnull final CommandHelpHandler.IndexHelpTopic<C> helpTopic) {
private void printIndexHelpTopic(@NonNull final C sender,
final CommandHelpHandler.@NonNull IndexHelpTopic<C> helpTopic) {
final Audience audience = this.getAudience(sender);
audience.sendMessage(this.miniMessage.parse(this.messageMap.get(MESSAGE_QUERY_AVAILABLE_COMMANDS)));
final Iterator<CommandHelpHandler.VerboseHelpEntry<C>> iterator = helpTopic.getEntries().iterator();
@ -202,7 +201,8 @@ public final class MinecraftHelp<C> {
}
}
private void printMultiHelpTopic(@Nonnull final C sender, @Nonnull final CommandHelpHandler.MultiHelpTopic<C> helpTopic) {
private void printMultiHelpTopic(@NonNull final C sender,
final CommandHelpHandler.@NonNull MultiHelpTopic<C> helpTopic) {
final Audience audience = this.getAudience(sender);
audience.sendMessage(this.miniMessage.parse(this.messageMap.get(MESSAGE_QUERY_LONGEST_PATH),
Template.of("command", helpTopic.getLongestPath())));
@ -236,7 +236,8 @@ public final class MinecraftHelp<C> {
}
}
private void printVerboseHelpTopic(@Nonnull final C sender, @Nonnull final CommandHelpHandler.VerboseHelpTopic<C> helpTopic) {
private void printVerboseHelpTopic(@NonNull final C sender,
final CommandHelpHandler.@NonNull VerboseHelpTopic<C> helpTopic) {
final Audience audience = this.getAudience(sender);
final String command = this.commandManager.getCommandSyntaxFormatter()
.apply(helpTopic.getCommand().getArguments(), null);