🎨 @Annotation final -> final @Annotation

This commit is contained in:
Alexander Söderberg 2020-10-03 21:40:07 +02:00
parent a6b98ca278
commit 7f013124b2
No known key found for this signature in database
GPG key ID: C0207FF7EA146678
113 changed files with 844 additions and 842 deletions

View file

@ -77,9 +77,9 @@ public final class AnnotationParser<C> {
* {@link ParserParameter}. Mappers for the * {@link ParserParameter}. Mappers for the
* parser parameters can be registered using {@link #registerAnnotationMapper(Class, Function)} * parser parameters can be registered using {@link #registerAnnotationMapper(Class, Function)}
*/ */
public AnnotationParser(@NonNull final CommandManager<C> manager, public AnnotationParser(final @NonNull CommandManager<C> manager,
@NonNull final Class<C> commandSenderClass, final @NonNull Class<C> commandSenderClass,
@NonNull final Function<@NonNull ParserParameters, @NonNull CommandMeta> metaMapper) { final @NonNull Function<@NonNull ParserParameters, @NonNull CommandMeta> metaMapper) {
this.commandSenderClass = commandSenderClass; this.commandSenderClass = commandSenderClass;
this.manager = manager; this.manager = manager;
this.metaFactory = new MetaFactory(this, metaMapper); this.metaFactory = new MetaFactory(this, metaMapper);
@ -96,8 +96,8 @@ public final class AnnotationParser<C> {
* @param mapper Mapping function * @param mapper Mapping function
* @param <A> Annotation type * @param <A> Annotation type
*/ */
public <A extends Annotation> void registerAnnotationMapper(@NonNull final Class<A> annotation, public <A extends Annotation> void registerAnnotationMapper(final @NonNull Class<A> annotation,
@NonNull final Function<@NonNull A, final @NonNull Function<@NonNull A,
@NonNull ParserParameters> mapper) { @NonNull ParserParameters> mapper) {
this.annotationMappers.put(annotation, mapper); this.annotationMappers.put(annotation, mapper);
} }
@ -110,7 +110,7 @@ public final class AnnotationParser<C> {
* @param <T> Type of the instance * @param <T> Type of the instance
* @return Collection of parsed annotations * @return Collection of parsed annotations
*/ */
public <T> @NonNull Collection<@NonNull Command<C>> parse(@NonNull final T instance) { public <T> @NonNull Collection<@NonNull Command<C>> parse(final @NonNull T instance) {
final Method[] methods = instance.getClass().getDeclaredMethods(); final Method[] methods = instance.getClass().getDeclaredMethods();
final Collection<CommandMethodPair> commandMethodPairs = new ArrayList<>(); final Collection<CommandMethodPair> commandMethodPairs = new ArrayList<>();
for (final Method method : methods) { for (final Method method : methods) {
@ -138,8 +138,8 @@ public final class AnnotationParser<C> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private @NonNull Collection<@NonNull Command<C>> construct( private @NonNull Collection<@NonNull Command<C>> construct(
@NonNull final Object instance, final @NonNull Object instance,
@NonNull final Collection<@NonNull CommandMethodPair> methodPairs) { final @NonNull Collection<@NonNull CommandMethodPair> methodPairs) {
final Collection<Command<C>> commands = new ArrayList<>(); final Collection<Command<C>> commands = new ArrayList<>();
for (final CommandMethodPair commandMethodPair : methodPairs) { for (final CommandMethodPair commandMethodPair : methodPairs) {
final CommandMethod commandMethod = commandMethodPair.getCommandMethod(); final CommandMethod commandMethod = commandMethodPair.getCommandMethod();
@ -248,9 +248,9 @@ public final class AnnotationParser<C> {
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private @NonNull CommandArgument<C, ?> buildArgument(@NonNull final Method method, private @NonNull CommandArgument<C, ?> buildArgument(final @NonNull Method method,
@Nullable final SyntaxFragment syntaxFragment, final @Nullable SyntaxFragment syntaxFragment,
@NonNull final ArgumentParameterPair argumentPair) { final @NonNull ArgumentParameterPair argumentPair) {
final Parameter parameter = argumentPair.getParameter(); final Parameter parameter = argumentPair.getParameter();
final Collection<Annotation> annotations = Arrays.asList(parameter.getAnnotations()); final Collection<Annotation> annotations = Arrays.asList(parameter.getAnnotations());
final TypeToken<?> token = TypeToken.get(parameter.getParameterizedType()); final TypeToken<?> token = TypeToken.get(parameter.getParameterizedType());

View file

@ -38,7 +38,7 @@ import java.util.function.Function;
class ArgumentExtractor implements Function<@NonNull Method, @NonNull Collection<@NonNull ArgumentParameterPair>> { class ArgumentExtractor implements Function<@NonNull Method, @NonNull Collection<@NonNull ArgumentParameterPair>> {
@Override @Override
public @NonNull Collection<@NonNull ArgumentParameterPair> apply(@NonNull final Method method) { public @NonNull Collection<@NonNull ArgumentParameterPair> apply(final @NonNull Method method) {
final Collection<ArgumentParameterPair> arguments = new ArrayList<>(); final Collection<ArgumentParameterPair> arguments = new ArrayList<>();
for (final Parameter parameter : method.getParameters()) { for (final Parameter parameter : method.getParameters()) {
if (!parameter.isAnnotationPresent(Argument.class)) { if (!parameter.isAnnotationPresent(Argument.class)) {

View file

@ -32,8 +32,8 @@ final class ArgumentParameterPair {
private final Parameter parameter; private final Parameter parameter;
private final Argument argument; private final Argument argument;
ArgumentParameterPair(@NonNull final Parameter parameter, ArgumentParameterPair(final @NonNull Parameter parameter,
@NonNull final Argument argument) { final @NonNull Argument argument) {
this.parameter = parameter; this.parameter = parameter;
this.argument = argument; this.argument = argument;
} }

View file

@ -32,8 +32,8 @@ final class CommandMethodPair {
private final Method method; private final Method method;
private final CommandMethod commandMethod; private final CommandMethod commandMethod;
CommandMethodPair(@NonNull final Method method, CommandMethodPair(final @NonNull Method method,
@NonNull final CommandMethod commandMethod) { final @NonNull CommandMethod commandMethod) {
this.method = method; this.method = method;
this.commandMethod = commandMethod; this.commandMethod = commandMethod;
} }

View file

@ -43,12 +43,12 @@ final class FlagExtractor implements Function<@NonNull Method, Collection<@NonNu
private final CommandManager<?> commandManager; private final CommandManager<?> commandManager;
FlagExtractor(@NonNull final CommandManager<?> commandManager) { FlagExtractor(final @NonNull CommandManager<?> commandManager) {
this.commandManager = commandManager; this.commandManager = commandManager;
} }
@Override @Override
public @NonNull Collection<@NonNull CommandFlag<?>> apply(@NonNull final Method method) { public @NonNull Collection<@NonNull CommandFlag<?>> apply(final @NonNull Method method) {
final Collection<CommandFlag<?>> flags = new LinkedList<>(); final Collection<CommandFlag<?>> flags = new LinkedList<>();
for (final Parameter parameter : method.getParameters()) { for (final Parameter parameter : method.getParameters()) {
if (!parameter.isAnnotationPresent(Flag.class)) { if (!parameter.isAnnotationPresent(Flag.class)) {

View file

@ -35,14 +35,14 @@ class MetaFactory implements Function<@NonNull Annotation @NonNull [], @NonNull
private final AnnotationParser<?> annotationParser; private final AnnotationParser<?> annotationParser;
private final Function<ParserParameters, CommandMeta> metaMapper; private final Function<ParserParameters, CommandMeta> metaMapper;
MetaFactory(@NonNull final AnnotationParser<?> annotationParser, MetaFactory(final @NonNull AnnotationParser<?> annotationParser,
@NonNull final Function<@NonNull ParserParameters, @NonNull CommandMeta> metaMapper) { final @NonNull Function<@NonNull ParserParameters, @NonNull CommandMeta> metaMapper) {
this.annotationParser = annotationParser; this.annotationParser = annotationParser;
this.metaMapper = metaMapper; this.metaMapper = metaMapper;
} }
@Override @Override
public @NonNull CommandMeta apply(@NonNull final Annotation @NonNull [] annotations) { public @NonNull CommandMeta apply(final @NonNull Annotation @NonNull [] annotations) {
final ParserParameters parameters = ParserParameters.empty(); final ParserParameters parameters = ParserParameters.empty();
for (final Annotation annotation : annotations) { for (final Annotation annotation : annotations) {
@SuppressWarnings("ALL") final Function function = this.annotationParser.getAnnotationMappers() @SuppressWarnings("ALL") final Function function = this.annotationParser.getAnnotationMappers()

View file

@ -43,8 +43,8 @@ class MethodCommandExecutionHandler<C> implements CommandExecutionHandler<C> {
private final MethodHandle methodHandle; private final MethodHandle methodHandle;
private final Map<String, CommandArgument<C, ?>> commandArguments; private final Map<String, CommandArgument<C, ?>> commandArguments;
MethodCommandExecutionHandler(@NonNull final Object instance, MethodCommandExecutionHandler(final @NonNull Object instance,
@NonNull final Map<@NonNull String, final @NonNull Map<@NonNull String,
@NonNull CommandArgument<@NonNull C, @NonNull ?>> commandArguments, @NonNull CommandArgument<@NonNull C, @NonNull ?>> commandArguments,
@NonNull final Method method) throws Exception { @NonNull final Method method) throws Exception {
this.commandArguments = commandArguments; this.commandArguments = commandArguments;
@ -54,7 +54,7 @@ class MethodCommandExecutionHandler<C> implements CommandExecutionHandler<C> {
} }
@Override @Override
public void execute(@NonNull final CommandContext<C> commandContext) { public void execute(final @NonNull CommandContext<C> commandContext) {
final List<Object> arguments = new ArrayList<>(this.parameters.length); final List<Object> arguments = new ArrayList<>(this.parameters.length);
final FlagContext flagContext = commandContext.flags(); final FlagContext flagContext = commandContext.flags();

View file

@ -33,9 +33,9 @@ final class SyntaxFragment {
private final List<String> minor; private final List<String> minor;
private final ArgumentMode argumentMode; private final ArgumentMode argumentMode;
SyntaxFragment(@NonNull final String major, SyntaxFragment(final @NonNull String major,
@NonNull final List<@NonNull String> minor, final @NonNull List<@NonNull String> minor,
@NonNull final ArgumentMode argumentMode) { final @NonNull ArgumentMode argumentMode) {
this.major = major; this.major = major;
this.minor = minor; this.minor = minor;
this.argumentMode = argumentMode; this.argumentMode = argumentMode;

View file

@ -47,7 +47,7 @@ final class SyntaxParser implements Function<@NonNull String, @NonNull LinkedHas
.asPredicate(); .asPredicate();
@Override @Override
public @NonNull LinkedHashMap<@NonNull String, @NonNull SyntaxFragment> apply(@NonNull final String syntax) { public @NonNull LinkedHashMap<@NonNull String, @NonNull SyntaxFragment> apply(final @NonNull String syntax) {
final StringTokenizer stringTokenizer = new StringTokenizer(syntax, " "); final StringTokenizer stringTokenizer = new StringTokenizer(syntax, " ");
final LinkedHashMap<String, SyntaxFragment> map = new LinkedHashMap<>(); final LinkedHashMap<String, SyntaxFragment> map = new LinkedHashMap<>();
while (stringTokenizer.hasMoreTokens()) { while (stringTokenizer.hasMoreTokens()) {

View file

@ -73,11 +73,11 @@ public class Command<C> {
* @param commandPermission Command permission * @param commandPermission Command permission
* @param commandMeta Command meta instance * @param commandMeta Command meta instance
*/ */
public Command(@NonNull final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments, public Command(final @NonNull Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
@NonNull final CommandExecutionHandler<@NonNull C> commandExecutionHandler, final @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler,
@Nullable final Class<? extends C> senderType, final @Nullable Class<? extends C> senderType,
@NonNull final CommandPermission commandPermission, final @NonNull CommandPermission commandPermission,
@NonNull final CommandMeta commandMeta) { final @NonNull CommandMeta commandMeta) {
this.arguments = Objects.requireNonNull(commandArguments, "Command arguments may not be null"); this.arguments = Objects.requireNonNull(commandArguments, "Command arguments may not be null");
if (this.arguments.size() == 0) { if (this.arguments.size() == 0) {
throw new IllegalArgumentException("At least one command argument is required"); 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 senderType Required sender type. May be {@code null}
* @param commandMeta Command meta instance * @param commandMeta Command meta instance
*/ */
public Command(@NonNull final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments, public Command(final @NonNull Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
@NonNull final CommandExecutionHandler<@NonNull C> commandExecutionHandler, final @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler,
@Nullable final Class<? extends C> senderType, final @Nullable Class<? extends C> senderType,
@NonNull final CommandMeta commandMeta) { final @NonNull CommandMeta commandMeta) {
this(commandArguments, commandExecutionHandler, senderType, Permission.empty(), commandMeta); this(commandArguments, commandExecutionHandler, senderType, Permission.empty(), commandMeta);
} }
@ -125,10 +125,10 @@ public class Command<C> {
* @param commandPermission Command permission * @param commandPermission Command permission
* @param commandMeta Command meta instance * @param commandMeta Command meta instance
*/ */
public Command(@NonNull final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments, public Command(final @NonNull Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
@NonNull final CommandExecutionHandler<@NonNull C> commandExecutionHandler, final @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler,
@NonNull final CommandPermission commandPermission, final @NonNull CommandPermission commandPermission,
@NonNull final CommandMeta commandMeta) { final @NonNull CommandMeta commandMeta) {
this(commandArguments, commandExecutionHandler, null, commandPermission, commandMeta); this(commandArguments, commandExecutionHandler, null, commandPermission, commandMeta);
} }
@ -143,10 +143,10 @@ public class Command<C> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Command builder * @return Command builder
*/ */
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String commandName, public static <C> @NonNull Builder<C> newBuilder(final @NonNull String commandName,
@NonNull final CommandMeta commandMeta, final @NonNull CommandMeta commandMeta,
@NonNull final Description description, final @NonNull Description description,
@NonNull final String... aliases) { final @NonNull String... aliases) {
final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> map = new LinkedHashMap<>(); final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> map = new LinkedHashMap<>();
map.put(StaticArgument.of(commandName, aliases), description); map.put(StaticArgument.of(commandName, aliases), description);
return new Builder<>(null, return new Builder<>(null,
@ -168,9 +168,9 @@ public class Command<C> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Command builder * @return Command builder
*/ */
public static <C> @NonNull Builder<C> newBuilder(@NonNull final String commandName, public static <C> @NonNull Builder<C> newBuilder(final @NonNull String commandName,
@NonNull final CommandMeta commandMeta, final @NonNull CommandMeta commandMeta,
@NonNull final String... aliases) { final @NonNull String... aliases) {
final Map<CommandArgument<C, ?>, Description> map = new LinkedHashMap<>(); final Map<CommandArgument<C, ?>, Description> map = new LinkedHashMap<>();
map.put(StaticArgument.of(commandName, aliases), Description.empty()); map.put(StaticArgument.of(commandName, aliases), Description.empty());
return new Builder<>(null, return new Builder<>(null,
@ -233,7 +233,7 @@ public class Command<C> {
* @param argument Argument * @param argument Argument
* @return Argument description * @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(); return this.arguments.get(argument).getDescription();
} }
@ -273,13 +273,13 @@ public class Command<C> {
private final CommandManager<C> commandManager; private final CommandManager<C> commandManager;
private final Collection<CommandFlag<?>> flags; private final Collection<CommandFlag<?>> flags;
private Builder(@Nullable final CommandManager<C> commandManager, private Builder(final @Nullable CommandManager<C> commandManager,
@NonNull final CommandMeta commandMeta, final @NonNull CommandMeta commandMeta,
@Nullable final Class<? extends C> senderType, final @Nullable Class<? extends C> senderType,
@NonNull final Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments, final @NonNull Map<@NonNull CommandArgument<C, ?>, @NonNull Description> commandArguments,
@NonNull final CommandExecutionHandler<@NonNull C> commandExecutionHandler, final @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler,
@NonNull final CommandPermission commandPermission, final @NonNull CommandPermission commandPermission,
@NonNull final Collection<CommandFlag<?>> flags) { final @NonNull Collection<CommandFlag<?>> flags) {
this.commandManager = commandManager; this.commandManager = commandManager;
this.senderType = senderType; this.senderType = senderType;
this.commandArguments = Objects.requireNonNull(commandArguments, "Arguments may not be null"); this.commandArguments = Objects.requireNonNull(commandArguments, "Arguments may not be null");
@ -296,7 +296,7 @@ public class Command<C> {
* @param value Meta value * @param value Meta value
* @return New builder instance using the inserted meta key-value pair * @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(); final CommandMeta commandMeta = SimpleCommandMeta.builder().with(this.commandMeta).with(key, value).build();
return new Builder<>(this.commandManager, return new Builder<>(this.commandManager,
commandMeta, commandMeta,
@ -315,7 +315,7 @@ public class Command<C> {
* @param commandManager Command manager * @param commandManager Command manager
* @return New builder instance using the provided 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, return new Builder<>(commandManager,
this.commandMeta, this.commandMeta,
this.senderType, this.senderType,
@ -332,8 +332,8 @@ public class Command<C> {
* @param aliases Argument aliases * @param aliases Argument aliases
* @return New builder instance with the modified command chain * @return New builder instance with the modified command chain
*/ */
public @NonNull Builder<C> literal(@NonNull final String main, public @NonNull Builder<C> literal(final @NonNull String main,
@NonNull final String... aliases) { final @NonNull String... aliases) {
return this.argument(StaticArgument.of(main, aliases)); return this.argument(StaticArgument.of(main, aliases));
} }
@ -345,9 +345,9 @@ public class Command<C> {
* @param aliases Argument aliases * @param aliases Argument aliases
* @return New builder instance with the modified command chain * @return New builder instance with the modified command chain
*/ */
public @NonNull Builder<C> literal(@NonNull final String main, public @NonNull Builder<C> literal(final @NonNull String main,
@NonNull final Description description, final @NonNull Description description,
@NonNull final String... aliases) { final @NonNull String... aliases) {
return this.argument(StaticArgument.of(main, aliases), description); return this.argument(StaticArgument.of(main, aliases), description);
} }
@ -370,7 +370,7 @@ public class Command<C> {
* @param <T> Argument type * @param <T> Argument type
* @return New builder instance with the command argument inserted into the argument list * @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()); return this.argument(argument, Description.empty());
} }
@ -382,8 +382,8 @@ public class Command<C> {
* @param <T> Argument type * @param <T> Argument type
* @return New builder instance with the command argument inserted into the argument list * @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,
@NonNull final Description description) { final @NonNull Description description) {
final Map<CommandArgument<C, ?>, Description> commandArgumentMap = new LinkedHashMap<>(this.commandArguments); final Map<CommandArgument<C, ?>, Description> commandArgumentMap = new LinkedHashMap<>(this.commandArguments);
commandArgumentMap.put(argument, description); commandArgumentMap.put(argument, description);
return new Builder<>(this.commandManager, 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 * @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, 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); final Map<CommandArgument<C, ?>, Description> commandArgumentMap = new LinkedHashMap<>(this.commandArguments);
commandArgumentMap.put(builder.build(), description); commandArgumentMap.put(builder.build(), description);
return new Builder<>(this.commandManager, return new Builder<>(this.commandManager,
@ -426,9 +426,9 @@ public class Command<C> {
* @param <T> Argument type * @param <T> Argument type
* @return New builder instance with the command argument inserted into the argument list * @return New builder instance with the command argument inserted into the argument list
*/ */
public <T> @NonNull Builder<C> argument(@NonNull final Class<T> clazz, public <T> @NonNull Builder<C> argument(final @NonNull Class<T> clazz,
@NonNull final String name, final @NonNull String name,
@NonNull final Consumer<CommandArgument.Builder<C, T>> builderConsumer) { final @NonNull Consumer<CommandArgument.Builder<C, T>> builderConsumer) {
final CommandArgument.Builder<C, T> builder = CommandArgument.ofType(clazz, name); final CommandArgument.Builder<C, T> builder = CommandArgument.ofType(clazz, name);
if (this.commandManager != null) { if (this.commandManager != null) {
builder.manager(this.commandManager); builder.manager(this.commandManager);
@ -456,10 +456,10 @@ public class Command<C> {
* @param <V> Second type * @param <V> Second type
* @return Builder instance with the argument inserted * @return Builder instance with the argument inserted
*/ */
public <U, V> @NonNull Builder<C> argumentPair(@NonNull final String name, public <U, V> @NonNull Builder<C> argumentPair(final @NonNull String name,
@NonNull final Pair<@NonNull String, @NonNull String> names, final @NonNull Pair<@NonNull String, @NonNull String> names,
@NonNull final Pair<@NonNull Class<U>, @NonNull Class<V>> parserPair, final @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> parserPair,
@NonNull final Description description) { final @NonNull Description description) {
if (this.commandManager == null) { if (this.commandManager == null) {
throw new IllegalStateException("This cannot be called from a command that has no command manager attached"); 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 * @param <O> Output type
* @return Builder instance with the argument inserted * @return Builder instance with the argument inserted
*/ */
public <U, V, O> @NonNull Builder<C> argumentPair(@NonNull final String name, public <U, V, O> @NonNull Builder<C> argumentPair(final @NonNull String name,
@NonNull final TypeToken<O> outputType, final @NonNull TypeToken<O> outputType,
@NonNull final Pair<String, String> names, final @NonNull Pair<String, String> names,
@NonNull final Pair<Class<U>, Class<V>> parserPair, final @NonNull Pair<Class<U>, Class<V>> parserPair,
@NonNull final Function<Pair<U, V>, O> mapper, final @NonNull Function<Pair<U, V>, O> mapper,
@NonNull final Description description) { final @NonNull Description description) {
if (this.commandManager == null) { if (this.commandManager == null) {
throw new IllegalStateException("This cannot be called from a command that has no command manager attached"); 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 * @param <W> Third type
* @return Builder instance with the argument inserted * @return Builder instance with the argument inserted
*/ */
public <U, V, W> @NonNull Builder<C> argumentTriplet(@NonNull final String name, public <U, V, W> @NonNull Builder<C> argumentTriplet(final @NonNull String name,
@NonNull final Triplet<String, String, String> names, final @NonNull Triplet<String, String, String> names,
@NonNull final Triplet<Class<U>, Class<V>, Class<W>> parserTriplet, final @NonNull Triplet<Class<U>, Class<V>, Class<W>> parserTriplet,
@NonNull final Description description) { final @NonNull Description description) {
if (this.commandManager == null) { if (this.commandManager == null) {
throw new IllegalStateException("This cannot be called from a command that has no command manager attached"); 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 * @param <O> Output type
* @return Builder instance with the argument inserted * @return Builder instance with the argument inserted
*/ */
public <U, V, W, O> @NonNull Builder<C> argumentTriplet(@NonNull final String name, public <U, V, W, O> @NonNull Builder<C> argumentTriplet(final @NonNull String name,
@NonNull final TypeToken<O> outputType, final @NonNull TypeToken<O> outputType,
@NonNull final Triplet<String, String, String> names, final @NonNull Triplet<String, String, String> names,
@NonNull final Triplet<Class<U>, Class<V>, final @NonNull Triplet<Class<U>, Class<V>,
Class<W>> parserTriplet, Class<W>> parserTriplet,
@NonNull final Function<Triplet<U, V, W>, O> mapper, final @NonNull Function<Triplet<U, V, W>, O> mapper,
@NonNull final Description description) { final @NonNull Description description) {
if (this.commandManager == null) { if (this.commandManager == null) {
throw new IllegalStateException("This cannot be called from a command that has no command manager attached"); 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 * @param commandExecutionHandler New execution handler
* @return New builder instance using the command 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, return new Builder<>(this.commandManager,
this.commandMeta, this.commandMeta,
this.senderType, this.senderType,
@ -588,7 +588,7 @@ public class Command<C> {
* @param senderType Required sender type * @param senderType Required sender type
* @return New builder instance using the command execution handler * @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, return new Builder<>(this.commandManager,
this.commandMeta, this.commandMeta,
senderType, senderType,
@ -604,7 +604,7 @@ public class Command<C> {
* @param permission Command permission * @param permission Command permission
* @return New builder instance using the 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, return new Builder<>(this.commandManager,
this.commandMeta, this.commandMeta,
this.senderType, this.senderType,
@ -620,7 +620,7 @@ public class Command<C> {
* @param permission Command permission * @param permission Command permission
* @return New builder instance using the 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, return new Builder<>(this.commandManager,
this.commandMeta, this.commandMeta,
this.senderType, this.senderType,
@ -641,7 +641,7 @@ public class Command<C> {
* @param command Command to proxy * @param command Command to proxy
* @return New builder that proxies the given command * @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; Builder<C> builder = this;
for (final CommandArgument<C, ?> argument : command.getArguments()) { for (final CommandArgument<C, ?> argument : command.getArguments()) {
if (argument instanceof StaticArgument) { if (argument instanceof StaticArgument) {
@ -673,7 +673,7 @@ public class Command<C> {
* @param <T> Flag value type * @param <T> Flag value type
* @return New builder instance that uses the provided flag * @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); final List<CommandFlag<?>> flags = new ArrayList<>(this.flags);
flags.add(flag); flags.add(flag);
return new Builder<>(this.commandManager, return new Builder<>(this.commandManager,

View file

@ -40,7 +40,7 @@ public final class CommandHelpHandler<C> {
private final CommandManager<C> commandManager; private final CommandManager<C> commandManager;
CommandHelpHandler(@NonNull final CommandManager<C> commandManager) { CommandHelpHandler(final @NonNull CommandManager<C> commandManager) {
this.commandManager = commandManager; this.commandManager = commandManager;
} }
@ -89,9 +89,9 @@ public final class CommandHelpHandler<C> {
private final String syntaxString; private final String syntaxString;
private final String description; private final String description;
private VerboseHelpEntry(@NonNull final Command<C> command, private VerboseHelpEntry(final @NonNull Command<C> command,
@NonNull final String syntaxString, final @NonNull String syntaxString,
@NonNull final String description) { final @NonNull String description) {
this.command = command; this.command = command;
this.syntaxString = syntaxString; this.syntaxString = syntaxString;
this.description = description; this.description = description;
@ -131,7 +131,7 @@ public final class CommandHelpHandler<C> {
* @param query Query string * @param query Query string
* @return Help topic, will return an empty {@link IndexHelpTopic} if no results were found * @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()) { if (query.replace(" ", "").isEmpty()) {
return new IndexHelpTopic<>(this.getAllCommands()); return new IndexHelpTopic<>(this.getAllCommands());
} }
@ -261,7 +261,7 @@ public final class CommandHelpHandler<C> {
private final List<VerboseHelpEntry<C>> entries; 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; this.entries = entries;
} }
@ -296,7 +296,7 @@ public final class CommandHelpHandler<C> {
private final Command<C> command; private final Command<C> command;
private final String description; private final String description;
private VerboseHelpTopic(@NonNull final Command<C> command) { private VerboseHelpTopic(final @NonNull Command<C> command) {
this.command = command; this.command = command;
final String shortDescription = command.getCommandMeta().getOrDefault("description", "No description"); final String shortDescription = command.getCommandMeta().getOrDefault("description", "No description");
this.description = command.getCommandMeta().getOrDefault("long-description", shortDescription); this.description = command.getCommandMeta().getOrDefault("long-description", shortDescription);
@ -333,8 +333,8 @@ public final class CommandHelpHandler<C> {
private final String longestPath; private final String longestPath;
private final List<String> childSuggestions; private final List<String> childSuggestions;
private MultiHelpTopic(@NonNull final String longestPath, private MultiHelpTopic(final @NonNull String longestPath,
@NonNull final List<@NonNull String> childSuggestions) { final @NonNull List<@NonNull String> childSuggestions) {
this.longestPath = longestPath; this.longestPath = longestPath;
this.childSuggestions = childSuggestions; this.childSuggestions = childSuggestions;
} }

View file

@ -97,8 +97,8 @@ public abstract class CommandManager<C> {
* @param commandRegistrationHandler Command registration handler * @param commandRegistrationHandler Command registration handler
*/ */
public CommandManager( public CommandManager(
@NonNull final Function<@NonNull CommandTree<C>, @NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator, final @NonNull Function<@NonNull CommandTree<C>, @NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@NonNull final CommandRegistrationHandler commandRegistrationHandler) { final @NonNull CommandRegistrationHandler commandRegistrationHandler) {
this.commandTree = CommandTree.newTree(this); this.commandTree = CommandTree.newTree(this);
this.commandExecutionCoordinator = commandExecutionCoordinator.apply(commandTree); this.commandExecutionCoordinator = commandExecutionCoordinator.apply(commandTree);
this.commandRegistrationHandler = commandRegistrationHandler; this.commandRegistrationHandler = commandRegistrationHandler;
@ -114,7 +114,7 @@ public abstract class CommandManager<C> {
* @param input Input string * @param input Input string
* @return List of tokens * @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 StringTokenizer stringTokenizer = new StringTokenizer(input, " ");
final LinkedList<String> tokens = new LinkedList<>(); final LinkedList<String> tokens = new LinkedList<>();
while (stringTokenizer.hasMoreElements()) { while (stringTokenizer.hasMoreElements()) {
@ -133,8 +133,8 @@ public abstract class CommandManager<C> {
* @param input Input provided by the sender * @param input Input provided by the sender
* @return Command result * @return Command result
*/ */
public @NonNull CompletableFuture<CommandResult<C>> executeCommand(@NonNull final C commandSender, public @NonNull CompletableFuture<CommandResult<C>> executeCommand(final @NonNull C commandSender,
@NonNull final String input) { final @NonNull String input) {
final CommandContext<C> context = this.commandContextFactory.create(false, commandSender); final CommandContext<C> context = this.commandContextFactory.create(false, commandSender);
final LinkedList<String> inputQueue = tokenize(input); final LinkedList<String> inputQueue = tokenize(input);
try { try {
@ -158,8 +158,8 @@ public abstract class CommandManager<C> {
* @param input Input provided by the sender * @param input Input provided by the sender
* @return List of suggestions * @return List of suggestions
*/ */
public @NonNull List<@NonNull String> suggest(@NonNull final C commandSender, public @NonNull List<@NonNull String> suggest(final @NonNull C commandSender,
@NonNull final String input) { final @NonNull String input) {
final CommandContext<C> context = this.commandContextFactory.create(true, commandSender); final CommandContext<C> context = this.commandContextFactory.create(true, commandSender);
final LinkedList<String> inputQueue = tokenize(input); final LinkedList<String> inputQueue = tokenize(input);
if (this.preprocessContext(context, inputQueue) == State.ACCEPTED) { if (this.preprocessContext(context, inputQueue) == State.ACCEPTED) {
@ -177,7 +177,7 @@ public abstract class CommandManager<C> {
* @param command Command to register * @param command Command to register
* @return The command manager instance * @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.commandTree.insertCommand(command);
this.commands.add(command); this.commands.add(command);
return this; return this;
@ -207,7 +207,7 @@ public abstract class CommandManager<C> {
* *
* @param commandSyntaxFormatter New formatter * @param commandSyntaxFormatter New formatter
*/ */
public void setCommandSyntaxFormatter(@NonNull final CommandSyntaxFormatter<C> commandSyntaxFormatter) { public void setCommandSyntaxFormatter(final @NonNull CommandSyntaxFormatter<C> commandSyntaxFormatter) {
this.commandSyntaxFormatter = commandSyntaxFormatter; this.commandSyntaxFormatter = commandSyntaxFormatter;
} }
@ -220,7 +220,7 @@ public abstract class CommandManager<C> {
return this.commandRegistrationHandler; return this.commandRegistrationHandler;
} }
protected final void setCommandRegistrationHandler(@NonNull final CommandRegistrationHandler commandRegistrationHandler) { protected final void setCommandRegistrationHandler(final @NonNull CommandRegistrationHandler commandRegistrationHandler) {
this.commandRegistrationHandler = commandRegistrationHandler; this.commandRegistrationHandler = commandRegistrationHandler;
} }
@ -232,8 +232,8 @@ public abstract class CommandManager<C> {
* @param permission Permission node * @param permission Permission node
* @return {@code true} if the sender has the permission, else {@code false} * @return {@code true} if the sender has the permission, else {@code false}
*/ */
public boolean hasPermission(@NonNull final C sender, public boolean hasPermission(final @NonNull C sender,
@NonNull final CommandPermission permission) { final @NonNull CommandPermission permission) {
if (permission.toString().isEmpty()) { if (permission.toString().isEmpty()) {
return true; return true;
} }
@ -270,10 +270,10 @@ public abstract class CommandManager<C> {
* @param meta Command meta * @param meta Command meta
* @return Builder instance * @return Builder instance
*/ */
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name, public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
@NonNull final Collection<String> aliases, final @NonNull Collection<String> aliases,
@NonNull final Description description, final @NonNull Description description,
@NonNull final CommandMeta meta) { final @NonNull CommandMeta meta) {
return Command.newBuilder(name, meta, description, aliases.toArray(new String[0])); return Command.newBuilder(name, meta, description, aliases.toArray(new String[0]));
} }
@ -285,9 +285,9 @@ public abstract class CommandManager<C> {
* @param meta Command meta * @param meta Command meta
* @return Builder instance * @return Builder instance
*/ */
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name, public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
@NonNull final Collection<String> aliases, final @NonNull Collection<String> aliases,
@NonNull final CommandMeta meta) { final @NonNull CommandMeta meta) {
return Command.newBuilder(name, meta, Description.empty(), aliases.toArray(new String[0])); 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 * @param aliases Command aliases
* @return Builder instance * @return Builder instance
*/ */
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name, public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
@NonNull final CommandMeta meta, final @NonNull CommandMeta meta,
@NonNull final Description description, final @NonNull Description description,
@NonNull final String... aliases) { final @NonNull String... aliases) {
return Command.newBuilder(name, meta, description, aliases); return Command.newBuilder(name, meta, description, aliases);
} }
@ -315,9 +315,9 @@ public abstract class CommandManager<C> {
* @param aliases Command aliases * @param aliases Command aliases
* @return Builder instance * @return Builder instance
*/ */
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name, public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
@NonNull final CommandMeta meta, final @NonNull CommandMeta meta,
@NonNull final String... aliases) { final @NonNull String... aliases) {
return Command.newBuilder(name, meta, Description.empty(), 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 * @throws UnsupportedOperationException If the command manager does not support default command meta creation
* @see #createDefaultCommandMeta() Default command meta creation * @see #createDefaultCommandMeta() Default command meta creation
*/ */
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name, public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
@NonNull final Description description, final @NonNull Description description,
@NonNull final String... aliases) { final @NonNull String... aliases) {
return Command.<C>newBuilder(name, this.createDefaultCommandMeta(), description, aliases).manager(this); 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 * @throws UnsupportedOperationException If the command manager does not support default command meta creation
* @see #createDefaultCommandMeta() Default command meta creation * @see #createDefaultCommandMeta() Default command meta creation
*/ */
public Command.@NonNull Builder<C> commandBuilder(@NonNull final String name, public Command.@NonNull Builder<C> commandBuilder(final @NonNull String name,
@NonNull final String... aliases) { final @NonNull String... aliases) {
return Command.<C>newBuilder(name, this.createDefaultCommandMeta(), Description.empty(), aliases).manager(this); 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 * @param <T> Generic argument name
* @return Argument builder * @return Argument builder
*/ */
public <T> CommandArgument.@NonNull Builder<C, T> argumentBuilder(@NonNull final Class<T> type, public <T> CommandArgument.@NonNull Builder<C, T> argumentBuilder(final @NonNull Class<T> type,
@NonNull final String name) { final @NonNull String name) {
return CommandArgument.<C, T>ofType(type, name).manager(this); return CommandArgument.<C, T>ofType(type, name).manager(this);
} }
@ -370,7 +370,7 @@ public abstract class CommandManager<C> {
* @param name Flag name * @param name Flag name
* @return Flag builder * @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); return CommandFlag.<C>newBuilder(name);
} }
@ -399,7 +399,7 @@ public abstract class CommandManager<C> {
* @param processor Processor to register * @param processor Processor to register
* @see #preprocessContext(CommandContext, LinkedList) Preprocess a context * @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>>() { this.servicePipeline.registerServiceImplementation(new TypeToken<CommandPreprocessor<C>>() {
}, processor, }, processor,
Collections.emptyList()); Collections.emptyList());
@ -412,7 +412,7 @@ public abstract class CommandManager<C> {
* @param processor Processor to register * @param processor Processor to register
* @see #preprocessContext(CommandContext, LinkedList) Preprocess a context * @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>>() { this.servicePipeline.registerServiceImplementation(new TypeToken<CommandPostprocessor<C>>() {
}, processor, }, processor,
Collections.emptyList()); 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} * @return {@link State#ACCEPTED} if the command should be parsed and executed, else {@link State#REJECTED}
* @see #registerCommandPreProcessor(CommandPreprocessor) Register a command preprocessor * @see #registerCommandPreProcessor(CommandPreprocessor) Register a command preprocessor
*/ */
public State preprocessContext(@NonNull final CommandContext<C> context, public State preprocessContext(final @NonNull CommandContext<C> context,
@NonNull final LinkedList<@NonNull String> inputQueue) { final @NonNull LinkedList<@NonNull String> inputQueue) {
this.servicePipeline.pump(new CommandPreprocessingContext<>(context, inputQueue)) this.servicePipeline.pump(new CommandPreprocessingContext<>(context, inputQueue))
.through(new TypeToken<CommandPreprocessor<C>>() { .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} * @return {@link State#ACCEPTED} if the command should be parsed and executed, else {@link State#REJECTED}
* @see #registerCommandPostProcessor(CommandPostprocessor) Register a command postprocessor * @see #registerCommandPostProcessor(CommandPostprocessor) Register a command postprocessor
*/ */
public State postprocessContext(@NonNull final CommandContext<C> context, public State postprocessContext(final @NonNull CommandContext<C> context,
@NonNull final Command<C> command) { final @NonNull Command<C> command) {
this.servicePipeline.pump(new CommandPostprocessingContext<>(context, command)) this.servicePipeline.pump(new CommandPostprocessingContext<>(context, command))
.through(new TypeToken<CommandPostprocessor<C>>() { .through(new TypeToken<CommandPostprocessor<C>>() {
}) })
@ -473,7 +473,7 @@ public abstract class CommandManager<C> {
* *
* @param commandSuggestionProcessor New command suggestions processor * @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; this.commandSuggestionProcessor = commandSuggestionProcessor;
} }
@ -503,7 +503,7 @@ public abstract class CommandManager<C> {
* @see #registerCommandPreProcessor(CommandPreprocessor) Registering an exception handler * @see #registerCommandPreProcessor(CommandPreprocessor) Registering an exception handler
*/ */
public final <E extends Exception> @Nullable BiConsumer<@NonNull C, @NonNull E> 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); final BiConsumer<C, ? extends Exception> consumer = this.exceptionHandlers.get(clazz);
if (consumer == null) { if (consumer == null) {
return null; return null;
@ -521,8 +521,8 @@ public abstract class CommandManager<C> {
* @param handler Exception handler * @param handler Exception handler
* @param <E> Exception type * @param <E> Exception type
*/ */
public final <E extends Exception> void registerExceptionHandler(@NonNull final Class<E> clazz, public final <E extends Exception> void registerExceptionHandler(final @NonNull Class<E> clazz,
@NonNull final BiConsumer<@NonNull C, @NonNull E> handler) { final @NonNull BiConsumer<@NonNull C, @NonNull E> handler) {
this.exceptionHandlers.put(clazz, handler); this.exceptionHandlers.put(clazz, handler);
} }
@ -537,10 +537,10 @@ public abstract class CommandManager<C> {
* handler stored for the exception type * handler stored for the exception type
* @param <E> Exception type * @param <E> Exception type
*/ */
public final <E extends Exception> void handleException(@NonNull final C sender, public final <E extends Exception> void handleException(final @NonNull C sender,
@NonNull final Class<E> clazz, final @NonNull Class<E> clazz,
@NonNull final E exception, final @NonNull E exception,
@NonNull final BiConsumer<C, E> defaultHandler) { final @NonNull BiConsumer<C, E> defaultHandler) {
Optional.ofNullable(this.getExceptionHandler(clazz)).orElse(defaultHandler).accept(sender, exception); Optional.ofNullable(this.getExceptionHandler(clazz)).orElse(defaultHandler).accept(sender, exception);
} }
@ -570,7 +570,7 @@ public abstract class CommandManager<C> {
* @param setting Setting * @param setting Setting
* @return {@code true} if the setting is activated or {@code false} if it's not * @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); return this.managerSettings.contains(setting);
} }
@ -580,7 +580,7 @@ public abstract class CommandManager<C> {
* @param setting Setting to set * @param setting Setting to set
* @param value Value * @param value Value
*/ */
public void setSetting(@NonNull final ManagerSettings setting, public void setSetting(final @NonNull ManagerSettings setting,
final boolean value) { final boolean value) {
if (value) { if (value) {
this.managerSettings.add(setting); this.managerSettings.add(setting);

View file

@ -90,7 +90,7 @@ public final class CommandTree<C> {
private final Node<CommandArgument<C, ?>> internalTree = new Node<>(null); private final Node<CommandArgument<C, ?>> internalTree = new Node<>(null);
private final CommandManager<C> commandManager; private final CommandManager<C> commandManager;
private CommandTree(@NonNull final CommandManager<C> commandManager) { private CommandTree(final @NonNull CommandManager<C> commandManager) {
this.commandManager = commandManager; this.commandManager = commandManager;
} }
@ -101,7 +101,7 @@ public final class CommandTree<C> {
* @param <C> Command sender type * @param <C> Command sender type
* @return New command tree * @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); 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 NoPermissionException If the sender lacks permission to execute the command
* @throws InvalidSyntaxException If the command syntax is invalid * @throws InvalidSyntaxException If the command syntax is invalid
*/ */
public @NonNull Optional<Command<C>> parse(@NonNull final CommandContext<C> commandContext, public @NonNull Optional<Command<C>> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> args) throws final @NonNull Queue<@NonNull String> args) throws
NoSuchCommandException, NoPermissionException, InvalidSyntaxException { NoSuchCommandException, NoPermissionException, InvalidSyntaxException {
final Optional<Command<C>> commandOptional = parseCommand(new ArrayList<>(), final Optional<Command<C>> commandOptional = parseCommand(new ArrayList<>(),
commandContext, commandContext,
@ -130,10 +130,10 @@ public final class CommandTree<C> {
return commandOptional; return commandOptional;
} }
private Optional<Command<C>> parseCommand(@NonNull final List<@NonNull CommandArgument<C, ?>> parsedArguments, private Optional<Command<C>> parseCommand(final @NonNull List<@NonNull CommandArgument<C, ?>> parsedArguments,
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> commandQueue, final @NonNull Queue<@NonNull String> commandQueue,
@NonNull final Node<@Nullable CommandArgument<C, ?>> root) { final @NonNull Node<@Nullable CommandArgument<C, ?>> root) {
CommandPermission permission = this.isPermitted(commandContext.getSender(), root); CommandPermission permission = this.isPermitted(commandContext.getSender(), root);
if (permission != null) { if (permission != null) {
throw new NoPermissionException(permission, commandContext.getSender(), this.getChain(root) throw new NoPermissionException(permission, commandContext.getSender(), this.getChain(root)
@ -226,10 +226,10 @@ public final class CommandTree<C> {
} }
private @Nullable Optional<Command<C>> private @Nullable Optional<Command<C>>
attemptParseUnambiguousChild(@NonNull final List<@NonNull CommandArgument<C, ?>> parsedArguments, attemptParseUnambiguousChild(final @NonNull List<@NonNull CommandArgument<C, ?>> parsedArguments,
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Node<@Nullable CommandArgument<C, ?>> root, final @NonNull Node<@Nullable CommandArgument<C, ?>> root,
@NonNull final Queue<String> commandQueue) { final @NonNull Queue<String> commandQueue) {
CommandPermission permission; CommandPermission permission;
final List<Node<CommandArgument<C, ?>>> children = root.getChildren(); final List<Node<CommandArgument<C, ?>>> children = root.getChildren();
if (children.size() == 1 && !(children.get(0).getValue() instanceof StaticArgument)) { if (children.size() == 1 && !(children.get(0).getValue() instanceof StaticArgument)) {
@ -343,14 +343,14 @@ public final class CommandTree<C> {
* @param commandQueue Input queue * @param commandQueue Input queue
* @return String suggestions. These should be filtered based on {@link String#startsWith(String)} * @return String suggestions. These should be filtered based on {@link String#startsWith(String)}
*/ */
public @NonNull List<@NonNull String> getSuggestions(@NonNull final CommandContext<C> context, public @NonNull List<@NonNull String> getSuggestions(final @NonNull CommandContext<C> context,
@NonNull final Queue<@NonNull String> commandQueue) { final @NonNull Queue<@NonNull String> commandQueue) {
return getSuggestions(context, commandQueue, this.internalTree); return getSuggestions(context, commandQueue, this.internalTree);
} }
private @NonNull List<@NonNull String> getSuggestions(@NonNull final CommandContext<C> commandContext, private @NonNull List<@NonNull String> getSuggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> commandQueue, final @NonNull Queue<@NonNull String> commandQueue,
@NonNull final Node<@Nullable CommandArgument<C, ?>> root) { final @NonNull Node<@Nullable CommandArgument<C, ?>> root) {
/* If the sender isn't allowed to access the root node, no suggestions are needed */ /* If the sender isn't allowed to access the root node, no suggestions are needed */
if (this.isPermitted(commandContext.getSender(), root) != null) { 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) { if (string == null) {
return ""; return "";
} }
@ -453,7 +453,7 @@ public final class CommandTree<C> {
* @param command Command to insert * @param command Command to insert
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public void insertCommand(@NonNull final Command<C> command) { public void insertCommand(final @NonNull Command<C> command) {
synchronized (this.commandLock) { synchronized (this.commandLock) {
Node<CommandArgument<C, ?>> node = this.internalTree; Node<CommandArgument<C, ?>> node = this.internalTree;
for (final CommandArgument<C, ?> argument : command.getArguments()) { for (final CommandArgument<C, ?> argument : command.getArguments()) {
@ -485,8 +485,8 @@ public final class CommandTree<C> {
} }
} }
private @Nullable CommandPermission isPermitted(@NonNull final C sender, private @Nullable CommandPermission isPermitted(final @NonNull C sender,
@NonNull final Node<@Nullable CommandArgument<C, ?>> node) { final @NonNull Node<@Nullable CommandArgument<C, ?>> node) {
final CommandPermission permission = (CommandPermission) node.nodeMeta.get("permission"); final CommandPermission permission = (CommandPermission) node.nodeMeta.get("permission");
if (permission != null) { if (permission != null) {
return this.commandManager.hasPermission(sender, permission) ? null : permission; 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()) { if (node.isLeaf()) {
return; return;
} }
@ -592,7 +592,7 @@ public final class CommandTree<C> {
} }
private @NonNull List<@NonNull Node<@Nullable CommandArgument<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<>(); final List<Node<CommandArgument<C, ?>>> leaves = new LinkedList<>();
if (node.isLeaf()) { if (node.isLeaf()) {
if (node.getValue() != null) { if (node.getValue() != null) {
@ -604,7 +604,7 @@ public final class CommandTree<C> {
return leaves; 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<>(); final List<CommandArgument<C, ?>> leaves = new LinkedList<>();
if (node.isLeaf()) { if (node.isLeaf()) {
if (node.getValue() != null) { if (node.getValue() != null) {
@ -617,7 +617,7 @@ public final class CommandTree<C> {
} }
private @NonNull List<@NonNull Node<@Nullable CommandArgument<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<>(); final List<Node<CommandArgument<C, ?>>> chain = new LinkedList<>();
Node<CommandArgument<C, ?>> tail = end; Node<CommandArgument<C, ?>> tail = end;
while (tail != null) { while (tail != null) {
@ -628,7 +628,7 @@ public final class CommandTree<C> {
return chain; return chain;
} }
private @Nullable Command<C> cast(@Nullable final Command<C> command) { private @Nullable Command<C> cast(final @Nullable Command<C> command) {
return command; return command;
} }
@ -648,7 +648,7 @@ public final class CommandTree<C> {
* @param name Root node name * @param name Root node name
* @return Root node, or {@code null} * @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()) { for (final Node<CommandArgument<C, ?>> node : this.getRootNodes()) {
if (node.getValue() != null && node.getValue() instanceof StaticArgument) { if (node.getValue() != null && node.getValue() instanceof StaticArgument) {
@SuppressWarnings("unchecked") final StaticArgument<C> staticArgument = (StaticArgument<C>) node.getValue(); @SuppressWarnings("unchecked") final StaticArgument<C> staticArgument = (StaticArgument<C>) node.getValue();
@ -683,7 +683,7 @@ public final class CommandTree<C> {
private final T value; private final T value;
private Node<T> parent; private Node<T> parent;
private Node(@Nullable final T value) { private Node(final @Nullable T value) {
this.value = value; this.value = value;
} }
@ -696,13 +696,13 @@ public final class CommandTree<C> {
return Collections.unmodifiableList(this.children); 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); final Node<T> node = new Node<>(child);
this.children.add(node); this.children.add(node);
return 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) { for (final Node<T> child : this.children) {
if (type.equals(child.getValue())) { if (type.equals(child.getValue())) {
return child; return child;
@ -769,7 +769,7 @@ public final class CommandTree<C> {
* *
* @param parent new parent node * @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; this.parent = parent;
} }

View file

@ -38,7 +38,7 @@ public final class Description {
private final String description; private final String description;
private Description(@NonNull final String description) { private Description(final @NonNull String description) {
this.description = description; this.description = description;
} }
@ -57,7 +57,7 @@ public final class Description {
* @param string Command description * @param string Command description
* @return Created 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); return new Description(string);
} }

View file

@ -96,11 +96,11 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
* @param suggestionsProvider Suggestions provider * @param suggestionsProvider Suggestions provider
*/ */
public CommandArgument(final boolean required, public CommandArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final ArgumentParser<C, T> parser, final @NonNull ArgumentParser<C, T> parser,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@NonNull final TypeToken<T> valueType, final @NonNull TypeToken<T> valueType,
@Nullable final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) { final @Nullable BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
this.required = required; this.required = required;
this.name = Objects.requireNonNull(name, "Name may not be null"); this.name = Objects.requireNonNull(name, "Name may not be null");
if (!NAME_PATTERN.asPredicate().test(name)) { if (!NAME_PATTERN.asPredicate().test(name)) {
@ -125,11 +125,11 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
* @param suggestionsProvider Suggestions provider * @param suggestionsProvider Suggestions provider
*/ */
public CommandArgument(final boolean required, public CommandArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final ArgumentParser<C, T> parser, final @NonNull ArgumentParser<C, T> parser,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@NonNull final Class<T> valueType, final @NonNull Class<T> valueType,
@Nullable final BiFunction<@NonNull CommandContext<C>, final @Nullable BiFunction<@NonNull CommandContext<C>,
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) { @NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
this(required, name, parser, defaultValue, TypeToken.get(valueType), 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 * @param valueType Type produced by the parser
*/ */
public CommandArgument(final boolean required, public CommandArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final ArgumentParser<C, T> parser, final @NonNull ArgumentParser<C, T> parser,
@NonNull final Class<T> valueType) { final @NonNull Class<T> valueType) {
this(required, name, parser, "", valueType, null); this(required, name, parser, "", valueType, null);
} }
private static <C> @NonNull BiFunction<@NonNull CommandContext<C>, @NonNull String, 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()); 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. * @param <T> Argument Type. Used to make the compiler happy.
* @return Argument builder * @return Argument builder
*/ */
public static <C, T> CommandArgument.@NonNull Builder<C, T> ofType(@NonNull final TypeToken<T> clazz, public static <C, T> CommandArgument.@NonNull Builder<C, T> ofType(final @NonNull TypeToken<T> clazz,
@NonNull final String name) { final @NonNull String name) {
return new Builder<>(clazz, 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. * @param <T> Argument Type. Used to make the compiler happy.
* @return Argument builder * @return Argument builder
*/ */
public static <C, T> CommandArgument.@NonNull Builder<@NonNull C, @NonNull T> ofType(@NonNull final Class<T> clazz, public static <C, T> CommandArgument.@NonNull Builder<@NonNull C, @NonNull T> ofType(final @NonNull Class<T> clazz,
@NonNull final String name) { final @NonNull String name) {
return new Builder<>(TypeToken.get(clazz), name); return new Builder<>(TypeToken.get(clazz), name);
} }
@ -230,7 +230,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
* *
* @param owningCommand Owning command * @param owningCommand Owning command
*/ */
public void setOwningCommand(@NonNull final Command<C> owningCommand) { public void setOwningCommand(final @NonNull Command<C> owningCommand) {
if (this.owningCommand != null) { if (this.owningCommand != null) {
throw new IllegalStateException("Cannot replace owning command"); throw new IllegalStateException("Cannot replace owning command");
} }
@ -265,7 +265,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
} }
@Override @Override
public final int compareTo(@NonNull final CommandArgument<?, ?> o) { public final int compareTo(final @NonNull CommandArgument<?, ?> o) {
if (this instanceof StaticArgument) { if (this instanceof StaticArgument) {
if (o instanceof StaticArgument) { if (o instanceof StaticArgument) {
return (this.getName().compareTo(o.getName())); return (this.getName().compareTo(o.getName()));
@ -346,14 +346,14 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
private String defaultValue = ""; private String defaultValue = "";
private BiFunction<@NonNull CommandContext<C>, @NonNull String, @NonNull List<String>> suggestionsProvider; private BiFunction<@NonNull CommandContext<C>, @NonNull String, @NonNull List<String>> suggestionsProvider;
protected Builder(@NonNull final TypeToken<T> valueType, protected Builder(final @NonNull TypeToken<T> valueType,
@NonNull final String name) { final @NonNull String name) {
this.valueType = valueType; this.valueType = valueType;
this.name = name; this.name = name;
} }
protected Builder(@NonNull final Class<T> valueType, protected Builder(final @NonNull Class<T> valueType,
@NonNull final String name) { final @NonNull String name) {
this(TypeToken.get(valueType), name); this(TypeToken.get(valueType), name);
} }
@ -364,7 +364,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
* @param manager Command manager * @param manager Command manager
* @return Builder instance * @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; this.manager = manager;
return this; 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 * @param defaultValue Default value that will be used if none was supplied
* @return Builder instance * @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.defaultValue = defaultValue;
this.required = false; this.required = false;
return this; return this;
@ -419,7 +419,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
* @param parser Argument parser * @param parser Argument parser
* @return Builder instance * @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"); this.parser = Objects.requireNonNull(parser, "Parser may not be null");
return this; return this;
} }
@ -431,7 +431,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<@NonNull C, @NonNull T> withSuggestionsProvider( 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) { @NonNull String, @NonNull List<String>> suggestionsProvider) {
this.suggestionsProvider = suggestionsProvider; this.suggestionsProvider = suggestionsProvider;
return this; return this;

View file

@ -36,13 +36,13 @@ final class DelegatingSuggestionsProvider<C> implements BiFunction<@NonNull Comm
private final String argumentName; private final String argumentName;
private final ArgumentParser<C, ?> parser; 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.argumentName = argumentName;
this.parser = parser; this.parser = parser;
} }
@Override @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); return this.parser.suggestions(context, s);
} }

View file

@ -44,7 +44,7 @@ import java.util.List;
public class StandardCommandSyntaxFormatter<C> implements CommandSyntaxFormatter<C> { public class StandardCommandSyntaxFormatter<C> implements CommandSyntaxFormatter<C> {
@Override @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 CommandTree.@Nullable Node<@Nullable CommandArgument<C, ?>> node) {
final StringBuilder stringBuilder = new StringBuilder(); final StringBuilder stringBuilder = new StringBuilder();
final Iterator<CommandArgument<C, ?>> iterator = commandArguments.iterator(); final Iterator<CommandArgument<C, ?>> iterator = commandArguments.iterator();

View file

@ -44,7 +44,7 @@ import java.util.TreeSet;
*/ */
public final class StaticArgument<C> extends CommandArgument<C, String> { 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); 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 * @param <C> Command sender type
* @return Constructed argument * @return Constructed argument
*/ */
public static <C> @NonNull StaticArgument<C> of(@NonNull final String name, public static <C> @NonNull StaticArgument<C> of(final @NonNull String name,
@NonNull final String... aliases) { final @NonNull String... aliases) {
return new StaticArgument<>(true, name, 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 * @param <C> Command sender type
* @return Constructed argument * @return Constructed argument
*/ */
public static <C> @NonNull StaticArgument<C> optional(@NonNull final String name, public static <C> @NonNull StaticArgument<C> optional(final @NonNull String name,
@NonNull final String... aliases) { final @NonNull String... aliases) {
return new StaticArgument<>(false, name, aliases); return new StaticArgument<>(false, name, aliases);
} }
@ -79,7 +79,7 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
* *
* @param alias New alias * @param alias New alias
*/ */
public void registerAlias(@NonNull final String alias) { public void registerAlias(final @NonNull String alias) {
((StaticArgumentParser<C>) this.getParser()).insertAlias(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 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.name = name;
this.allAcceptedAliases.add(this.name); this.allAcceptedAliases.add(this.name);
this.allAcceptedAliases.addAll(Arrays.asList(aliases)); this.allAcceptedAliases.addAll(Arrays.asList(aliases));
@ -117,8 +117,8 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
} }
@Override @Override
public @NonNull ArgumentParseResult<String> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<String> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String string = inputQueue.peek(); final String string = inputQueue.peek();
if (string == null) { if (string == null) {
return ArgumentParseResult.failure(new NullPointerException("No input provided")); return ArgumentParseResult.failure(new NullPointerException("No input provided"));
@ -131,8 +131,8 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
return Collections.singletonList(this.name); return Collections.singletonList(this.name);
} }
@ -150,7 +150,7 @@ public final class StaticArgument<C> extends CommandArgument<C, String> {
* *
* @param alias New alias * @param alias New alias
*/ */
public void insertAlias(@NonNull final String alias) { public void insertAlias(final @NonNull String alias) {
this.allAcceptedAliases.add(alias); this.allAcceptedAliases.add(alias);
this.alternativeAliases.add(alias); this.alternativeAliases.add(alias);
} }

View file

@ -55,12 +55,12 @@ public class ArgumentPair<C, U, V, O> extends CompoundArgument<Pair<U, V>, C, O>
* @param valueType The output type * @param valueType The output type
*/ */
protected ArgumentPair(final boolean required, protected ArgumentPair(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final Pair<@NonNull String, @NonNull String> names, final @NonNull Pair<@NonNull String, @NonNull String> names,
@NonNull final Pair<@NonNull Class<U>, @NonNull Class<V>> types, final @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> types,
@NonNull final Pair<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>> parserPair, final @NonNull Pair<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>> parserPair,
@NonNull final Function<@NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper, final @NonNull Function<@NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper,
@NonNull final TypeToken<O> valueType) { final @NonNull TypeToken<O> valueType) {
super(required, name, names, parserPair, types, mapper, o -> Pair.of((U) o[0], (V) o[1]), 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 * @param <V> Second parsed type
* @return Intermediary builder * @return Intermediary builder
*/ */
public static <C, U, V> @NonNull ArgumentPairIntermediaryBuilder<C, U, V> of(@NonNull final CommandManager<C> manager, public static <C, U, V> @NonNull ArgumentPairIntermediaryBuilder<C, U, V> of(final @NonNull CommandManager<C> manager,
@NonNull final String name, final @NonNull String name,
@NonNull final Pair<@NonNull String, final @NonNull Pair<@NonNull String,
@NonNull String> names, @NonNull String> names,
@NonNull final Pair<@NonNull Class<U>, final @NonNull Pair<@NonNull Class<U>,
@NonNull Class<V>> types) { @NonNull Class<V>> types) {
final ParserRegistry<C> parserRegistry = manager.getParserRegistry(); final ParserRegistry<C> parserRegistry = manager.getParserRegistry();
final ArgumentParser<C, U> firstParser = parserRegistry.createParser(TypeToken.get(types.getFirst()), 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 final Pair<Class<U>, Class<V>> types;
private ArgumentPairIntermediaryBuilder(final boolean required, private ArgumentPairIntermediaryBuilder(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final Pair<@NonNull String, @NonNull String> names, final @NonNull Pair<@NonNull String, @NonNull String> names,
@NonNull final Pair<@NonNull ArgumentParser<@NonNull C, @NonNull U>, final @NonNull Pair<@NonNull ArgumentParser<@NonNull C, @NonNull U>,
@NonNull ArgumentParser<@NonNull C, @NonNull V>> parserPair, @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.required = required;
this.name = name; this.name = name;
this.names = names; 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 * @param <O> Output type
* @return Created pair * @return Created pair
*/ */
public <O> @NonNull ArgumentPair<C, U, V, O> withMapper(@NonNull final TypeToken<O> clazz, public <O> @NonNull ArgumentPair<C, U, V, O> withMapper(final @NonNull TypeToken<O> clazz,
@NonNull final Function<@NonNull Pair<@NonNull U, final @NonNull Function<@NonNull Pair<@NonNull U,
@NonNull V>, @NonNull O> mapper) { @NonNull V>, @NonNull O> mapper) {
return new ArgumentPair<C, U, V, O>(this.required, this.name, this.names, this.types, this.parserPair, mapper, clazz); 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 * @return Created pair
*/ */
public <O> @NonNull ArgumentPair<@NonNull C, @NonNull U, @NonNull V, @NonNull O> withMapper( public <O> @NonNull ArgumentPair<@NonNull C, @NonNull U, @NonNull V, @NonNull O> withMapper(
@NonNull final Class<O> clazz, final @NonNull Class<O> clazz,
@NonNull final Function<@NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper) { final @NonNull Function<@NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper) {
return this.withMapper(TypeToken.get(clazz), mapper); return this.withMapper(TypeToken.get(clazz), mapper);
} }

View file

@ -56,13 +56,13 @@ public class ArgumentTriplet<C, U, V, W, O> extends CompoundArgument<Triplet<U,
* @param valueType The output type * @param valueType The output type
*/ */
protected ArgumentTriplet(final boolean required, protected ArgumentTriplet(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final Triplet<@NonNull String, @NonNull String, @NonNull String> names, final @NonNull Triplet<@NonNull String, @NonNull String, @NonNull String> names,
@NonNull final Triplet<@NonNull Class<U>, @NonNull Class<V>, @NonNull Class<W>> types, final @NonNull Triplet<@NonNull Class<U>, @NonNull Class<V>, @NonNull Class<W>> types,
@NonNull final Triplet<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>, final @NonNull Triplet<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>,
@NonNull ArgumentParser<C, W>> parserTriplet, @NonNull ArgumentParser<C, W>> parserTriplet,
@NonNull final Function<@NonNull Triplet<U, @NonNull V, @NonNull W>, @NonNull O> mapper, final @NonNull Function<@NonNull Triplet<U, @NonNull V, @NonNull W>, @NonNull O> mapper,
@NonNull final TypeToken<O> valueType) { 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); 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 * @return Intermediary builder
*/ */
public static <C, U, V, W> @NonNull ArgumentTripletIntermediaryBuilder<@NonNull C, @NonNull U, @NonNull V, @NonNull W> public static <C, U, V, W> @NonNull ArgumentTripletIntermediaryBuilder<@NonNull C, @NonNull U, @NonNull V, @NonNull W>
of(@NonNull final CommandManager<C> manager, of(final @NonNull CommandManager<C> manager,
@NonNull final String name, final @NonNull String name,
@NonNull final Triplet<@NonNull String, @NonNull String, @NonNull String> names, final @NonNull Triplet<@NonNull String, @NonNull String, @NonNull String> names,
@NonNull final Triplet<@NonNull Class<U>, @NonNull Class<V>, @NonNull Class<W>> types) { final @NonNull Triplet<@NonNull Class<U>, @NonNull Class<V>, @NonNull Class<W>> types) {
final ParserRegistry<C> parserRegistry = manager.getParserRegistry(); final ParserRegistry<C> parserRegistry = manager.getParserRegistry();
final ArgumentParser<C, U> firstParser = parserRegistry.createParser(TypeToken.get(types.getFirst()), final ArgumentParser<C, U> firstParser = parserRegistry.createParser(TypeToken.get(types.getFirst()),
ParserParameters.empty()).orElseThrow(() -> 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 final Triplet<Class<U>, Class<V>, Class<W>> types;
private ArgumentTripletIntermediaryBuilder(final boolean required, private ArgumentTripletIntermediaryBuilder(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final Triplet<@NonNull String, @NonNull String, final @NonNull Triplet<@NonNull String, @NonNull String,
@NonNull String> names, @NonNull String> names,
@NonNull final Triplet<@NonNull ArgumentParser<C, U>, final @NonNull Triplet<@NonNull ArgumentParser<C, U>,
@NonNull ArgumentParser<C, V>, @NonNull ArgumentParser<C, V>,
@NonNull ArgumentParser<C, W>> parserTriplet, @NonNull ArgumentParser<C, W>> parserTriplet,
@NonNull final Triplet<@NonNull Class<U>, final @NonNull Triplet<@NonNull Class<U>,
@NonNull Class<V>, @NonNull Class<W>> types) { @NonNull Class<V>, @NonNull Class<W>> types) {
this.required = required; this.required = required;
this.name = name; this.name = name;
@ -154,8 +154,8 @@ public class ArgumentTriplet<C, U, V, W, O> extends CompoundArgument<Triplet<U,
* @return Created triplet * @return Created triplet
*/ */
public <O> @NonNull ArgumentTriplet<@NonNull C, @NonNull U, @NonNull V, public <O> @NonNull ArgumentTriplet<@NonNull C, @NonNull U, @NonNull V,
@NonNull W, @NonNull O> withMapper(@NonNull final TypeToken<O> clazz, @NonNull W, @NonNull O> withMapper(final @NonNull TypeToken<O> clazz,
@NonNull final Function<@NonNull Triplet<@NonNull U, final @NonNull Function<@NonNull Triplet<@NonNull U,
@NonNull V, @NonNull W>, @NonNull O> mapper) { @NonNull V, @NonNull W>, @NonNull O> mapper) {
return new ArgumentTriplet<>(this.required, this.name, this.names, this.types, this.parserTriplet, mapper, clazz); 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 * @param <O> Output type
* @return Created triplet * @return Created triplet
*/ */
public <O> @NonNull ArgumentTriplet<C, U, V, W, O> withMapper(@NonNull final Class<O> clazz, public <O> @NonNull ArgumentTriplet<C, U, V, W, O> withMapper(final @NonNull Class<O> clazz,
@NonNull final Function<@NonNull Triplet<@NonNull U, final @NonNull Function<@NonNull Triplet<@NonNull U,
@NonNull V, @NonNull W>, @NonNull O> mapper) { @NonNull V, @NonNull W>, @NonNull O> mapper) {
return new ArgumentTriplet<>(this.required, this.name, this.names, this.types, return new ArgumentTriplet<>(this.required, this.name, this.names, this.types,
this.parserTriplet, mapper, TypeToken.get(clazz)); this.parserTriplet, mapper, TypeToken.get(clazz));

View file

@ -49,13 +49,13 @@ public class CompoundArgument<T extends Tuple, C, O> extends CommandArgument<C,
private final Tuple parserTuple; private final Tuple parserTuple;
CompoundArgument(final boolean required, CompoundArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final Tuple names, final @NonNull Tuple names,
@NonNull final Tuple parserTuple, final @NonNull Tuple parserTuple,
@NonNull final Tuple types, final @NonNull Tuple types,
@NonNull final Function<@NonNull T, @NonNull O> mapper, final @NonNull Function<@NonNull T, @NonNull O> mapper,
@NonNull final Function<@NonNull Object[], @NonNull T> tupleFactory, final @NonNull Function<@NonNull Object[], @NonNull T> tupleFactory,
@NonNull final TypeToken<O> valueType) { final @NonNull TypeToken<O> valueType) {
super(required, super(required,
name, name,
new CompoundParser<>(parserTuple, mapper, tupleFactory), 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<T, O> mapper;
private final Function<Object[], T> tupleFactory; private final Function<Object[], T> tupleFactory;
private CompoundParser(@NonNull final Tuple parserTuple, private CompoundParser(final @NonNull Tuple parserTuple,
@NonNull final Function<@NonNull T, @NonNull O> mapper, final @NonNull Function<@NonNull T, @NonNull O> mapper,
@NonNull final Function<@NonNull Object[], @NonNull T> tupleFactory) { final @NonNull Function<@NonNull Object[], @NonNull T> tupleFactory) {
this.parsers = parserTuple.toArray(); this.parsers = parserTuple.toArray();
this.mapper = mapper; this.mapper = mapper;
this.tupleFactory = tupleFactory; this.tupleFactory = tupleFactory;
} }
@Override @Override
public @NonNull ArgumentParseResult<O> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<O> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final Object[] output = new Object[this.parsers.length]; final Object[] output = new Object[this.parsers.length];
for (int i = 0; i < this.parsers.length; i++) { for (int i = 0; i < this.parsers.length; i++) {
@SuppressWarnings("unchecked") final ArgumentParser<C, ?> parser = (ArgumentParser<C, ?>) this.parsers[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 @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
/* /*
This method will be called n times, each time for each of the internal types. 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 The problem is that we need to then know which of the parsers to forward the

View file

@ -74,13 +74,13 @@ public class FlagArgument<C> extends CommandArgument<C, Object> {
private final CommandFlag<?>[] flags; private final CommandFlag<?>[] flags;
private FlagArgumentParser(@NonNull final CommandFlag<?>[] flags) { private FlagArgumentParser(final @NonNull CommandFlag<?>[] flags) {
this.flags = flags; this.flags = flags;
} }
@Override @Override
public @NonNull ArgumentParseResult<@NonNull Object> parse(@NonNull final CommandContext<@NonNull C> commandContext, public @NonNull ArgumentParseResult<@NonNull Object> parse(final @NonNull CommandContext<@NonNull C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
/* /*
This argument must necessarily be the last so we can just consume all remaining input. This argument type 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 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<>(); final Set<CommandFlag<?>> parsedFlags = new HashSet<>();
CommandFlag<?> currentFlag = null; CommandFlag<?> currentFlag = null;
for (@NonNull final String string : inputQueue) { for (final @NonNull String string : inputQueue) {
if (string.startsWith("-")) { if (string.startsWith("-")) {
if (currentFlag != null && currentFlag.getCommandArgument() != null) { if (currentFlag != null && currentFlag.getCommandArgument() != null) {
return ArgumentParseResult.failure( return ArgumentParseResult.failure(

View file

@ -48,10 +48,10 @@ public final class CommandFlag<T> {
private final @Nullable CommandArgument<?, T> commandArgument; private final @Nullable CommandArgument<?, T> commandArgument;
private CommandFlag(@NonNull final String name, private CommandFlag(final @NonNull String name,
@NonNull final String @NonNull [] aliases, final @NonNull String @NonNull [] aliases,
@NonNull final Description description, final @NonNull Description description,
@Nullable final CommandArgument<?, T> commandArgument) { final @Nullable CommandArgument<?, T> commandArgument) {
this.name = name; this.name = name;
this.aliases = aliases; this.aliases = aliases;
this.description = description; this.description = description;
@ -64,7 +64,7 @@ public final class CommandFlag<T> {
* @param name Flag name * @param name Flag name
* @return Flag builder * @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); return new Builder<>(name);
} }
@ -135,17 +135,17 @@ public final class CommandFlag<T> {
private final Description description; private final Description description;
private final CommandArgument<?, T> commandArgument; private final CommandArgument<?, T> commandArgument;
private Builder(@NonNull final String name, private Builder(final @NonNull String name,
@NonNull final String[] aliases, final @NonNull String[] aliases,
@NonNull final Description description, final @NonNull Description description,
@Nullable final CommandArgument<?, T> commandArgument) { final @Nullable CommandArgument<?, T> commandArgument) {
this.name = name; this.name = name;
this.aliases = aliases; this.aliases = aliases;
this.description = description; this.description = description;
this.commandArgument = commandArgument; this.commandArgument = commandArgument;
} }
private Builder(@NonNull final String name) { private Builder(final @NonNull String name) {
this(name, new String[0], Description.empty(), null); this(name, new String[0], Description.empty(), null);
} }
@ -155,7 +155,7 @@ public final class CommandFlag<T> {
* @param aliases Flag aliases * @param aliases Flag aliases
* @return New builder instance * @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); return new Builder<>(this.name, aliases, this.description, this.commandArgument);
} }
@ -165,7 +165,7 @@ public final class CommandFlag<T> {
* @param description Flag description * @param description Flag description
* @return New builder instance * @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); return new Builder<>(this.name, this.aliases, description, this.commandArgument);
} }
@ -176,7 +176,7 @@ public final class CommandFlag<T> {
* @param <N> New argument type * @param <N> New argument type
* @return New builder instance * @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); return new Builder<>(this.name, this.aliases, this.description, argument);
} }

View file

@ -59,7 +59,7 @@ public final class FlagContext {
* *
* @param flag Flag instance * @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); this.flagValues.put(flag.getName(), FLAG_PRESENCE_VALUE);
} }
@ -70,7 +70,8 @@ public final class FlagContext {
* @param value Flag value * @param value Flag value
* @param <T> Value type * @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); 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, * @return {@code true} if the flag is presence and the flag is a presence flag,
* else {@code false} * else {@code false}
*/ */
public boolean isPresent(@NonNull final String flag) { public boolean isPresent(final @NonNull String flag) {
final Object value = this.flagValues.get(flag); final Object value = this.flagValues.get(flag);
return FLAG_PRESENCE_VALUE.equals(value); return FLAG_PRESENCE_VALUE.equals(value);
} }
@ -95,7 +96,8 @@ public final class FlagContext {
* @param <T> Value type * @param <T> Value type
* @return Stored value, or the supplied default value * @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); final Object value = this.flagValues.get(name);
if (value == null) { if (value == null) {
return defaultValue; return defaultValue;

View file

@ -44,7 +44,7 @@ public abstract class ArgumentParseResult<T> {
* @param <T> Parser return type * @param <T> Parser return type
* @return Failed parse result * @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); return new ParseFailure<>(failure);
} }
@ -55,7 +55,7 @@ public abstract class ArgumentParseResult<T> {
* @param <T> Parser return type * @param <T> Parser return type
* @return Succeeded parse result * @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); return new ParseSuccess<>(value);
} }
@ -81,7 +81,7 @@ public abstract class ArgumentParseResult<T> {
*/ */
private final T value; private final T value;
private ParseSuccess(@NonNull final T value) { private ParseSuccess(final @NonNull T value) {
this.value = value; this.value = value;
} }
@ -105,7 +105,7 @@ public abstract class ArgumentParseResult<T> {
*/ */
private final Throwable failure; private final Throwable failure;
private ParseFailure(@NonNull final Throwable failure) { private ParseFailure(final @NonNull Throwable failure) {
this.failure = failure; this.failure = failure;
} }

View file

@ -56,8 +56,8 @@ public interface ArgumentParser<C, T> {
* @param input Input string * @param input Input string
* @return List of suggestions * @return List of suggestions
*/ */
default @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, default @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
return Collections.emptyList(); return Collections.emptyList();
} }

View file

@ -44,8 +44,8 @@ public class ParserParameter<T> {
* @param key Parameter key * @param key Parameter key
* @param expectedType Type that is expected to be mapped to this parameter * @param expectedType Type that is expected to be mapped to this parameter
*/ */
public ParserParameter(@NonNull final String key, public ParserParameter(final @NonNull String key,
@NonNull final TypeToken<T> expectedType) { final @NonNull TypeToken<T> expectedType) {
this.key = key; this.key = key;
this.expectedType = expectedType; this.expectedType = expectedType;
} }

View file

@ -53,8 +53,8 @@ public final class ParserParameters {
* @param <T> Value type * @param <T> Value type
* @return Constructed instance * @return Constructed instance
*/ */
public static <T> @NonNull ParserParameters single(@NonNull final ParserParameter<T> parameter, public static <T> @NonNull ParserParameters single(final @NonNull ParserParameter<T> parameter,
@NonNull final T value) { final @NonNull T value) {
final ParserParameters parameters = new ParserParameters(); final ParserParameters parameters = new ParserParameters();
parameters.store(parameter, value); parameters.store(parameter, value);
return parameters; return parameters;
@ -67,7 +67,7 @@ public final class ParserParameters {
* @param <T> Parameter type * @param <T> Parameter type
* @return {@code true} if such a pair is stored, else {@code false} * @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); return this.internalMap.containsKey(parameter);
} }
@ -78,8 +78,8 @@ public final class ParserParameters {
* @param value Object * @param value Object
* @param <T> Parameter type * @param <T> Parameter type
*/ */
public <T> void store(@NonNull final ParserParameter<T> parameter, public <T> void store(final @NonNull ParserParameter<T> parameter,
@NonNull final T value) { final @NonNull T value) {
this.internalMap.put(parameter, value); this.internalMap.put(parameter, value);
} }
@ -92,8 +92,8 @@ public final class ParserParameters {
* @return Parameter value * @return Parameter value
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public <T> @NonNull T get(@NonNull final ParserParameter<T> parameter, public <T> @NonNull T get(final @NonNull ParserParameter<T> parameter,
@NonNull final T defaultValue) { final @NonNull T defaultValue) {
return (T) this.internalMap.getOrDefault(parameter, defaultValue); return (T) this.internalMap.getOrDefault(parameter, defaultValue);
} }
@ -103,7 +103,7 @@ public final class ParserParameters {
* *
* @param other Other instance * @param other Other instance
*/ */
public void merge(@NonNull final ParserParameters other) { public void merge(final @NonNull ParserParameters other) {
this.internalMap.putAll(other.internalMap); this.internalMap.putAll(other.internalMap);
} }

View file

@ -59,8 +59,8 @@ public final class StandardParameters {
private StandardParameters() { private StandardParameters() {
} }
private static <T> @NonNull ParserParameter<T> create(@NonNull final String key, private static <T> @NonNull ParserParameter<T> create(final @NonNull String key,
@NonNull final TypeToken<T> expectedType) { final @NonNull TypeToken<T> expectedType) {
return new ParserParameter<>(key, expectedType); return new ParserParameter<>(key, expectedType);
} }

View file

@ -110,29 +110,29 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
} }
@Override @Override
public <T> void registerParserSupplier(@NonNull final TypeToken<T> type, public <T> void registerParserSupplier(final @NonNull TypeToken<T> type,
@NonNull final Function<@NonNull ParserParameters, final @NonNull Function<@NonNull ParserParameters,
@NonNull ArgumentParser<C, ?>> supplier) { @NonNull ArgumentParser<C, ?>> supplier) {
this.parserSuppliers.put(type, supplier); this.parserSuppliers.put(type, supplier);
} }
@Override @Override
public void registerNamedParserSupplier(@NonNull final String name, public void registerNamedParserSupplier(final @NonNull String name,
@NonNull final Function<@NonNull ParserParameters, final @NonNull Function<@NonNull ParserParameters,
@NonNull ArgumentParser<C, ?>> supplier) { @NonNull ArgumentParser<C, ?>> supplier) {
this.namedParsers.put(name, supplier); this.namedParsers.put(name, supplier);
} }
@Override @Override
public <A extends Annotation, T> void registerAnnotationMapper(@NonNull final Class<A> annotation, public <A extends Annotation, T> void registerAnnotationMapper(final @NonNull Class<A> annotation,
@NonNull final BiFunction<@NonNull A, @NonNull TypeToken<?>, final @NonNull BiFunction<@NonNull A, @NonNull TypeToken<?>,
@NonNull ParserParameters> mapper) { @NonNull ParserParameters> mapper) {
this.annotationMappers.put(annotation, mapper); this.annotationMappers.put(annotation, mapper);
} }
@Override @Override
public @NonNull ParserParameters parseAnnotations(@NonNull final TypeToken<?> parsingType, public @NonNull ParserParameters parseAnnotations(final @NonNull TypeToken<?> parsingType,
@NonNull final Collection<@NonNull ? extends Annotation> annotations) { final @NonNull Collection<@NonNull ? extends Annotation> annotations) {
final ParserParameters parserParameters = new ParserParameters(); final ParserParameters parserParameters = new ParserParameters();
annotations.forEach(annotation -> { annotations.forEach(annotation -> {
// noinspection all // noinspection all
@ -148,8 +148,8 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
} }
@Override @Override
public <T> @NonNull Optional<ArgumentParser<C, T>> createParser(@NonNull final TypeToken<T> type, public <T> @NonNull Optional<ArgumentParser<C, T>> createParser(final @NonNull TypeToken<T> type,
@NonNull final ParserParameters parserParameters) { final @NonNull ParserParameters parserParameters) {
final TypeToken<?> actualType; final TypeToken<?> actualType;
if (GenericTypeReflector.erase(type.getType()).isPrimitive()) { if (GenericTypeReflector.erase(type.getType()).isPrimitive()) {
actualType = TypeToken.get(PRIMITIVE_MAPPINGS.get(GenericTypeReflector.erase(type.getType()))); actualType = TypeToken.get(PRIMITIVE_MAPPINGS.get(GenericTypeReflector.erase(type.getType())));
@ -173,8 +173,8 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
} }
@Override @Override
public <T> @NonNull Optional<ArgumentParser<C, T>> createParser(@NonNull final String name, public <T> @NonNull Optional<ArgumentParser<C, T>> createParser(final @NonNull String name,
@NonNull final ParserParameters parserParameters) { final @NonNull ParserParameters parserParameters) {
final Function<ParserParameters, ArgumentParser<C, ?>> producer = this.namedParsers.get(name); final Function<ParserParameters, ArgumentParser<C, ?>> producer = this.namedParsers.get(name);
if (producer == null) { if (producer == null) {
return Optional.empty(); 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(); return GenericTypeReflector.erase(type.getType()).isPrimitive();
} }
@ -194,7 +194,7 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
@NonNull ParserParameters> { @NonNull ParserParameters> {
@Override @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; final Class<?> clazz;
if (isPrimitive(type)) { if (isPrimitive(type)) {
clazz = PRIMITIVE_MAPPINGS.get(GenericTypeReflector.erase(type.getType())); clazz = PRIMITIVE_MAPPINGS.get(GenericTypeReflector.erase(type.getType()));
@ -266,7 +266,7 @@ public final class StandardParserRegistry<C> implements ParserRegistry<C> {
@NonNull ParserParameters> { @NonNull ParserParameters> {
@Override @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)) { if (GenericTypeReflector.erase(token.getType()).equals(String.class)) {
final String[] splitCompletions = completions.value().replace(" ", "").split(","); final String[] splitCompletions = completions.value().replace(" ", "").split(",");
return ParserParameters.single(StandardParameters.COMPLETIONS, splitCompletions); return ParserParameters.single(StandardParameters.COMPLETIONS, splitCompletions);

View file

@ -40,10 +40,10 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
private final boolean liberal; private final boolean liberal;
private BooleanArgument(final boolean required, private BooleanArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
final boolean liberal, final boolean liberal,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new BooleanParser<>(liberal), defaultValue, Boolean.class, suggestionsProvider); super(required, name, new BooleanParser<>(liberal), defaultValue, Boolean.class, suggestionsProvider);
this.liberal = liberal; this.liberal = liberal;
@ -56,7 +56,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -67,7 +67,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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) { final boolean defaultBoolean) {
return BooleanArgument.<C>newBuilder(name).asOptionalWithDefault(Boolean.toString(defaultBoolean)).build(); 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; private boolean liberal = false;
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Boolean.class, name); super(Boolean.class, name);
} }
@ -154,8 +154,8 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
} }
@Override @Override
public @NonNull ArgumentParseResult<Boolean> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<Boolean> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -188,8 +188,8 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
if (!liberal) { if (!liberal) {
return Arrays.asList("TRUE", "FALSE"); return Arrays.asList("TRUE", "FALSE");
} }
@ -218,7 +218,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
* @param input String input * @param input String input
* @param liberal Liberal value * @param liberal Liberal value
*/ */
public BooleanParseException(@NonNull final String input, public BooleanParseException(final @NonNull String input,
final boolean liberal) { final boolean liberal) {
this.input = input; this.input = input;
this.liberal = liberal; this.liberal = liberal;

View file

@ -42,11 +42,11 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
private final byte max; private final byte max;
private ByteArgument(final boolean required, private ByteArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
final byte min, final byte min,
final byte max, final byte max,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new ByteParser<>(min, max), defaultValue, Byte.class, suggestionsProvider); super(required, name, new ByteParser<>(min, max), defaultValue, Byte.class, suggestionsProvider);
this.min = min; this.min = min;
@ -60,7 +60,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -71,7 +71,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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) { final byte defaultNum) {
return ByteArgument.<C>newBuilder(name).asOptionalWithDefault(Byte.toString(defaultNum)).build(); 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 min = Byte.MIN_VALUE;
private byte max = Byte.MAX_VALUE; private byte max = Byte.MAX_VALUE;
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Byte.class, name); super(Byte.class, name);
} }
@ -179,8 +179,8 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
@Override @Override
public @NonNull ArgumentParseResult<Byte> parse( public @NonNull ArgumentParseResult<Byte> parse(
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -208,8 +208,8 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
return IntegerArgument.IntegerParser.getSuggestions(this.min, this.max, 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 min Minimum value
* @param max Maximum 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); super(input, min, max);
} }

View file

@ -38,9 +38,9 @@ import java.util.function.BiFunction;
public final class CharArgument<C> extends CommandArgument<C, Character> { public final class CharArgument<C> extends CommandArgument<C, Character> {
private CharArgument(final boolean required, private CharArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, final @Nullable BiFunction<@NonNull CommandContext<C>,
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) { @NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new CharacterParser<>(), defaultValue, Character.class, 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 * @param <C> Command sender type
* @return Created builder * @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); return new CharArgument.Builder<>(name);
} }
@ -63,7 +63,7 @@ public final class CharArgument<C> extends CommandArgument<C, Character> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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,
@NonNull final String defaultNum) { final @NonNull String defaultNum) {
return CharArgument.<C>newBuilder(name).asOptionalWithDefault(defaultNum).build(); return CharArgument.<C>newBuilder(name).asOptionalWithDefault(defaultNum).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, Character> { 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); 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> { public static final class CharacterParser<C> implements ArgumentParser<C, Character> {
@Override @Override
public @NonNull ArgumentParseResult<Character> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<Character> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); 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 * @param input String input
*/ */
public CharParseException(@NonNull final String input) { public CharParseException(final @NonNull String input) {
this.input = input; this.input = input;
} }

View file

@ -42,11 +42,11 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
private final double max; private final double max;
private DoubleArgument(final boolean required, private DoubleArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
final double min, final double min,
final double max, final double max,
final String defaultValue, final String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new DoubleParser<>(min, max), defaultValue, Double.class, suggestionsProvider); super(required, name, new DoubleParser<>(min, max), defaultValue, Double.class, suggestionsProvider);
this.min = min; this.min = min;
@ -60,7 +60,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -71,7 +71,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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) { final double defaultNum) {
return DoubleArgument.<C>newBuilder(name).asOptionalWithDefault(Double.toString(defaultNum)).build(); 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 min = Double.MIN_VALUE;
private double max = Double.MAX_VALUE; private double max = Double.MAX_VALUE;
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Double.class, name); super(Double.class, name);
} }
@ -179,8 +179,8 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
@Override @Override
public @NonNull ArgumentParseResult<Double> parse( public @NonNull ArgumentParseResult<Double> parse(
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); 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 min Minimum value
* @param max Maximum 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); super(input, min, max);
} }

View file

@ -45,11 +45,11 @@ import java.util.stream.Collectors;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> { 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, final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new EnumParser<>(enumClass), defaultValue, enumClass, 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( public static <C, E extends Enum<E>> EnumArgument.@NonNull Builder<C, E> newBuilder(
@NonNull final Class<E> enumClass, @NonNull final Class<E> enumClass,
@NonNull final String name) { final @NonNull String name) {
return new EnumArgument.Builder<>(name, enumClass); 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 * @return Created argument
*/ */
public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> of( public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> of(
@NonNull final Class<E> enumClass, final @NonNull Class<E> enumClass,
@NonNull final String name) { final @NonNull String name) {
return EnumArgument.<C, E>newBuilder(enumClass, name).asRequired().build(); 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 * @return Created argument
*/ */
public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> optional( public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> optional(
@NonNull final Class<E> enumClass, final @NonNull Class<E> enumClass,
@NonNull final String name) { final @NonNull String name) {
return EnumArgument.<C, E>newBuilder(enumClass, name).asOptional().build(); 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 * @return Created argument
*/ */
public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> optional( public static <C, E extends Enum<E>> @NonNull CommandArgument<C, E> optional(
@NonNull final Class<E> enumClass, final @NonNull Class<E> enumClass,
@NonNull final String name, final @NonNull String name,
@NonNull final E defaultValue) { final @NonNull E defaultValue) {
return EnumArgument.<C, E>newBuilder(enumClass, name).asOptionalWithDefault(defaultValue.name().toLowerCase()).build(); 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; 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); super(enumClass, name);
this.enumClass = enumClass; this.enumClass = enumClass;
} }
@ -144,14 +144,14 @@ public class EnumArgument<C, E extends Enum<E>> extends CommandArgument<C, E> {
* *
* @param enumClass Enum class * @param enumClass Enum class
*/ */
public EnumParser(@NonNull final Class<E> enumClass) { public EnumParser(final @NonNull Class<E> enumClass) {
this.enumClass = enumClass; this.enumClass = enumClass;
this.allowedValues = EnumSet.allOf(enumClass); this.allowedValues = EnumSet.allOf(enumClass);
} }
@Override @Override
public @NonNull ArgumentParseResult<E> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<E> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); 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 @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
return EnumSet.allOf(this.enumClass).stream().map(e -> e.name().toLowerCase()).collect(Collectors.toList()); 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 input Input
* @param enumClass Enum class * @param enumClass Enum class
*/ */
public EnumParseException(@NonNull final String input, public EnumParseException(final @NonNull String input,
@NonNull final Class<? extends Enum<?>> enumClass) { final @NonNull Class<? extends Enum<?>> enumClass) {
this.input = input; this.input = input;
this.enumClass = enumClass; this.enumClass = enumClass;
} }
@SuppressWarnings("all") @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); final EnumSet<?> enumSet = EnumSet.allOf(clazz);
return enumSet.stream() return enumSet.stream()
.map(e -> e.toString().toLowerCase()) .map(e -> e.toString().toLowerCase())

View file

@ -42,11 +42,11 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
private final float max; private final float max;
private FloatArgument(final boolean required, private FloatArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
final float min, final float min,
final float max, final float max,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, final @Nullable BiFunction<@NonNull CommandContext<C>,
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) { @NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new FloatParser<>(min, max), defaultValue, Float.class, suggestionsProvider); super(required, name, new FloatParser<>(min, max), defaultValue, Float.class, suggestionsProvider);
this.min = min; this.min = min;
@ -60,7 +60,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -71,7 +71,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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) { final float defaultNum) {
return FloatArgument.<C>newBuilder(name).asOptionalWithDefault(Float.toString(defaultNum)).build(); 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 min = Float.MIN_VALUE;
private float max = Float.MAX_VALUE; private float max = Float.MAX_VALUE;
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Float.class, name); super(Float.class, name);
} }
@ -179,8 +179,8 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
@Override @Override
public @NonNull ArgumentParseResult<Float> parse( public @NonNull ArgumentParseResult<Float> parse(
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<String> inputQueue) { final @NonNull Queue<String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); 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 min Minimum value
* @param max Maximum 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); super(input, min, max);
} }

View file

@ -49,11 +49,11 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
private final int max; private final int max;
private IntegerArgument(final boolean required, private IntegerArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
final int min, final int min,
final int max, final int max,
final String defaultValue, final String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new IntegerParser<>(min, max), defaultValue, Integer.class, suggestionsProvider); super(required, name, new IntegerParser<>(min, max), defaultValue, Integer.class, suggestionsProvider);
this.min = min; this.min = min;
@ -67,7 +67,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -78,7 +78,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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) { final int defaultNum) {
return IntegerArgument.<C>newBuilder(name).asOptionalWithDefault(Integer.toString(defaultNum)).build(); 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 min = Integer.MIN_VALUE;
private int max = Integer.MAX_VALUE; private int max = Integer.MAX_VALUE;
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Integer.class, name); super(Integer.class, name);
} }
@ -184,7 +184,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
this.max = max; 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()) { if (input.isEmpty()) {
return IntStream.range(0, MAX_SUGGESTIONS_INCREMENT).mapToObj(Integer::toString).collect(Collectors.toList()); 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 @Override
public @NonNull ArgumentParseResult<Integer> parse( public @NonNull ArgumentParseResult<Integer> parse(
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -250,8 +250,8 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
return getSuggestions(this.min, this.max, 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 min Minimum value
* @param max Maximum 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); super(input, min, max);
} }

View file

@ -42,11 +42,11 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
private final long max; private final long max;
private LongArgument(final boolean required, private LongArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
final long min, final long min,
final long max, final long max,
final String defaultValue, final String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new LongParser<>(min, max), defaultValue, Long.class, suggestionsProvider); super(required, name, new LongParser<>(min, max), defaultValue, Long.class, suggestionsProvider);
this.min = min; this.min = min;
@ -60,7 +60,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -71,7 +71,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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) { final long defaultNum) {
return LongArgument.<C>newBuilder(name).asOptionalWithDefault(Long.toString(defaultNum)).build(); 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 min = Long.MIN_VALUE;
private long max = Long.MAX_VALUE; private long max = Long.MAX_VALUE;
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Long.class, name); super(Long.class, name);
} }
@ -173,8 +173,8 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
@Override @Override
public @NonNull ArgumentParseResult<Long> parse( public @NonNull ArgumentParseResult<Long> parse(
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -197,8 +197,8 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
return IntegerArgument.IntegerParser.getSuggestions(this.min, this.max, 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 min Minimum value
* @param max Maximum 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); super(input, min, max);
} }

View file

@ -42,11 +42,11 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
private final short max; private final short max;
private ShortArgument(final boolean required, private ShortArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
final short min, final short min,
final short max, final short max,
final String defaultValue, final String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<String>> suggestionsProvider) { @NonNull List<String>> suggestionsProvider) {
super(required, name, new ShortParser<>(min, max), defaultValue, Short.class, suggestionsProvider); super(required, name, new ShortParser<>(min, max), defaultValue, Short.class, suggestionsProvider);
this.min = min; this.min = min;
@ -60,7 +60,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -71,7 +71,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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) { final short defaultNum) {
return ShortArgument.<C>newBuilder(name).asOptionalWithDefault(Short.toString(defaultNum)).build(); 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 min = Short.MIN_VALUE;
private short max = Short.MAX_VALUE; private short max = Short.MAX_VALUE;
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Short.class, name); super(Short.class, name);
} }
@ -179,8 +179,8 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
@Override @Override
public @NonNull ArgumentParseResult<Short> parse( public @NonNull ArgumentParseResult<Short> parse(
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -203,8 +203,8 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
return IntegerArgument.IntegerParser.getSuggestions(this.min, this.max, 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 min Minimum value
* @param max Maximum 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); super(input, min, max);
} }

View file

@ -41,10 +41,10 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
private final StringMode stringMode; private final StringMode stringMode;
private StringArgument(final boolean required, private StringArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final StringMode stringMode, final @NonNull StringMode stringMode,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@NonNull final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @NonNull BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new StringParser<>(stringMode, suggestionsProvider), super(required, name, new StringParser<>(stringMode, suggestionsProvider),
defaultValue, String.class, suggestionsProvider); defaultValue, String.class, suggestionsProvider);
@ -58,7 +58,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new StringArgument.Builder<>(name);
} }
@ -69,7 +69,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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,
@NonNull final StringMode stringMode) { final @NonNull StringMode stringMode) {
return StringArgument.<C>newBuilder(name).withMode(stringMode).asRequired().build(); 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 * @param <C> Command sender type
* @return Created argument * @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(); 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 * @param <C> Command sender type
* @return Created argument * @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,
@NonNull final StringMode stringMode) { final @NonNull StringMode stringMode) {
return StringArgument.<C>newBuilder(name).withMode(stringMode).asOptional().build(); 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 * @param <C> Command sender type
* @return Created argument * @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,
@NonNull final String defaultString) { final @NonNull String defaultString) {
return StringArgument.<C>newBuilder(name).asOptionalWithDefault(defaultString).build(); 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 StringMode stringMode = StringMode.SINGLE;
private BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider = (v1, v2) -> Collections.emptyList(); 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); 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; this.stringMode = stringMode;
return this; return this;
} }
@ -190,7 +190,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* @param suggestionsProvider Suggestions provider * @param suggestionsProvider Suggestions provider
* @return Builder instance * @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) { @NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
this.suggestionsProvider = suggestionsProvider; this.suggestionsProvider = suggestionsProvider;
return this; return this;
@ -221,16 +221,16 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* @param stringMode String parsing mode * @param stringMode String parsing mode
* @param suggestionsProvider Suggestions provider * @param suggestionsProvider Suggestions provider
*/ */
public StringParser(@NonNull final StringMode stringMode, public StringParser(final @NonNull StringMode stringMode,
@NonNull final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @NonNull BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
this.stringMode = stringMode; this.stringMode = stringMode;
this.suggestionsProvider = suggestionsProvider; this.suggestionsProvider = suggestionsProvider;
} }
@Override @Override
public @NonNull ArgumentParseResult<String> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<String> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -294,8 +294,8 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
return this.suggestionsProvider.apply(commandContext, input); return this.suggestionsProvider.apply(commandContext, input);
} }
@ -326,7 +326,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* @param input Input * @param input Input
* @param stringMode String mode * @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.input = input;
this.stringMode = stringMode; this.stringMode = stringMode;
} }

View file

@ -39,9 +39,9 @@ import java.util.function.BiFunction;
public final class UUIDArgument<C> extends CommandArgument<C, UUID> { public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
private UUIDArgument(final boolean required, private UUIDArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, final @Nullable BiFunction<@NonNull CommandContext<C>,
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) { @NonNull String, @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new UUIDParser<>(), defaultValue, UUID.class, 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 * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -64,7 +64,7 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created component * @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(); 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 * @param <C> Command sender type
* @return Created component * @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(); 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 * @param <C> Command sender type
* @return Created component * @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,
@NonNull final UUID defaultUUID) { final @NonNull UUID defaultUUID) {
return UUIDArgument.<C>newBuilder(name).asOptionalWithDefault(defaultUUID.toString()).build(); return UUIDArgument.<C>newBuilder(name).asOptionalWithDefault(defaultUUID.toString()).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, UUID> { 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); super(UUID.class, name);
} }
@ -116,8 +116,8 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
@Override @Override
public @NonNull ArgumentParseResult<UUID> parse( public @NonNull ArgumentParseResult<UUID> parse(
@NonNull final CommandContext<C> commandContext, final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); 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 * @param input String input
*/ */
public UUIDParseException(@NonNull final String input) { public UUIDParseException(final @NonNull String input) {
this.input = input; this.input = input;
} }

View file

@ -51,7 +51,7 @@ public final class CommandContext<C> {
* *
* @param commandSender Sender of the command * @param commandSender Sender of the command
*/ */
public CommandContext(@NonNull final C commandSender) { public CommandContext(final @NonNull C commandSender) {
this(false, commandSender); this(false, commandSender);
} }
@ -62,7 +62,7 @@ public final class CommandContext<C> {
* @param commandSender Sender of the command * @param commandSender Sender of the command
*/ */
public CommandContext(final boolean suggestions, public CommandContext(final boolean suggestions,
@NonNull final C commandSender) { final @NonNull C commandSender) {
this.commandSender = commandSender; this.commandSender = commandSender;
this.suggestions = suggestions; this.suggestions = suggestions;
} }
@ -93,7 +93,7 @@ public final class CommandContext<C> {
* @param value Value * @param value Value
* @param <T> Value type * @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); this.internalStorage.put(key, value);
} }
@ -105,7 +105,7 @@ public final class CommandContext<C> {
* @param <T> Value type * @param <T> Value type
* @return Value * @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); final Object value = this.internalStorage.get(key);
if (value != null) { if (value != null) {
@SuppressWarnings("ALL") final T castedValue = (T) value; @SuppressWarnings("ALL") final T castedValue = (T) value;
@ -120,7 +120,7 @@ public final class CommandContext<C> {
* *
* @param key Key to remove * @param key Key to remove
*/ */
public void remove(@NonNull final String key) { public void remove(final @NonNull String key) {
this.internalStorage.remove(key); this.internalStorage.remove(key);
} }
@ -134,7 +134,7 @@ public final class CommandContext<C> {
* @throws NullPointerException If no such argument is stored * @throws NullPointerException If no such argument is stored
*/ */
@SuppressWarnings("unchecked") @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); final Object value = this.internalStorage.get(key);
if (value == null) { if (value == null) {
throw new NullPointerException("No such object stored in the context: " + key); throw new NullPointerException("No such object stored in the context: " + key);
@ -150,8 +150,8 @@ public final class CommandContext<C> {
* @param <T> Argument type * @param <T> Argument type
* @return Argument, or supplied default value * @return Argument, or supplied default value
*/ */
public <T> @Nullable T getOrDefault(@NonNull final String key, public <T> @Nullable T getOrDefault(final @NonNull String key,
@Nullable final T defaultValue) { final @Nullable T defaultValue) {
return this.<T>getOptional(key).orElse(defaultValue); return this.<T>getOptional(key).orElse(defaultValue);
} }
@ -161,7 +161,7 @@ public final class CommandContext<C> {
* @param argument Argument * @param argument Argument
* @return Created timing instance * @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(); final ArgumentTiming argumentTiming = new ArgumentTiming();
this.argumentTimings.put(argument, argumentTiming); this.argumentTimings.put(argument, argumentTiming);
return argumentTiming; return argumentTiming;

View file

@ -35,7 +35,7 @@ public final class StandardCommandContextFactory<C> implements CommandContextFac
* @return Created context * @return Created context
*/ */
@Override @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); return new CommandContext<>(suggestions, sender);
} }

View file

@ -51,9 +51,9 @@ public final class AmbiguousNodeException extends IllegalStateException {
* @param ambiguousNode Node that caused exception * @param ambiguousNode Node that caused exception
* @param children All children of the parent * @param children All children of the parent
*/ */
public AmbiguousNodeException(@Nullable final CommandArgument<?, ?> parentNode, public AmbiguousNodeException(final @Nullable CommandArgument<?, ?> parentNode,
@NonNull final CommandArgument<?, ?> ambiguousNode, final @NonNull CommandArgument<?, ?> ambiguousNode,
@NonNull final List<@NonNull CommandArgument<?, ?>> children) { final @NonNull List<@NonNull CommandArgument<?, ?>> children) {
this.parentNode = parentNode; this.parentNode = parentNode;
this.ambiguousNode = ambiguousNode; this.ambiguousNode = ambiguousNode;
this.children = children; this.children = children;

View file

@ -39,9 +39,9 @@ public class ArgumentParseException extends CommandParseException {
* @param commandSender Command sender * @param commandSender Command sender
* @param currentChain Chain leading up to the exception * @param currentChain Chain leading up to the exception
*/ */
public ArgumentParseException(@NonNull final Throwable throwable, public ArgumentParseException(final @NonNull Throwable throwable,
@NonNull final Object commandSender, final @NonNull Object commandSender,
@NonNull final List<@NonNull CommandArgument<?, ?>> currentChain) { final @NonNull List<@NonNull CommandArgument<?, ?>> currentChain) {
super(commandSender, currentChain); super(commandSender, currentChain);
this.cause = throwable; this.cause = throwable;
} }

View file

@ -44,8 +44,8 @@ public class CommandParseException extends IllegalArgumentException {
* @param commandSender Sender who executed the command * @param commandSender Sender who executed the command
* @param currentChain Chain leading up to the exception * @param currentChain Chain leading up to the exception
*/ */
protected CommandParseException(@NonNull final Object commandSender, protected CommandParseException(final @NonNull Object commandSender,
@NonNull final List<CommandArgument<?, ?>> currentChain) { final @NonNull List<CommandArgument<?, ?>> currentChain) {
this.commandSender = commandSender; this.commandSender = commandSender;
this.currentChain = currentChain; this.currentChain = currentChain;
} }

View file

@ -42,9 +42,9 @@ public final class InvalidCommandSenderException extends CommandParseException {
* @param requiredSender The sender type that is required * @param requiredSender The sender type that is required
* @param currentChain Chain leading up to the exception * @param currentChain Chain leading up to the exception
*/ */
public InvalidCommandSenderException(@NonNull final Object commandSender, public InvalidCommandSenderException(final @NonNull Object commandSender,
@NonNull final Class<?> requiredSender, final @NonNull Class<?> requiredSender,
@NonNull final List<@NonNull CommandArgument<?, ?>> currentChain) { final @NonNull List<@NonNull CommandArgument<?, ?>> currentChain) {
super(commandSender, currentChain); super(commandSender, currentChain);
this.requiredSender = requiredSender; this.requiredSender = requiredSender;
} }

View file

@ -43,9 +43,9 @@ public class InvalidSyntaxException extends CommandParseException {
* @param commandSender Sender that sent the command * @param commandSender Sender that sent the command
* @param currentChain Chain leading up to issue * @param currentChain Chain leading up to issue
*/ */
public InvalidSyntaxException(@NonNull final String correctSyntax, public InvalidSyntaxException(final @NonNull String correctSyntax,
@NonNull final Object commandSender, final @NonNull Object commandSender,
@NonNull final List<@NonNull CommandArgument<?, ?>> currentChain) { final @NonNull List<@NonNull CommandArgument<?, ?>> currentChain) {
super(commandSender, currentChain); super(commandSender, currentChain);
this.correctSyntax = correctSyntax; this.correctSyntax = correctSyntax;
} }

View file

@ -41,7 +41,7 @@ public final class NoCommandInLeafException extends IllegalStateException {
* *
* @param commandArgument Command argument that caused the exception * @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())); super(String.format("Leaf node '%s' does not have associated owning command", commandArgument.getName()));
this.commandArgument = commandArgument; this.commandArgument = commandArgument;
} }

View file

@ -46,9 +46,9 @@ public class NoPermissionException extends CommandParseException {
* @param commandSender Command sender * @param commandSender Command sender
* @param currentChain Chain leading up to the exception * @param currentChain Chain leading up to the exception
*/ */
public NoPermissionException(@NonNull final CommandPermission missingPermission, public NoPermissionException(final @NonNull CommandPermission missingPermission,
@NonNull final Object commandSender, final @NonNull Object commandSender,
@NonNull final List<@NonNull CommandArgument<?, ?>> currentChain) { final @NonNull List<@NonNull CommandArgument<?, ?>> currentChain) {
super(commandSender, currentChain); super(commandSender, currentChain);
this.missingPermission = missingPermission; this.missingPermission = missingPermission;
} }

View file

@ -44,9 +44,9 @@ public final class NoSuchCommandException extends CommandParseException {
* @param currentChain Chain leading up to the exception * @param currentChain Chain leading up to the exception
* @param command Entered command (following the command chain) * @param command Entered command (following the command chain)
*/ */
public NoSuchCommandException(@NonNull final Object commandSender, public NoSuchCommandException(final @NonNull Object commandSender,
@NonNull final List<CommandArgument<?, ?>> currentChain, final @NonNull List<CommandArgument<?, ?>> currentChain,
@NonNull final String command) { final @NonNull String command) {
super(commandSender, currentChain); super(commandSender, currentChain);
this.suppliedCommand = command; this.suppliedCommand = command;
} }

View file

@ -38,9 +38,9 @@ public abstract class NumberParseException extends IllegalArgumentException {
* @param min Maximum value * @param min Maximum value
* @param max Minimum value * @param max Minimum value
*/ */
public NumberParseException(@NonNull final String input, public NumberParseException(final @NonNull String input,
@NonNull final Number min, final @NonNull Number min,
@NonNull final Number max) { final @NonNull Number max) {
this.input = input; this.input = input;
this.min = min; this.min = min;
this.max = max; this.max = max;

View file

@ -50,9 +50,9 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
private final Executor executor; private final Executor executor;
private final boolean synchronizeParsing; private final boolean synchronizeParsing;
private AsynchronousCommandExecutionCoordinator(@Nullable final Executor executor, private AsynchronousCommandExecutionCoordinator(final @Nullable Executor executor,
final boolean synchronizeParsing, final boolean synchronizeParsing,
@NonNull final CommandTree<C> commandTree) { final @NonNull CommandTree<C> commandTree) {
super(commandTree); super(commandTree);
this.executor = executor; this.executor = executor;
this.synchronizeParsing = synchronizeParsing; this.synchronizeParsing = synchronizeParsing;
@ -70,8 +70,8 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
} }
@Override @Override
public @NonNull CompletableFuture<CommandResult<C>> coordinateExecution(@NonNull final CommandContext<C> commandContext, public @NonNull CompletableFuture<CommandResult<C>> coordinateExecution(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> input) { final @NonNull Queue<@NonNull String> input) {
final Consumer<Command<C>> commandConsumer = command -> { final Consumer<Command<C>> commandConsumer = command -> {
if (this.commandManager.postprocessContext(commandContext, command) == State.ACCEPTED) { if (this.commandManager.postprocessContext(commandContext, command) == State.ACCEPTED) {
@ -140,7 +140,7 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
* @param executor Executor to use * @param executor Executor to use
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withExecutor(@NonNull final Executor executor) { public @NonNull Builder<C> withExecutor(final @NonNull Executor executor) {
this.executor = executor; this.executor = executor;
return this; return this;
} }

View file

@ -49,7 +49,7 @@ public abstract class CommandExecutionCoordinator<C> {
* *
* @param commandTree Command tree * @param commandTree Command tree
*/ */
public CommandExecutionCoordinator(@NonNull final CommandTree<C> commandTree) { public CommandExecutionCoordinator(final @NonNull CommandTree<C> commandTree) {
this.commandTree = commandTree; this.commandTree = commandTree;
} }
@ -92,13 +92,13 @@ public abstract class CommandExecutionCoordinator<C> {
public static final class SimpleCoordinator<C> extends public static final class SimpleCoordinator<C> extends
CommandExecutionCoordinator<C> { CommandExecutionCoordinator<C> {
private SimpleCoordinator(@NonNull final CommandTree<C> commandTree) { private SimpleCoordinator(final @NonNull CommandTree<C> commandTree) {
super(commandTree); super(commandTree);
} }
@Override @Override
public CompletableFuture<CommandResult<C>> coordinateExecution(@NonNull final CommandContext<C> commandContext, public CompletableFuture<CommandResult<C>> coordinateExecution(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> input) { final @NonNull Queue<@NonNull String> input) {
final CompletableFuture<CommandResult<C>> completableFuture = new CompletableFuture<>(); final CompletableFuture<CommandResult<C>> completableFuture = new CompletableFuture<>();
try { try {
this.getCommandTree().parse(commandContext, input).ifPresent(command -> { this.getCommandTree().parse(commandContext, input).ifPresent(command -> {

View file

@ -52,7 +52,7 @@ public interface CommandExecutionHandler<C> {
class NullCommandExecutionHandler<C> implements CommandExecutionHandler<C> { class NullCommandExecutionHandler<C> implements CommandExecutionHandler<C> {
@Override @Override
public void execute(@NonNull final CommandContext<C> commandContext) { public void execute(final @NonNull CommandContext<C> commandContext) {
} }
} }

View file

@ -40,7 +40,7 @@ public class CommandResult<C> {
* *
* @param context Command context * @param context Command context
*/ */
public CommandResult(@NonNull final CommandContext<C> context) { public CommandResult(final @NonNull CommandContext<C> context) {
this.commandContext = context; this.commandContext = context;
} }

View file

@ -37,8 +37,8 @@ import java.util.List;
public final class FilteringCommandSuggestionProcessor<C> implements CommandSuggestionProcessor<C> { public final class FilteringCommandSuggestionProcessor<C> implements CommandSuggestionProcessor<C> {
@Override @Override
public @NonNull List<@NonNull String> apply(@NonNull final CommandPreprocessingContext<C> context, public @NonNull List<@NonNull String> apply(final @NonNull CommandPreprocessingContext<C> context,
@NonNull final List<@NonNull String> strings) { final @NonNull List<@NonNull String> strings) {
final String input; final String input;
if (context.getInputQueue().isEmpty()) { if (context.getInputQueue().isEmpty()) {
input = ""; input = "";

View file

@ -39,7 +39,7 @@ public final class AcceptingCommandPostprocessor<C> implements CommandPostproces
public static final String PROCESSED_INDICATOR_KEY = "__COMMAND_POST_PROCESSED__"; public static final String PROCESSED_INDICATOR_KEY = "__COMMAND_POST_PROCESSED__";
@Override @Override
public void accept(@NonNull final CommandPostprocessingContext<C> context) { public void accept(final @NonNull CommandPostprocessingContext<C> context) {
context.getCommandContext().store(PROCESSED_INDICATOR_KEY, "true"); context.getCommandContext().store(PROCESSED_INDICATOR_KEY, "true");
} }

View file

@ -45,8 +45,8 @@ public final class CommandPostprocessingContext<C> {
* @param commandContext Command context * @param commandContext Command context
* @param command Command instance * @param command Command instance
*/ */
public CommandPostprocessingContext(@NonNull final CommandContext<@NonNull C> commandContext, public CommandPostprocessingContext(final @NonNull CommandContext<@NonNull C> commandContext,
@NonNull final Command<@NonNull C> command) { final @NonNull Command<@NonNull C> command) {
this.commandContext = commandContext; this.commandContext = commandContext;
this.command = command; this.command = command;
} }

View file

@ -39,7 +39,7 @@ public final class AcceptingCommandPreprocessor<C> implements CommandPreprocesso
public static final String PROCESSED_INDICATOR_KEY = "__COMMAND_PRE_PROCESSED__"; public static final String PROCESSED_INDICATOR_KEY = "__COMMAND_PRE_PROCESSED__";
@Override @Override
public void accept(@NonNull final CommandPreprocessingContext<C> context) { public void accept(final @NonNull CommandPreprocessingContext<C> context) {
context.getCommandContext().store(PROCESSED_INDICATOR_KEY, "true"); context.getCommandContext().store(PROCESSED_INDICATOR_KEY, "true");
} }

View file

@ -45,8 +45,8 @@ public final class CommandPreprocessingContext<C> {
* @param commandContext Command context * @param commandContext Command context
* @param inputQueue Command input as supplied by sender * @param inputQueue Command input as supplied by sender
*/ */
public CommandPreprocessingContext(@NonNull final CommandContext<C> commandContext, public CommandPreprocessingContext(final @NonNull CommandContext<C> commandContext,
@NonNull final LinkedList<@NonNull String> inputQueue) { final @NonNull LinkedList<@NonNull String> inputQueue) {
this.commandContext = commandContext; this.commandContext = commandContext;
this.inputQueue = inputQueue; this.inputQueue = inputQueue;
} }

View file

@ -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 * @param errorNotifier Notifier that gets called when someone tries to confirm a command with nothing in the queue
*/ */
public CommandConfirmationManager(final long timeout, public CommandConfirmationManager(final long timeout,
@NonNull final TimeUnit timeoutTimeUnit, final @NonNull TimeUnit timeoutTimeUnit,
@NonNull final Consumer<@NonNull CommandPostprocessingContext<C>> notifier, final @NonNull Consumer<@NonNull CommandPostprocessingContext<C>> notifier,
@NonNull final Consumer<@NonNull C> errorNotifier) { final @NonNull Consumer<@NonNull C> errorNotifier) {
this.notifier = notifier; this.notifier = notifier;
this.errorNotifier = errorNotifier; this.errorNotifier = errorNotifier;
this.pendingCommands = new LinkedHashMap<C, Pair<CommandPostprocessingContext<C>, Long>>() { this.pendingCommands = new LinkedHashMap<C, Pair<CommandPostprocessingContext<C>, Long>>() {
@ -87,11 +87,11 @@ public class CommandConfirmationManager<C> {
this.timeoutMillis = timeoutTimeUnit.toMillis(timeout); 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); 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())); this.pendingCommands.put(context.getCommandContext().getSender(), Pair.of(context, System.currentTimeMillis()));
} }
@ -101,7 +101,7 @@ public class CommandConfirmationManager<C> {
* @param sender Sender * @param sender Sender
* @return Optional containing the post processing context if one has been stored, else {@link Optional#empty()} * @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); final Pair<CommandPostprocessingContext<C>, Long> pair = this.pendingCommands.remove(sender);
if (pair != null) { if (pair != null) {
if (System.currentTimeMillis() < pair.getSecond() + this.timeoutMillis) { if (System.currentTimeMillis() < pair.getSecond() + this.timeoutMillis) {
@ -126,7 +126,7 @@ public class CommandConfirmationManager<C> {
* *
* @param manager Command manager * @param manager Command manager
*/ */
public void registerConfirmationProcessor(@NonNull final CommandManager<C> manager) { public void registerConfirmationProcessor(final @NonNull CommandManager<C> manager) {
manager.registerCommandPostProcessor(new CommandConfirmationPostProcessor()); manager.registerCommandPostProcessor(new CommandConfirmationPostProcessor());
} }
@ -153,7 +153,7 @@ public class CommandConfirmationManager<C> {
private final class CommandConfirmationPostProcessor implements CommandPostprocessor<C> { private final class CommandConfirmationPostProcessor implements CommandPostprocessor<C> {
@Override @Override
public void accept(@NonNull final CommandPostprocessingContext<C> context) { public void accept(final @NonNull CommandPostprocessingContext<C> context) {
if (!context.getCommand() if (!context.getCommand()
.getCommandMeta() .getCommandMeta()
.getOrDefault(CONFIRMATION_REQUIRED_META, "false") .getOrDefault(CONFIRMATION_REQUIRED_META, "false")

View file

@ -58,7 +58,7 @@ public interface CommandRegistrationHandler {
} }
@Override @Override
public boolean registerCommand(@NonNull final Command<?> command) { public boolean registerCommand(final @NonNull Command<?> command) {
return true; return true;
} }

View file

@ -39,7 +39,7 @@ public class SimpleCommandMeta extends CommandMeta {
private final Map<String, String> metaMap; 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); this.metaMap = Collections.unmodifiableMap(metaMap);
} }
@ -62,12 +62,12 @@ public class SimpleCommandMeta extends CommandMeta {
} }
@Override @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)); return Optional.ofNullable(this.metaMap.get(key));
} }
@Override @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); return this.getValue(key).orElse(defaultValue);
} }
@ -109,7 +109,7 @@ public class SimpleCommandMeta extends CommandMeta {
* @param commandMeta Existing instance * @param commandMeta Existing instance
* @return Builder 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); commandMeta.getAll().forEach(this::with);
return this; return this;
} }
@ -121,8 +121,8 @@ public class SimpleCommandMeta extends CommandMeta {
* @param value Value * @param value Value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder with(@NonNull final String key, public @NonNull Builder with(final @NonNull String key,
@NonNull final String value) { final @NonNull String value) {
this.map.put(key, value); this.map.put(key, value);
return this; return this;
} }

View file

@ -38,7 +38,7 @@ public final class OrPermission implements CommandPermission {
private final Collection<CommandPermission> permissions; private final Collection<CommandPermission> permissions;
private OrPermission(@NonNull final Collection<CommandPermission> permissions) { private OrPermission(final @NonNull Collection<CommandPermission> permissions) {
this.permissions = permissions; this.permissions = permissions;
} }
@ -48,7 +48,7 @@ public final class OrPermission implements CommandPermission {
* @param permissions Permissions to join * @param permissions Permissions to join
* @return Constructed permission * @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<>(); final Set<CommandPermission> permissionSet = new HashSet<>();
for (final CommandPermission permission : permissions) { for (final CommandPermission permission : permissions) {
permissionSet.addAll(permission.getPermissions()); permissionSet.addAll(permission.getPermissions());

View file

@ -41,7 +41,7 @@ public final class Permission implements CommandPermission {
private final String permission; private final String permission;
private Permission(@NonNull final String permission) { private Permission(final @NonNull String permission) {
this.permission = permission; this.permission = permission;
} }
@ -60,7 +60,7 @@ public final class Permission implements CommandPermission {
* @param string Command permission * @param string Command permission
* @return Created 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); return new Permission(string);
} }

View file

@ -32,7 +32,7 @@ public final class DynamicTuple implements Tuple {
private final Object[] internalArray; private final Object[] internalArray;
private DynamicTuple(@NonNull final Object @NonNull [] internalArray) { private DynamicTuple(final @NonNull Object @NonNull [] internalArray) {
this.internalArray = internalArray; this.internalArray = internalArray;
} }
@ -42,7 +42,7 @@ public final class DynamicTuple implements Tuple {
* @param elements Elements that should be contained in the tuple * @param elements Elements that should be contained in the tuple
* @return Created tuple, preserving the order of the given elements * @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); return new DynamicTuple(elements);
} }

View file

@ -38,8 +38,8 @@ public class Pair<U, V> implements Tuple {
private final U first; private final U first;
private final V second; private final V second;
protected Pair(@NonNull final U first, protected Pair(final @NonNull U first,
@NonNull final V second) { final @NonNull V second) {
this.first = first; this.first = first;
this.second = second; this.second = second;
} }
@ -53,8 +53,8 @@ public class Pair<U, V> implements Tuple {
* @param <V> Second type * @param <V> Second type
* @return Created pair * @return Created pair
*/ */
public static <U, V> @NonNull Pair<@NonNull U, @NonNull V> of(@NonNull final U first, public static <U, V> @NonNull Pair<@NonNull U, @NonNull V> of(final @NonNull U first,
@NonNull final V second) { final @NonNull V second) {
return new Pair<>(first, second); return new Pair<>(first, second);
} }

View file

@ -42,10 +42,10 @@ public class Quartet<U, V, W, X> implements Tuple {
private final W third; private final W third;
private final X fourth; private final X fourth;
protected Quartet(@NonNull final U first, protected Quartet(final @NonNull U first,
@NonNull final V second, final @NonNull V second,
@NonNull final W third, final @NonNull W third,
@NonNull final X fourth) { final @NonNull X fourth) {
this.first = first; this.first = first;
this.second = second; this.second = second;
this.third = third; this.third = third;
@ -65,10 +65,10 @@ public class Quartet<U, V, W, X> implements Tuple {
* @param <X> Fourth type * @param <X> Fourth type
* @return Created quartet * @return Created quartet
*/ */
public static <U, V, W, X> @NonNull Quartet<@NonNull U, @NonNull V, @NonNull W, @NonNull X> of(@NonNull final U first, public static <U, V, W, X> @NonNull Quartet<@NonNull U, @NonNull V, @NonNull W, @NonNull X> of(final @NonNull U first,
@NonNull final V second, final @NonNull V second,
@NonNull final W third, final @NonNull W third,
@NonNull final X fourth) { final @NonNull X fourth) {
return new Quartet<>(first, second, third, fourth); return new Quartet<>(first, second, third, fourth);
} }

View file

@ -44,11 +44,11 @@ public class Quintet<U, V, W, X, Y> implements Tuple {
private final X fourth; private final X fourth;
private final Y fifth; private final Y fifth;
protected Quintet(@NonNull final U first, protected Quintet(final @NonNull U first,
@NonNull final V second, final @NonNull V second,
@NonNull final W third, final @NonNull W third,
@NonNull final X fourth, final @NonNull X fourth,
@NonNull final Y fifth) { final @NonNull Y fifth) {
this.first = first; this.first = first;
this.second = second; this.second = second;
this.third = third; this.third = third;
@ -72,11 +72,11 @@ public class Quintet<U, V, W, X, Y> implements Tuple {
* @return Created quintet * @return Created quintet
*/ */
public static <U, V, W, X, Y> @NonNull Quintet<@NonNull U, @NonNull V, @NonNull W, @NonNull X, @NonNull Y> of( public static <U, V, W, X, Y> @NonNull Quintet<@NonNull U, @NonNull V, @NonNull W, @NonNull X, @NonNull Y> of(
@NonNull final U first, final @NonNull U first,
@NonNull final V second, final @NonNull V second,
@NonNull final W third, final @NonNull W third,
@NonNull final X fourth, final @NonNull X fourth,
@NonNull final Y fifth) { final @NonNull Y fifth) {
return new Quintet<>(first, second, third, fourth, fifth); return new Quintet<>(first, second, third, fourth, fifth);
} }

View file

@ -46,12 +46,12 @@ public class Sextet<U, V, W, X, Y, Z> implements Tuple {
private final Y fifth; private final Y fifth;
private final Z sixth; private final Z sixth;
protected Sextet(@NonNull final U first, protected Sextet(final @NonNull U first,
@NonNull final V second, final @NonNull V second,
@NonNull final W third, final @NonNull W third,
@NonNull final X fourth, final @NonNull X fourth,
@NonNull final Y fifth, final @NonNull Y fifth,
@NonNull final Z sixth) { final @NonNull Z sixth) {
this.first = first; this.first = first;
this.second = second; this.second = second;
this.third = third; this.third = third;
@ -78,12 +78,12 @@ public class Sextet<U, V, W, X, Y, Z> implements Tuple {
* @return Created sextet * @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( 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, final @NonNull U first,
@NonNull final V second, final @NonNull V second,
@NonNull final W third, final @NonNull W third,
@NonNull final X fourth, final @NonNull X fourth,
@NonNull final Y fifth, final @NonNull Y fifth,
@NonNull final Z sixth) { final @NonNull Z sixth) {
return new Sextet<>(first, second, third, fourth, fifth, 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 @Override
public @NonNull final Object @NonNull [] toArray() { public final @NonNull Object @NonNull [] toArray() {
final Object[] array = new Object[6]; final Object[] array = new Object[6];
array[0] = this.first; array[0] = this.first;
array[1] = this.second; array[1] = this.second;

View file

@ -40,9 +40,9 @@ public class Triplet<U, V, W> implements Tuple {
private final V second; private final V second;
private final W third; private final W third;
protected Triplet(@NonNull final U first, protected Triplet(final @NonNull U first,
@NonNull final V second, final @NonNull V second,
@NonNull final W third) { final @NonNull W third) {
this.first = first; this.first = first;
this.second = second; this.second = second;
this.third = third; this.third = third;
@ -59,9 +59,9 @@ public class Triplet<U, V, W> implements Tuple {
* @param <W> Third type * @param <W> Third type
* @return Created triplet * @return Created triplet
*/ */
public static <U, V, W> @NonNull Triplet<@NonNull U, @NonNull V, @NonNull W> of(@NonNull final U first, public static <U, V, W> @NonNull Triplet<@NonNull U, @NonNull V, @NonNull W> of(final @NonNull U first,
@NonNull final V second, final @NonNull V second,
@NonNull final W third) { final @NonNull W third) {
return new Triplet<>(first, second, third); return new Triplet<>(first, second, third);
} }

View file

@ -54,7 +54,7 @@ public class JLineCommandManager extends CommandManager<JLineCommandSender> impl
* *
* @param executionCoordinatorFunction Function producing a new coordinator * @param executionCoordinatorFunction Function producing a new coordinator
*/ */
public JLineCommandManager(@NonNull final Function<CommandTree<JLineCommandSender>, public JLineCommandManager(final @NonNull Function<CommandTree<JLineCommandSender>,
CommandExecutionCoordinator<JLineCommandSender>> executionCoordinatorFunction) { CommandExecutionCoordinator<JLineCommandSender>> executionCoordinatorFunction) {
super(executionCoordinatorFunction, CommandRegistrationHandler.nullCommandRegistrationHandler()); super(executionCoordinatorFunction, CommandRegistrationHandler.nullCommandRegistrationHandler());
} }
@ -138,9 +138,9 @@ public class JLineCommandManager extends CommandManager<JLineCommandSender> impl
} }
@Override @Override
public final void complete(@NonNull final LineReader lineReader, public final void complete(final @NonNull LineReader lineReader,
@NonNull final ParsedLine parsedLine, final @NonNull ParsedLine parsedLine,
@NonNull final List<@NonNull Candidate> list) { final @NonNull List<@NonNull Candidate> list) {
final String line = parsedLine.line(); final String line = parsedLine.line();
if (line == null || line.isEmpty() || !line.startsWith("/")) { if (line == null || line.isEmpty() || !line.startsWith("/")) {
System.out.println("Cannot suggest: empty line"); System.out.println("Cannot suggest: empty line");
@ -155,8 +155,8 @@ public class JLineCommandManager extends CommandManager<JLineCommandSender> impl
} }
@Override @Override
public final boolean hasPermission(@NonNull final JLineCommandSender sender, public final boolean hasPermission(final @NonNull JLineCommandSender sender,
@NonNull final String permission) { final @NonNull String permission) {
return true; return true;
} }

View file

@ -95,8 +95,8 @@ public final class CloudBrigadierManager<C, S> {
* @param commandManager Command manager * @param commandManager Command manager
* @param dummyContextProvider Provider of dummy context for completions * @param dummyContextProvider Provider of dummy context for completions
*/ */
public CloudBrigadierManager(@NonNull final CommandManager<C> commandManager, public CloudBrigadierManager(final @NonNull CommandManager<C> commandManager,
@NonNull final Supplier<@NonNull CommandContext<C>> final @NonNull Supplier<@NonNull CommandContext<C>>
dummyContextProvider) { dummyContextProvider) {
this.mappers = new HashMap<>(); this.mappers = new HashMap<>();
this.defaultArgumentTypeSuppliers = new HashMap<>(); this.defaultArgumentTypeSuppliers = new HashMap<>();
@ -199,9 +199,9 @@ public final class CloudBrigadierManager<C, S> {
* @param <K> cloud argument type * @param <K> cloud argument type
* @param <O> Brigadier argument type value * @param <O> Brigadier argument type value
*/ */
public <T, K extends ArgumentParser<C, T>, O> void registerMapping(@NonNull final TypeToken<K> argumentType, public <T, K extends ArgumentParser<C, T>, O> void registerMapping(final @NonNull TypeToken<K> argumentType,
final boolean nativeSuggestions, final boolean nativeSuggestions,
@NonNull final Function<@NonNull ? extends K, final @NonNull Function<@NonNull ? extends K,
@NonNull ? extends ArgumentType<O>> mapper) { @NonNull ? extends ArgumentType<O>> mapper) {
this.mappers.put(GenericTypeReflector.erase(argumentType.getType()), this.mappers.put(GenericTypeReflector.erase(argumentType.getType()),
cloud.commandframework.types.tuples.Pair.of(mapper, nativeSuggestions)); cloud.commandframework.types.tuples.Pair.of(mapper, nativeSuggestions));
@ -213,16 +213,16 @@ public final class CloudBrigadierManager<C, S> {
* @param clazz Type to map * @param clazz Type to map
* @param supplier Supplier that supplies the argument type * @param supplier Supplier that supplies the argument type
*/ */
public void registerDefaultArgumentTypeSupplier(@NonNull final Class<?> clazz, public void registerDefaultArgumentTypeSupplier(final @NonNull Class<?> clazz,
@NonNull final Supplier<@NonNull ArgumentType<?>> supplier) { final @NonNull Supplier<@NonNull ArgumentType<?>> supplier) {
this.defaultArgumentTypeSuppliers.put(clazz, supplier); this.defaultArgumentTypeSuppliers.put(clazz, supplier);
} }
@SuppressWarnings("all") @SuppressWarnings("all")
private <T, K extends ArgumentParser<?, ?>> @Nullable Pair<@NonNull ArgumentType<?>, @NonNull Boolean> getArgument( private <T, K extends ArgumentParser<?, ?>> @Nullable Pair<@NonNull ArgumentType<?>, @NonNull Boolean> getArgument(
@NonNull final TypeToken<?> valueType, final @NonNull TypeToken<?> valueType,
@NonNull final TypeToken<T> argumentType, final @NonNull TypeToken<T> argumentType,
@NonNull final K argument) { final @NonNull K argument) {
final ArgumentParser<C, ?> commandArgument = (ArgumentParser<C, ?>) argument; final ArgumentParser<C, ?> commandArgument = (ArgumentParser<C, ?>) argument;
final cloud.commandframework.types.tuples.Pair pair final cloud.commandframework.types.tuples.Pair pair
= this.mappers.get(GenericTypeReflector.erase(argumentType.getType())); = this.mappers.get(GenericTypeReflector.erase(argumentType.getType()));
@ -234,8 +234,8 @@ public final class CloudBrigadierManager<C, S> {
} }
private <T, K extends ArgumentParser<C, T>> @NonNull Pair<@NonNull ArgumentType<?>, @NonNull Boolean> createDefaultMapper( private <T, K extends ArgumentParser<C, T>> @NonNull Pair<@NonNull ArgumentType<?>, @NonNull Boolean> createDefaultMapper(
@NonNull final TypeToken<?> clazz, final @NonNull TypeToken<?> clazz,
@NonNull final ArgumentParser<C, T> argument) { final @NonNull ArgumentParser<C, T> argument) {
final Supplier<ArgumentType<?>> argumentTypeSupplier = this.defaultArgumentTypeSuppliers final Supplier<ArgumentType<?>> argumentTypeSupplier = this.defaultArgumentTypeSuppliers
.get(GenericTypeReflector.erase(clazz.getType())); .get(GenericTypeReflector.erase(clazz.getType()));
if (argumentTypeSupplier != null) { if (argumentTypeSupplier != null) {
@ -253,9 +253,9 @@ public final class CloudBrigadierManager<C, S> {
* @param executor Command executor * @param executor Command executor
* @return Literal command node * @return Literal command node
*/ */
public @NonNull LiteralCommandNode<S> createLiteralCommandNode(@NonNull final String label, public @NonNull LiteralCommandNode<S> createLiteralCommandNode(final @NonNull String label,
@NonNull final Command<C> cloudCommand, final @NonNull Command<C> cloudCommand,
@NonNull final BiPredicate<@NonNull S, final @NonNull BiPredicate<@NonNull S,
@NonNull CommandPermission> permissionChecker, @NonNull CommandPermission> permissionChecker,
final com.mojang.brigadier.@NonNull Command<S> executor) { final com.mojang.brigadier.@NonNull Command<S> executor) {
final CommandTree.Node<CommandArgument<C, ?>> node = this.commandManager final CommandTree.Node<CommandArgument<C, ?>> node = this.commandManager
@ -287,10 +287,10 @@ public final class CloudBrigadierManager<C, S> {
*/ */
public @NonNull LiteralCommandNode<S> createLiteralCommandNode( public @NonNull LiteralCommandNode<S> createLiteralCommandNode(
final CommandTree.@NonNull Node<@NonNull CommandArgument<C, ?>> cloudCommand, final CommandTree.@NonNull Node<@NonNull CommandArgument<C, ?>> cloudCommand,
@NonNull final LiteralCommandNode<S> root, final @NonNull LiteralCommandNode<S> root,
@NonNull final SuggestionProvider<S> suggestionProvider, final @NonNull SuggestionProvider<S> suggestionProvider,
final com.mojang.brigadier.@NonNull Command<S> executor, final com.mojang.brigadier.@NonNull Command<S> executor,
@NonNull final BiPredicate<@NonNull S, @NonNull CommandPermission> permissionChecker) { final @NonNull BiPredicate<@NonNull S, @NonNull CommandPermission> permissionChecker) {
final LiteralArgumentBuilder<S> literalArgumentBuilder = LiteralArgumentBuilder.<S>literal(root.getLiteral()) final LiteralArgumentBuilder<S> literalArgumentBuilder = LiteralArgumentBuilder.<S>literal(root.getLiteral())
.requires(sender -> permissionChecker.test(sender, .requires(sender -> permissionChecker.test(sender,
(CommandPermission) cloudCommand.getNodeMeta() (CommandPermission) cloudCommand.getNodeMeta()
@ -310,7 +310,7 @@ public final class CloudBrigadierManager<C, S> {
private @NonNull ArgumentBuilder<S, ?> constructCommandNode( private @NonNull ArgumentBuilder<S, ?> constructCommandNode(
final boolean forceExecutor, final boolean forceExecutor,
final CommandTree.@NonNull Node<CommandArgument<C, ?>> root, final CommandTree.@NonNull Node<CommandArgument<C, ?>> root,
@NonNull final BiPredicate<@NonNull S, @NonNull CommandPermission> permissionChecker, final @NonNull BiPredicate<@NonNull S, @NonNull CommandPermission> permissionChecker,
final com.mojang.brigadier.@NonNull Command<S> executor, final com.mojang.brigadier.@NonNull Command<S> executor,
final SuggestionProvider<S> suggestionProvider) { final SuggestionProvider<S> suggestionProvider) {
if (root.getValue() instanceof CompoundArgument) { if (root.getValue() instanceof CompoundArgument) {
@ -389,9 +389,9 @@ public final class CloudBrigadierManager<C, S> {
} }
private @NonNull CompletableFuture<Suggestions> buildSuggestions( private @NonNull CompletableFuture<Suggestions> buildSuggestions(
@NonNull final CommandArgument<C, ?> argument, final @NonNull CommandArgument<C, ?> argument,
final com.mojang.brigadier.context.@NonNull CommandContext<S> s, final com.mojang.brigadier.context.@NonNull CommandContext<S> s,
@NonNull final SuggestionsBuilder builder) { final @NonNull SuggestionsBuilder builder) {
final CommandContext<C> commandContext = this.dummyContextProvider.get(); final CommandContext<C> commandContext = this.dummyContextProvider.get();
final LinkedList<String> inputQueue = new LinkedList<>(Collections.singletonList(builder.getInput())); final LinkedList<String> inputQueue = new LinkedList<>(Collections.singletonList(builder.getInput()));
final CommandPreprocessingContext<C> commandPreprocessingContext = final CommandPreprocessingContext<C> commandPreprocessingContext =
@ -435,8 +435,8 @@ public final class CloudBrigadierManager<C, S> {
private final L left; private final L left;
private final R right; private final R right;
private Pair(@NonNull final L left, private Pair(final @NonNull L left,
@NonNull final R right) { final @NonNull R right) {
this.left = left; this.left = left;
this.right = right; this.right = right;
} }

View file

@ -223,7 +223,7 @@ public final class BukkitTest extends JavaPlugin {
} }
} }
private void registerTeleportCommand(@NonNull final BukkitCommandManager<CommandSender> manager) { private void registerTeleportCommand(final @NonNull BukkitCommandManager<CommandSender> manager) {
manager.command(mgr.commandBuilder("teleport") manager.command(mgr.commandBuilder("teleport")
.meta("description", "Takes in a location and teleports the player there") .meta("description", "Takes in a location and teleports the player there")
.withSenderType(Player.class) .withSenderType(Player.class)
@ -246,9 +246,9 @@ public final class BukkitTest extends JavaPlugin {
@CommandDescription("Test cloud command using @CommandMethod") @CommandDescription("Test cloud command using @CommandMethod")
@CommandMethod(value = "annotation|a <input> [number]", permission = "some.permission.node") @CommandMethod(value = "annotation|a <input> [number]", permission = "some.permission.node")
private void annotatedCommand(@NonNull final Player player, private void annotatedCommand(final @NonNull Player player,
@Argument(value = "input", description = "Some string") @Completions("one,two,duck") @Argument(value = "input", description = "Some string") @Completions("one,two,duck")
@NonNull final String input, final @NonNull String input,
@Argument(value = "number", defaultValue = "5", description = "A number") @Argument(value = "number", defaultValue = "5", description = "A number")
@Range(min = "10", max = "100") final int number) { @Range(min = "10", max = "100") final int number) {
player.sendMessage(ChatColor.GOLD + "Your input was: " + ChatColor.AQUA + input + ChatColor.GREEN + " (" + number + ")"); player.sendMessage(ChatColor.GOLD + "Your input was: " + ChatColor.AQUA + input + ChatColor.GREEN + " (" + number + ")");
@ -267,7 +267,7 @@ public final class BukkitTest extends JavaPlugin {
Bukkit.broadcastMessage(ChatColor.GRAY + "Calling Thread: " + Thread.currentThread().getName()); Bukkit.broadcastMessage(ChatColor.GRAY + "Calling Thread: " + Thread.currentThread().getName());
} }
private @NonNull SimpleCommandMeta metaWithDescription(@NonNull final String description) { private @NonNull SimpleCommandMeta metaWithDescription(final @NonNull String description) {
return BukkitCommandMetaBuilder.builder().withDescription(description).build(); return BukkitCommandMetaBuilder.builder().withDescription(description).build();
} }

View file

@ -51,11 +51,11 @@ final class BukkitCommand<C> extends org.bukkit.command.Command implements Plugi
private final Command<C> cloudCommand; private final Command<C> cloudCommand;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
BukkitCommand(@NonNull final String label, BukkitCommand(final @NonNull String label,
@NonNull final List<@NonNull String> aliases, final @NonNull List<@NonNull String> aliases,
@NonNull final Command<C> cloudCommand, final @NonNull Command<C> cloudCommand,
@NonNull final CommandArgument<C, ?> command, final @NonNull CommandArgument<C, ?> command,
@NonNull final BukkitCommandManager<C> manager) { final @NonNull BukkitCommandManager<C> manager) {
super(label, super(label,
cloudCommand.getCommandMeta().getOrDefault("description", ""), cloudCommand.getCommandMeta().getOrDefault("description", ""),
"", "",

View file

@ -83,11 +83,11 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
* @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender} * @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender}
* @throws Exception If the construction of the manager fails * @throws Exception If the construction of the manager fails
*/ */
public BukkitCommandManager(@NonNull final Plugin owningPlugin, public BukkitCommandManager(final @NonNull Plugin owningPlugin,
@NonNull final Function<@NonNull CommandTree<C>, final @NonNull Function<@NonNull CommandTree<C>,
@NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator, @NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@NonNull final Function<@NonNull CommandSender, @NonNull C> commandSenderMapper, final @NonNull Function<@NonNull CommandSender, @NonNull C> commandSenderMapper,
@NonNull final Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper) final @NonNull Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper)
throws Exception { throws Exception {
super(commandExecutionCoordinator, new BukkitPluginRegistrationHandler<>()); super(commandExecutionCoordinator, new BukkitPluginRegistrationHandler<>());
((BukkitPluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this); ((BukkitPluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this);
@ -170,7 +170,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
} }
@Override @Override
public final boolean hasPermission(@NonNull final C sender, @NonNull final String permission) { public final boolean hasPermission(final @NonNull C sender, final @NonNull String permission) {
if (permission.isEmpty()) { if (permission.isEmpty()) {
return true; return true;
} }
@ -198,7 +198,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
* @param capability Capability * @param capability Capability
* @return {@code true} if the manager has the given capability, else {@code false} * @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(final @NonNull CloudBukkitCapabilities capability) {
return this.queryCapabilities().contains(capability); return this.queryCapabilities().contains(capability);
} }
@ -273,7 +273,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
* *
* @param reason Reason * @param reason Reason
*/ */
public BrigadierFailureException(@NonNull final BrigadierFailureReason reason) { public BrigadierFailureException(final @NonNull BrigadierFailureReason reason) {
this.reason = reason; this.reason = reason;
} }
@ -283,7 +283,7 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
* @param reason Reason * @param reason Reason
* @param cause Cause * @param cause Cause
*/ */
public BrigadierFailureException(@NonNull final BrigadierFailureReason reason, @NonNull final Throwable cause) { public BrigadierFailureException(final @NonNull BrigadierFailureReason reason, final @NonNull Throwable cause) {
super(cause); super(cause);
this.reason = reason; this.reason = reason;
} }

View file

@ -33,7 +33,7 @@ public class BukkitCommandMeta extends SimpleCommandMeta {
* *
* @param simpleCommandMeta Simple command meta data instance that gets mirrored * @param simpleCommandMeta Simple command meta data instance that gets mirrored
*/ */
public BukkitCommandMeta(@NonNull final SimpleCommandMeta simpleCommandMeta) { public BukkitCommandMeta(final @NonNull SimpleCommandMeta simpleCommandMeta) {
super(simpleCommandMeta.getAll()); super(simpleCommandMeta.getAll());
} }

View file

@ -52,7 +52,7 @@ public final class BukkitCommandMetaBuilder {
* @param description Command description * @param description Command description
* @return Builder instance * @return Builder instance
*/ */
public @NonNull BuilderStage2 withDescription(@NonNull final String description) { public @NonNull BuilderStage2 withDescription(final @NonNull String description) {
return new BuilderStage2(description); return new BuilderStage2(description);
} }
@ -63,7 +63,7 @@ public final class BukkitCommandMetaBuilder {
private final String description; private final String description;
private BuilderStage2(@NonNull final String description) { private BuilderStage2(final @NonNull String description) {
this.description = description; this.description = description;
} }

View file

@ -51,7 +51,7 @@ final class BukkitCommandPreprocessor<C> implements CommandPreprocessor<C> {
* and a {@link java.util.Set} of {@link CloudBukkitCapabilities} with the key "CloudBukkitCapabilities" * and a {@link java.util.Set} of {@link CloudBukkitCapabilities} with the key "CloudBukkitCapabilities"
*/ */
@Override @Override
public void accept(@NonNull final CommandPreprocessingContext<C> context) { public void accept(final @NonNull CommandPreprocessingContext<C> context) {
context.getCommandContext().store("BukkitCommandSender", mgr.getBackwardsCommandSenderMapper().apply( context.getCommandContext().store("BukkitCommandSender", mgr.getBackwardsCommandSenderMapper().apply(
context.getCommandContext().getSender())); context.getCommandContext().getSender()));
context.getCommandContext().store("CloudBukkitCapabilities", mgr.queryCapabilities()); context.getCommandContext().store("CloudBukkitCapabilities", mgr.queryCapabilities());

View file

@ -50,7 +50,7 @@ public abstract class BukkitCommandSender {
* @param player Player instance * @param player Player instance
* @return Constructed command sender * @return Constructed command sender
*/ */
public static @NonNull BukkitCommandSender player(@NonNull final Player player) { public static @NonNull BukkitCommandSender player(final @NonNull Player player) {
return new BukkitPlayerSender(player); return new BukkitPlayerSender(player);
} }
@ -122,7 +122,7 @@ public abstract class BukkitCommandSender {
* *
* @param message Message to send * @param message Message to send
*/ */
public void sendMessage(@NonNull final String message) { public void sendMessage(final @NonNull String message) {
this.internalSender.sendMessage(message); this.internalSender.sendMessage(message);
} }

View file

@ -28,7 +28,7 @@ import org.checkerframework.checker.nullness.qual.NonNull;
final class BukkitPlayerSender extends BukkitCommandSender { final class BukkitPlayerSender extends BukkitCommandSender {
BukkitPlayerSender(@NonNull final Player player) { BukkitPlayerSender(final @NonNull Player player) {
super(player); super(player);
} }

View file

@ -51,7 +51,7 @@ class BukkitPluginRegistrationHandler<C> implements CommandRegistrationHandler {
BukkitPluginRegistrationHandler() { BukkitPluginRegistrationHandler() {
} }
void initialize(@NonNull final BukkitCommandManager<C> bukkitCommandManager) throws Exception { void initialize(final @NonNull BukkitCommandManager<C> bukkitCommandManager) throws Exception {
final Method getCommandMap = Bukkit.getServer().getClass().getDeclaredMethod("getCommandMap"); final Method getCommandMap = Bukkit.getServer().getClass().getDeclaredMethod("getCommandMap");
getCommandMap.setAccessible(true); getCommandMap.setAccessible(true);
this.commandMap = (CommandMap) getCommandMap.invoke(Bukkit.getServer()); this.commandMap = (CommandMap) getCommandMap.invoke(Bukkit.getServer());
@ -65,7 +65,7 @@ class BukkitPluginRegistrationHandler<C> implements CommandRegistrationHandler {
} }
@Override @Override
public boolean registerCommand(@NonNull final Command<?> command) { public boolean registerCommand(final @NonNull Command<?> command) {
/* We only care about the root command argument */ /* We only care about the root command argument */
final CommandArgument<?, ?> commandArgument = command.getArguments().get(0); final CommandArgument<?, ?> commandArgument = command.getArguments().get(0);
if (this.registeredCommands.containsKey(commandArgument)) { if (this.registeredCommands.containsKey(commandArgument)) {
@ -111,9 +111,9 @@ class BukkitPluginRegistrationHandler<C> implements CommandRegistrationHandler {
return true; return true;
} }
protected void registerExternal(@NonNull final String label, protected void registerExternal(final @NonNull String label,
@NonNull final Command<?> command, final @NonNull Command<?> command,
@NonNull final BukkitCommand<C> bukkitCommand) { final @NonNull BukkitCommand<C> bukkitCommand) {
} }
} }

View file

@ -39,7 +39,7 @@ class CloudCommodoreManager<C> extends BukkitPluginRegistrationHandler<C> {
private final CloudBrigadierManager brigadierManager; private final CloudBrigadierManager brigadierManager;
private final Commodore commodore; private final Commodore commodore;
CloudCommodoreManager(@NonNull final BukkitCommandManager<C> commandManager) CloudCommodoreManager(final @NonNull BukkitCommandManager<C> commandManager)
throws BukkitCommandManager.BrigadierFailureException { throws BukkitCommandManager.BrigadierFailureException {
if (!CommodoreProvider.isSupported()) { if (!CommodoreProvider.isSupported()) {
throw new BukkitCommandManager.BrigadierFailureException(BukkitCommandManager throw new BukkitCommandManager.BrigadierFailureException(BukkitCommandManager
@ -52,9 +52,9 @@ class CloudCommodoreManager<C> extends BukkitPluginRegistrationHandler<C> {
} }
@Override @Override
protected void registerExternal(@NonNull final String label, protected void registerExternal(final @NonNull String label,
@NonNull final Command<?> command, final @NonNull Command<?> command,
@NonNull final BukkitCommand<C> bukkitCommand) { final @NonNull BukkitCommand<C> bukkitCommand) {
final com.mojang.brigadier.Command<?> cmd = o -> 1; final com.mojang.brigadier.Command<?> cmd = o -> 1;
final LiteralCommandNode<?> literalCommandNode = this.brigadierManager final LiteralCommandNode<?> literalCommandNode = this.brigadierManager
.createLiteralCommandNode(label, command, (o, p) -> true, cmd); .createLiteralCommandNode(label, command, (o, p) -> true, cmd);

View file

@ -45,9 +45,9 @@ import java.util.stream.Collectors;
public class MaterialArgument<C> extends CommandArgument<C, Material> { public class MaterialArgument<C> extends CommandArgument<C, Material> {
protected MaterialArgument(final boolean required, protected MaterialArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new MaterialParser<>(), defaultValue, Material.class, suggestionsProvider); super(required, name, new MaterialParser<>(), defaultValue, Material.class, suggestionsProvider);
} }
@ -59,7 +59,7 @@ public class MaterialArgument<C> extends CommandArgument<C, Material> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @return Created builder
*/ */
public static <C> MaterialArgument.@NonNull Builder<C> newBuilder(@NonNull final String name) { public static <C> MaterialArgument.@NonNull Builder<C> newBuilder(final @NonNull String name) {
return new MaterialArgument.Builder<>(name); return new MaterialArgument.Builder<>(name);
} }
@ -70,7 +70,7 @@ public class MaterialArgument<C> extends CommandArgument<C, Material> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, Material> of(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, Material> of(final @NonNull String name) {
return MaterialArgument.<C>newBuilder(name).asRequired().build(); return MaterialArgument.<C>newBuilder(name).asRequired().build();
} }
@ -81,7 +81,7 @@ public class MaterialArgument<C> extends CommandArgument<C, Material> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, Material> optional(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, Material> optional(final @NonNull String name) {
return MaterialArgument.<C>newBuilder(name).asOptional().build(); return MaterialArgument.<C>newBuilder(name).asOptional().build();
} }
@ -93,14 +93,14 @@ public class MaterialArgument<C> extends CommandArgument<C, Material> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, Material> optional(@NonNull final String name, public static <C> @NonNull CommandArgument<C, Material> optional(final @NonNull String name,
@NonNull final Material material) { final @NonNull Material material) {
return MaterialArgument.<C>newBuilder(name).asOptionalWithDefault(material.name().toLowerCase()).build(); return MaterialArgument.<C>newBuilder(name).asOptionalWithDefault(material.name().toLowerCase()).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, Material> { public static final class Builder<C> extends CommandArgument.Builder<C, Material> {
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Material.class, name); super(Material.class, name);
} }
@ -110,8 +110,8 @@ public class MaterialArgument<C> extends CommandArgument<C, Material> {
public static final class MaterialParser<C> implements ArgumentParser<C, Material> { public static final class MaterialParser<C> implements ArgumentParser<C, Material> {
@Override @Override
public @NonNull ArgumentParseResult<Material> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<Material> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -138,7 +138,7 @@ public class MaterialArgument<C> extends CommandArgument<C, Material> {
* *
* @param input Input * @param input Input
*/ */
public MaterialParseException(@NonNull final String input) { public MaterialParseException(final @NonNull String input) {
this.input = input; this.input = input;
} }

View file

@ -50,9 +50,9 @@ import java.util.function.BiFunction;
public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePlayer> { public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePlayer> {
private OfflinePlayerArgument(final boolean required, private OfflinePlayerArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new OfflinePlayerParser<>(), defaultValue, OfflinePlayer.class, suggestionsProvider); super(required, name, new OfflinePlayerParser<>(), defaultValue, OfflinePlayer.class, suggestionsProvider);
} }
@ -64,7 +64,7 @@ public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePl
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -75,7 +75,7 @@ public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePl
* @param <C> Command sender type * @param <C> Command sender type
* @return Created component * @return Created component
*/ */
public static <C> @NonNull CommandArgument<C, OfflinePlayer> of(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, OfflinePlayer> of(final @NonNull String name) {
return OfflinePlayerArgument.<C>newBuilder(name).asRequired().build(); return OfflinePlayerArgument.<C>newBuilder(name).asRequired().build();
} }
@ -86,7 +86,7 @@ public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePl
* @param <C> Command sender type * @param <C> Command sender type
* @return Created component * @return Created component
*/ */
public static <C> @NonNull CommandArgument<C, OfflinePlayer> optional(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, OfflinePlayer> optional(final @NonNull String name) {
return OfflinePlayerArgument.<C>newBuilder(name).asOptional().build(); return OfflinePlayerArgument.<C>newBuilder(name).asOptional().build();
} }
@ -98,15 +98,15 @@ public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePl
* @param <C> Command sender type * @param <C> Command sender type
* @return Created component * @return Created component
*/ */
public static <C> @NonNull CommandArgument<C, OfflinePlayer> optional(@NonNull final String name, public static <C> @NonNull CommandArgument<C, OfflinePlayer> optional(final @NonNull String name,
@NonNull final String defaultPlayer) { final @NonNull String defaultPlayer) {
return OfflinePlayerArgument.<C>newBuilder(name).asOptionalWithDefault(defaultPlayer).build(); return OfflinePlayerArgument.<C>newBuilder(name).asOptionalWithDefault(defaultPlayer).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, OfflinePlayer> { public static final class Builder<C> extends CommandArgument.Builder<C, OfflinePlayer> {
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(OfflinePlayer.class, name); super(OfflinePlayer.class, name);
} }
@ -127,8 +127,8 @@ public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePl
public static final class OfflinePlayerParser<C> implements ArgumentParser<C, OfflinePlayer> { public static final class OfflinePlayerParser<C> implements ArgumentParser<C, OfflinePlayer> {
@Override @Override
public @NonNull ArgumentParseResult<OfflinePlayer> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<OfflinePlayer> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<String> inputQueue) { final @NonNull Queue<String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -146,8 +146,8 @@ public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePl
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
List<String> output = new ArrayList<>(); List<String> output = new ArrayList<>();
for (Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {
@ -171,7 +171,7 @@ public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePl
* *
* @param input String input * @param input String input
*/ */
public OfflinePlayerParseException(@NonNull final String input) { public OfflinePlayerParseException(final @NonNull String input) {
this.input = input; this.input = input;
} }

View file

@ -46,9 +46,9 @@ import java.util.function.BiFunction;
public final class PlayerArgument<C> extends CommandArgument<C, Player> { public final class PlayerArgument<C> extends CommandArgument<C, Player> {
private PlayerArgument(final boolean required, private PlayerArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new PlayerParser<>(), defaultValue, Player.class, suggestionsProvider); super(required, name, new PlayerParser<>(), defaultValue, Player.class, suggestionsProvider);
} }
@ -60,7 +60,7 @@ public final class PlayerArgument<C> extends CommandArgument<C, Player> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @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); return new Builder<>(name);
} }
@ -71,7 +71,7 @@ public final class PlayerArgument<C> extends CommandArgument<C, Player> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created component * @return Created component
*/ */
public static <C> @NonNull CommandArgument<C, Player> of(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, Player> of(final @NonNull String name) {
return PlayerArgument.<C>newBuilder(name).asRequired().build(); return PlayerArgument.<C>newBuilder(name).asRequired().build();
} }
@ -82,7 +82,7 @@ public final class PlayerArgument<C> extends CommandArgument<C, Player> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created component * @return Created component
*/ */
public static <C> @NonNull CommandArgument<C, Player> optional(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, Player> optional(final @NonNull String name) {
return PlayerArgument.<C>newBuilder(name).asOptional().build(); return PlayerArgument.<C>newBuilder(name).asOptional().build();
} }
@ -94,15 +94,15 @@ public final class PlayerArgument<C> extends CommandArgument<C, Player> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created component * @return Created component
*/ */
public static <C> @NonNull CommandArgument<C, Player> optional(@NonNull final String name, public static <C> @NonNull CommandArgument<C, Player> optional(final @NonNull String name,
@NonNull final String defaultPlayer) { final @NonNull String defaultPlayer) {
return PlayerArgument.<C>newBuilder(name).asOptionalWithDefault(defaultPlayer).build(); return PlayerArgument.<C>newBuilder(name).asOptionalWithDefault(defaultPlayer).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, Player> { public static final class Builder<C> extends CommandArgument.Builder<C, Player> {
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(Player.class, name); super(Player.class, name);
} }
@ -122,8 +122,8 @@ public final class PlayerArgument<C> extends CommandArgument<C, Player> {
public static final class PlayerParser<C> implements ArgumentParser<C, Player> { public static final class PlayerParser<C> implements ArgumentParser<C, Player> {
@Override @Override
public @NonNull ArgumentParseResult<Player> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<Player> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -141,8 +141,8 @@ public final class PlayerArgument<C> extends CommandArgument<C, Player> {
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
List<String> output = new ArrayList<>(); List<String> output = new ArrayList<>();
for (Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {
@ -166,7 +166,7 @@ public final class PlayerArgument<C> extends CommandArgument<C, Player> {
* *
* @param input String input * @param input String input
*/ */
public PlayerParseException(@NonNull final String input) { public PlayerParseException(final @NonNull String input) {
this.input = input; this.input = input;
} }

View file

@ -45,9 +45,9 @@ import java.util.stream.Collectors;
public class WorldArgument<C> extends CommandArgument<C, World> { public class WorldArgument<C> extends CommandArgument<C, World> {
protected WorldArgument(final boolean required, protected WorldArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) { final @Nullable BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
super(required, name, new WorldParser<>(), defaultValue, World.class, suggestionsProvider); super(required, name, new WorldParser<>(), defaultValue, World.class, suggestionsProvider);
} }
@ -58,7 +58,7 @@ public class WorldArgument<C> extends CommandArgument<C, World> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @return Created builder
*/ */
public static <C> CommandArgument.@NonNull Builder<C, World> newBuilder(@NonNull final String name) { public static <C> CommandArgument.@NonNull Builder<C, World> newBuilder(final @NonNull String name) {
return new WorldArgument.Builder<>(name); return new WorldArgument.Builder<>(name);
} }
@ -69,7 +69,7 @@ public class WorldArgument<C> extends CommandArgument<C, World> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, World> of(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, World> of(final @NonNull String name) {
return WorldArgument.<C>newBuilder(name).asRequired().build(); return WorldArgument.<C>newBuilder(name).asRequired().build();
} }
@ -80,7 +80,7 @@ public class WorldArgument<C> extends CommandArgument<C, World> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, World> optional(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, World> optional(final @NonNull String name) {
return WorldArgument.<C>newBuilder(name).asOptional().build(); return WorldArgument.<C>newBuilder(name).asOptional().build();
} }
@ -92,15 +92,15 @@ public class WorldArgument<C> extends CommandArgument<C, World> {
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, World> optional(@NonNull final String name, public static <C> @NonNull CommandArgument<C, World> optional(final @NonNull String name,
@NonNull final String defaultValue) { final @NonNull String defaultValue) {
return WorldArgument.<C>newBuilder(name).asOptionalWithDefault(defaultValue).build(); return WorldArgument.<C>newBuilder(name).asOptionalWithDefault(defaultValue).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, World> { public static final class Builder<C> extends CommandArgument.Builder<C, World> {
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(World.class, name); super(World.class, name);
} }
@ -114,8 +114,8 @@ public class WorldArgument<C> extends CommandArgument<C, World> {
public static final class WorldParser<C> implements ArgumentParser<C, World> { public static final class WorldParser<C> implements ArgumentParser<C, World> {
@Override @Override
public @NonNull ArgumentParseResult<World> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<World> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<String> inputQueue) { final @NonNull Queue<String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -131,7 +131,7 @@ public class WorldArgument<C> extends CommandArgument<C, World> {
} }
@Override @Override
public @NonNull List<String> suggestions(@NonNull final CommandContext<C> commandContext, @NonNull final String input) { public @NonNull List<String> suggestions(final @NonNull CommandContext<C> commandContext, final @NonNull String input) {
return Bukkit.getWorlds().stream().map(World::getName).collect(Collectors.toList()); return Bukkit.getWorlds().stream().map(World::getName).collect(Collectors.toList());
} }
@ -147,7 +147,7 @@ public class WorldArgument<C> extends CommandArgument<C, World> {
* *
* @param input Input * @param input Input
*/ */
public WorldParseException(@NonNull final String input) { public WorldParseException(final @NonNull String input) {
this.input = input; this.input = input;
} }

View file

@ -42,9 +42,9 @@ import java.util.function.BiFunction;
public final class MultipleEntitySelectorArgument<C> extends CommandArgument<C, MultipleEntitySelector> { public final class MultipleEntitySelectorArgument<C> extends CommandArgument<C, MultipleEntitySelector> {
private MultipleEntitySelectorArgument(final boolean required, private MultipleEntitySelectorArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new MultipleEntitySelectorParser<>(), defaultValue, MultipleEntitySelector.class, super(required, name, new MultipleEntitySelectorParser<>(), defaultValue, MultipleEntitySelector.class,
suggestionsProvider); suggestionsProvider);
@ -57,7 +57,7 @@ public final class MultipleEntitySelectorArgument<C> extends CommandArgument<C,
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @return Created builder
*/ */
public static <C> MultipleEntitySelectorArgument.@NonNull Builder<C> newBuilder(@NonNull final String name) { public static <C> MultipleEntitySelectorArgument.@NonNull Builder<C> newBuilder(final @NonNull String name) {
return new MultipleEntitySelectorArgument.Builder<>(name); return new MultipleEntitySelectorArgument.Builder<>(name);
} }
@ -68,7 +68,7 @@ public final class MultipleEntitySelectorArgument<C> extends CommandArgument<C,
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, MultipleEntitySelector> of(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, MultipleEntitySelector> of(final @NonNull String name) {
return MultipleEntitySelectorArgument.<C>newBuilder(name).asRequired().build(); return MultipleEntitySelectorArgument.<C>newBuilder(name).asRequired().build();
} }
@ -79,7 +79,7 @@ public final class MultipleEntitySelectorArgument<C> extends CommandArgument<C,
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, MultipleEntitySelector> optional(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, MultipleEntitySelector> optional(final @NonNull String name) {
return MultipleEntitySelectorArgument.<C>newBuilder(name).asOptional().build(); return MultipleEntitySelectorArgument.<C>newBuilder(name).asOptional().build();
} }
@ -91,15 +91,15 @@ public final class MultipleEntitySelectorArgument<C> extends CommandArgument<C,
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, MultipleEntitySelector> optional(@NonNull final String name, public static <C> @NonNull CommandArgument<C, MultipleEntitySelector> optional(final @NonNull String name,
@NonNull final String defaultEntitySelector) { final @NonNull String defaultEntitySelector) {
return MultipleEntitySelectorArgument.<C>newBuilder(name).asOptionalWithDefault(defaultEntitySelector).build(); return MultipleEntitySelectorArgument.<C>newBuilder(name).asOptionalWithDefault(defaultEntitySelector).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, MultipleEntitySelector> { public static final class Builder<C> extends CommandArgument.Builder<C, MultipleEntitySelector> {
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(MultipleEntitySelector.class, name); super(MultipleEntitySelector.class, name);
} }
@ -120,8 +120,8 @@ public final class MultipleEntitySelectorArgument<C> extends CommandArgument<C,
public static final class MultipleEntitySelectorParser<C> implements ArgumentParser<C, MultipleEntitySelector> { public static final class MultipleEntitySelectorParser<C> implements ArgumentParser<C, MultipleEntitySelector> {
@Override @Override
public @NonNull ArgumentParseResult<MultipleEntitySelector> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<MultipleEntitySelector> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
if (!commandContext.<Set<CloudBukkitCapabilities>>get("CloudBukkitCapabilities").contains( if (!commandContext.<Set<CloudBukkitCapabilities>>get("CloudBukkitCapabilities").contains(
CloudBukkitCapabilities.BRIGADIER)) { CloudBukkitCapabilities.BRIGADIER)) {
return ArgumentParseResult.failure( return ArgumentParseResult.failure(

View file

@ -46,9 +46,9 @@ import java.util.function.BiFunction;
public final class MultiplePlayerSelectorArgument<C> extends CommandArgument<C, MultiplePlayerSelector> { public final class MultiplePlayerSelectorArgument<C> extends CommandArgument<C, MultiplePlayerSelector> {
private MultiplePlayerSelectorArgument(final boolean required, private MultiplePlayerSelectorArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new MultiplePlayerSelectorParser<>(), defaultValue, MultiplePlayerSelector.class, super(required, name, new MultiplePlayerSelectorParser<>(), defaultValue, MultiplePlayerSelector.class,
suggestionsProvider); suggestionsProvider);
@ -61,7 +61,7 @@ public final class MultiplePlayerSelectorArgument<C> extends CommandArgument<C,
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @return Created builder
*/ */
public static <C> MultiplePlayerSelectorArgument.Builder<C> newBuilder(@NonNull final String name) { public static <C> MultiplePlayerSelectorArgument.Builder<C> newBuilder(final @NonNull String name) {
return new MultiplePlayerSelectorArgument.Builder<>(name); return new MultiplePlayerSelectorArgument.Builder<>(name);
} }
@ -72,7 +72,7 @@ public final class MultiplePlayerSelectorArgument<C> extends CommandArgument<C,
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, MultiplePlayerSelector> of(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, MultiplePlayerSelector> of(final @NonNull String name) {
return MultiplePlayerSelectorArgument.<C>newBuilder(name).asRequired().build(); return MultiplePlayerSelectorArgument.<C>newBuilder(name).asRequired().build();
} }
@ -83,7 +83,7 @@ public final class MultiplePlayerSelectorArgument<C> extends CommandArgument<C,
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, MultiplePlayerSelector> optional(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, MultiplePlayerSelector> optional(final @NonNull String name) {
return MultiplePlayerSelectorArgument.<C>newBuilder(name).asOptional().build(); return MultiplePlayerSelectorArgument.<C>newBuilder(name).asOptional().build();
} }
@ -95,15 +95,15 @@ public final class MultiplePlayerSelectorArgument<C> extends CommandArgument<C,
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, MultiplePlayerSelector> optional(@NonNull final String name, public static <C> @NonNull CommandArgument<C, MultiplePlayerSelector> optional(final @NonNull String name,
@NonNull final String defaultEntitySelector) { final @NonNull String defaultEntitySelector) {
return MultiplePlayerSelectorArgument.<C>newBuilder(name).asOptionalWithDefault(defaultEntitySelector).build(); return MultiplePlayerSelectorArgument.<C>newBuilder(name).asOptionalWithDefault(defaultEntitySelector).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, MultiplePlayerSelector> { public static final class Builder<C> extends CommandArgument.Builder<C, MultiplePlayerSelector> {
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(MultiplePlayerSelector.class, name); super(MultiplePlayerSelector.class, name);
} }
@ -124,8 +124,8 @@ public final class MultiplePlayerSelectorArgument<C> extends CommandArgument<C,
public static final class MultiplePlayerSelectorParser<C> implements ArgumentParser<C, MultiplePlayerSelector> { public static final class MultiplePlayerSelectorParser<C> implements ArgumentParser<C, MultiplePlayerSelector> {
@Override @Override
public @NonNull ArgumentParseResult<MultiplePlayerSelector> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<MultiplePlayerSelector> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -159,8 +159,8 @@ public final class MultiplePlayerSelectorArgument<C> extends CommandArgument<C,
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
List<String> output = new ArrayList<>(); List<String> output = new ArrayList<>();
for (Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {

View file

@ -37,7 +37,7 @@ public final class SelectorParseException extends IllegalArgumentException {
* *
* @param input String input * @param input String input
*/ */
public SelectorParseException(@NonNull final String input) { public SelectorParseException(final @NonNull String input) {
this.input = input; this.input = input;
} }

View file

@ -42,9 +42,9 @@ import java.util.function.BiFunction;
public final class SingleEntitySelectorArgument<C> extends CommandArgument<C, SingleEntitySelector> { public final class SingleEntitySelectorArgument<C> extends CommandArgument<C, SingleEntitySelector> {
private SingleEntitySelectorArgument(final boolean required, private SingleEntitySelectorArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new SingleEntitySelectorParser<>(), defaultValue, SingleEntitySelector.class, suggestionsProvider); super(required, name, new SingleEntitySelectorParser<>(), defaultValue, SingleEntitySelector.class, suggestionsProvider);
} }
@ -56,7 +56,7 @@ public final class SingleEntitySelectorArgument<C> extends CommandArgument<C, Si
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @return Created builder
*/ */
public static <C> SingleEntitySelectorArgument.@NonNull Builder<C> newBuilder(@NonNull final String name) { public static <C> SingleEntitySelectorArgument.@NonNull Builder<C> newBuilder(final @NonNull String name) {
return new SingleEntitySelectorArgument.Builder<>(name); return new SingleEntitySelectorArgument.Builder<>(name);
} }
@ -67,7 +67,7 @@ public final class SingleEntitySelectorArgument<C> extends CommandArgument<C, Si
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, SingleEntitySelector> of(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, SingleEntitySelector> of(final @NonNull String name) {
return SingleEntitySelectorArgument.<C>newBuilder(name).asRequired().build(); return SingleEntitySelectorArgument.<C>newBuilder(name).asRequired().build();
} }
@ -78,7 +78,7 @@ public final class SingleEntitySelectorArgument<C> extends CommandArgument<C, Si
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, SingleEntitySelector> optional(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, SingleEntitySelector> optional(final @NonNull String name) {
return SingleEntitySelectorArgument.<C>newBuilder(name).asOptional().build(); return SingleEntitySelectorArgument.<C>newBuilder(name).asOptional().build();
} }
@ -90,15 +90,15 @@ public final class SingleEntitySelectorArgument<C> extends CommandArgument<C, Si
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, SingleEntitySelector> optional(@NonNull final String name, public static <C> @NonNull CommandArgument<C, SingleEntitySelector> optional(final @NonNull String name,
@NonNull final String defaultEntitySelector) { final @NonNull String defaultEntitySelector) {
return SingleEntitySelectorArgument.<C>newBuilder(name).asOptionalWithDefault(defaultEntitySelector).build(); return SingleEntitySelectorArgument.<C>newBuilder(name).asOptionalWithDefault(defaultEntitySelector).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, SingleEntitySelector> { public static final class Builder<C> extends CommandArgument.Builder<C, SingleEntitySelector> {
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(SingleEntitySelector.class, name); super(SingleEntitySelector.class, name);
} }
@ -119,8 +119,8 @@ public final class SingleEntitySelectorArgument<C> extends CommandArgument<C, Si
public static final class SingleEntitySelectorParser<C> implements ArgumentParser<C, SingleEntitySelector> { public static final class SingleEntitySelectorParser<C> implements ArgumentParser<C, SingleEntitySelector> {
@Override @Override
public @NonNull ArgumentParseResult<SingleEntitySelector> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<SingleEntitySelector> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
if (!((Set<CloudBukkitCapabilities>) commandContext.get("CloudBukkitCapabilities")).contains( if (!((Set<CloudBukkitCapabilities>) commandContext.get("CloudBukkitCapabilities")).contains(
CloudBukkitCapabilities.BRIGADIER)) { CloudBukkitCapabilities.BRIGADIER)) {
return ArgumentParseResult.failure( return ArgumentParseResult.failure(

View file

@ -46,9 +46,9 @@ import java.util.function.BiFunction;
public final class SinglePlayerSelectorArgument<C> extends CommandArgument<C, SinglePlayerSelector> { public final class SinglePlayerSelectorArgument<C> extends CommandArgument<C, SinglePlayerSelector> {
private SinglePlayerSelectorArgument(final boolean required, private SinglePlayerSelectorArgument(final boolean required,
@NonNull final String name, final @NonNull String name,
@NonNull final String defaultValue, final @NonNull String defaultValue,
@Nullable final BiFunction<@NonNull CommandContext<C>, @NonNull String, final @Nullable BiFunction<@NonNull CommandContext<C>, @NonNull String,
@NonNull List<@NonNull String>> suggestionsProvider) { @NonNull List<@NonNull String>> suggestionsProvider) {
super(required, name, new SinglePlayerSelectorParser<>(), defaultValue, SinglePlayerSelector.class, suggestionsProvider); super(required, name, new SinglePlayerSelectorParser<>(), defaultValue, SinglePlayerSelector.class, suggestionsProvider);
} }
@ -60,7 +60,7 @@ public final class SinglePlayerSelectorArgument<C> extends CommandArgument<C, Si
* @param <C> Command sender type * @param <C> Command sender type
* @return Created builder * @return Created builder
*/ */
public static <C> SinglePlayerSelectorArgument.@NonNull Builder<C> newBuilder(@NonNull final String name) { public static <C> SinglePlayerSelectorArgument.@NonNull Builder<C> newBuilder(final @NonNull String name) {
return new SinglePlayerSelectorArgument.Builder<>(name); return new SinglePlayerSelectorArgument.Builder<>(name);
} }
@ -71,7 +71,7 @@ public final class SinglePlayerSelectorArgument<C> extends CommandArgument<C, Si
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, SinglePlayerSelector> of(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, SinglePlayerSelector> of(final @NonNull String name) {
return SinglePlayerSelectorArgument.<C>newBuilder(name).asRequired().build(); return SinglePlayerSelectorArgument.<C>newBuilder(name).asRequired().build();
} }
@ -82,7 +82,7 @@ public final class SinglePlayerSelectorArgument<C> extends CommandArgument<C, Si
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, SinglePlayerSelector> optional(@NonNull final String name) { public static <C> @NonNull CommandArgument<C, SinglePlayerSelector> optional(final @NonNull String name) {
return SinglePlayerSelectorArgument.<C>newBuilder(name).asOptional().build(); return SinglePlayerSelectorArgument.<C>newBuilder(name).asOptional().build();
} }
@ -94,15 +94,15 @@ public final class SinglePlayerSelectorArgument<C> extends CommandArgument<C, Si
* @param <C> Command sender type * @param <C> Command sender type
* @return Created argument * @return Created argument
*/ */
public static <C> @NonNull CommandArgument<C, SinglePlayerSelector> optional(@NonNull final String name, public static <C> @NonNull CommandArgument<C, SinglePlayerSelector> optional(final @NonNull String name,
@NonNull final String defaultEntitySelector) { final @NonNull String defaultEntitySelector) {
return SinglePlayerSelectorArgument.<C>newBuilder(name).asOptionalWithDefault(defaultEntitySelector).build(); return SinglePlayerSelectorArgument.<C>newBuilder(name).asOptionalWithDefault(defaultEntitySelector).build();
} }
public static final class Builder<C> extends CommandArgument.Builder<C, SinglePlayerSelector> { public static final class Builder<C> extends CommandArgument.Builder<C, SinglePlayerSelector> {
protected Builder(@NonNull final String name) { protected Builder(final @NonNull String name) {
super(SinglePlayerSelector.class, name); super(SinglePlayerSelector.class, name);
} }
@ -123,8 +123,8 @@ public final class SinglePlayerSelectorArgument<C> extends CommandArgument<C, Si
public static final class SinglePlayerSelectorParser<C> implements ArgumentParser<C, SinglePlayerSelector> { public static final class SinglePlayerSelectorParser<C> implements ArgumentParser<C, SinglePlayerSelector> {
@Override @Override
public @NonNull ArgumentParseResult<SinglePlayerSelector> parse(@NonNull final CommandContext<C> commandContext, public @NonNull ArgumentParseResult<SinglePlayerSelector> parse(final @NonNull CommandContext<C> commandContext,
@NonNull final Queue<@NonNull String> inputQueue) { final @NonNull Queue<@NonNull String> inputQueue) {
final String input = inputQueue.peek(); final String input = inputQueue.peek();
if (input == null) { if (input == null) {
return ArgumentParseResult.failure(new NullPointerException("No input was provided")); return ArgumentParseResult.failure(new NullPointerException("No input was provided"));
@ -163,8 +163,8 @@ public final class SinglePlayerSelectorArgument<C> extends CommandArgument<C, Si
} }
@Override @Override
public @NonNull List<@NonNull String> suggestions(@NonNull final CommandContext<C> commandContext, public @NonNull List<@NonNull String> suggestions(final @NonNull CommandContext<C> commandContext,
@NonNull final String input) { final @NonNull String input) {
List<String> output = new ArrayList<>(); List<String> output = new ArrayList<>();
for (Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {

View file

@ -52,8 +52,8 @@ public final class BungeeCommand<C> extends Command implements TabExecutor {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
BungeeCommand(final cloud.commandframework.@NonNull Command<C> cloudCommand, BungeeCommand(final cloud.commandframework.@NonNull Command<C> cloudCommand,
@NonNull final CommandArgument<C, ?> command, final @NonNull CommandArgument<C, ?> command,
@NonNull final BungeeCommandManager<C> manager) { final @NonNull BungeeCommandManager<C> manager) {
super(command.getName(), super(command.getName(),
cloudCommand.getCommandPermission().toString(), cloudCommand.getCommandPermission().toString(),
((StaticArgument<C>) command).getAlternativeAliases().toArray(new String[0])); ((StaticArgument<C>) command).getAlternativeAliases().toArray(new String[0]));

View file

@ -48,11 +48,11 @@ public class BungeeCommandManager<C> extends CommandManager<C> {
* @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender} * @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender}
* @throws Exception If the construction of the manager fails * @throws Exception If the construction of the manager fails
*/ */
public BungeeCommandManager(@NonNull final Plugin owningPlugin, public BungeeCommandManager(final @NonNull Plugin owningPlugin,
@NonNull final Function<@NonNull CommandTree<C>, final @NonNull Function<@NonNull CommandTree<C>,
@NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator, @NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@NonNull final Function<@NonNull CommandSender, @NonNull C> commandSenderMapper, final @NonNull Function<@NonNull CommandSender, @NonNull C> commandSenderMapper,
@NonNull final Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper) final @NonNull Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper)
throws Exception { throws Exception {
super(commandExecutionCoordinator, new BungeePluginRegistrationHandler<>()); super(commandExecutionCoordinator, new BungeePluginRegistrationHandler<>());
((BungeePluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this); ((BungeePluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this);
@ -62,8 +62,8 @@ public class BungeeCommandManager<C> extends CommandManager<C> {
} }
@Override @Override
public final boolean hasPermission(@NonNull final C sender, public final boolean hasPermission(final @NonNull C sender,
@NonNull final String permission) { final @NonNull String permission) {
if (permission.isEmpty()) { if (permission.isEmpty()) {
return true; return true;
} }

View file

@ -40,12 +40,12 @@ final class BungeePluginRegistrationHandler<C> implements CommandRegistrationHan
BungeePluginRegistrationHandler() { BungeePluginRegistrationHandler() {
} }
void initialize(@NonNull final BungeeCommandManager<C> bungeeCommandManager) { void initialize(final @NonNull BungeeCommandManager<C> bungeeCommandManager) {
this.bungeeCommandManager = bungeeCommandManager; this.bungeeCommandManager = bungeeCommandManager;
} }
@Override @Override
public boolean registerCommand(@NonNull final Command<?> command) { public boolean registerCommand(final @NonNull Command<?> command) {
/* We only care about the root command argument */ /* We only care about the root command argument */
final CommandArgument<?, ?> commandArgument = command.getArguments().get(0); final CommandArgument<?, ?> commandArgument = command.getArguments().get(0);
if (this.registeredCommands.containsKey(commandArgument)) { if (this.registeredCommands.containsKey(commandArgument)) {

View file

@ -62,7 +62,7 @@ public final class CloudCloudburstTest extends PluginBase {
@CommandMethod("test <num> [str]") @CommandMethod("test <num> [str]")
private void testCommand(@NonNull @Argument(value = "str", defaultValue = "potato") final String string, private void testCommand(@NonNull @Argument(value = "str", defaultValue = "potato") final String string,
@NonNull final CommandSender source, final @NonNull CommandSender source,
@Argument("num") @Range(min = "10", max = "33") final int num) { @Argument("num") @Range(min = "10", max = "33") final int num) {
source.sendMessage(TextFormat.RED + "You said: " source.sendMessage(TextFormat.RED + "You said: "
+ TextFormat.GOLD + string + TextFormat.GOLD + string

View file

@ -50,11 +50,11 @@ final class CloudburstCommand<C> extends PluginCommand<Plugin> {
private final CloudburstCommandManager<C> manager; private final CloudburstCommandManager<C> manager;
private final Command<C> cloudCommand; private final Command<C> cloudCommand;
CloudburstCommand(@NonNull final String label, CloudburstCommand(final @NonNull String label,
@NonNull final List<@NonNull String> aliases, final @NonNull List<@NonNull String> aliases,
@NonNull final Command<C> cloudCommand, final @NonNull Command<C> cloudCommand,
@NonNull final CommandArgument<C, ?> command, final @NonNull CommandArgument<C, ?> command,
@NonNull final CloudburstCommandManager<C> manager) { final @NonNull CloudburstCommandManager<C> manager) {
super(manager.getOwningPlugin(), CommandData.builder(label) super(manager.getOwningPlugin(), CommandData.builder(label)
.addAliases(aliases.toArray(new String[0])) .addAliases(aliases.toArray(new String[0]))
.addPermission(cloudCommand.getCommandPermission().toString()) .addPermission(cloudCommand.getCommandPermission().toString())

View file

@ -54,11 +54,11 @@ public class CloudburstCommandManager<C> extends CommandManager<C> {
* @param commandSenderMapper Function that maps {@link CommandSender} to the command sender type * @param commandSenderMapper Function that maps {@link CommandSender} to the command sender type
* @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender} * @param backwardsCommandSenderMapper Function that maps the command sender type to {@link CommandSender}
*/ */
public CloudburstCommandManager(@NonNull final Plugin owningPlugin, public CloudburstCommandManager(final @NonNull Plugin owningPlugin,
@NonNull final Function<@NonNull CommandTree<C>, final @NonNull Function<@NonNull CommandTree<C>,
@NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator, @NonNull CommandExecutionCoordinator<C>> commandExecutionCoordinator,
@NonNull final Function<@NonNull CommandSender, @NonNull C> commandSenderMapper, final @NonNull Function<@NonNull CommandSender, @NonNull C> commandSenderMapper,
@NonNull final Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper) { final @NonNull Function<@NonNull C, @NonNull CommandSender> backwardsCommandSenderMapper) {
super(commandExecutionCoordinator, new CloudburstPluginRegistrationHandler<>()); super(commandExecutionCoordinator, new CloudburstPluginRegistrationHandler<>());
((CloudburstPluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this); ((CloudburstPluginRegistrationHandler<C>) this.getCommandRegistrationHandler()).initialize(this);
this.commandSenderMapper = commandSenderMapper; this.commandSenderMapper = commandSenderMapper;
@ -67,8 +67,8 @@ public class CloudburstCommandManager<C> extends CommandManager<C> {
} }
@Override @Override
public final boolean hasPermission(@NonNull final C sender, public final boolean hasPermission(final @NonNull C sender,
@NonNull final String permission) { final @NonNull String permission) {
return this.backwardsCommandSenderMapper.apply(sender).hasPermission(permission); return this.backwardsCommandSenderMapper.apply(sender).hasPermission(permission);
} }

View file

@ -43,12 +43,12 @@ class CloudburstPluginRegistrationHandler<C> implements CommandRegistrationHandl
CloudburstPluginRegistrationHandler() { CloudburstPluginRegistrationHandler() {
} }
void initialize(@NonNull final CloudburstCommandManager<C> cloudburstCommandManager) { void initialize(final @NonNull CloudburstCommandManager<C> cloudburstCommandManager) {
this.cloudburstCommandManager = cloudburstCommandManager; this.cloudburstCommandManager = cloudburstCommandManager;
} }
@Override @Override
public final boolean registerCommand(@NonNull final Command<?> command) { public final boolean registerCommand(final @NonNull Command<?> command) {
/* We only care about the root command argument */ /* We only care about the root command argument */
final CommandArgument<?, ?> commandArgument = command.getArguments().get(0); final CommandArgument<?, ?> commandArgument = command.getArguments().get(0);
if (this.registeredCommands.containsKey(commandArgument)) { if (this.registeredCommands.containsKey(commandArgument)) {

Some files were not shown because too many files have changed in this diff Show more