chore(core): add @This annotations

This commit is contained in:
Citymonstret 2022-06-06 07:42:23 +02:00 committed by Jason
parent 74fd40f403
commit e889811380
13 changed files with 48 additions and 35 deletions

View file

@ -77,6 +77,7 @@ import java.util.function.Function;
import java.util.function.Predicate; import java.util.function.Predicate;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
/** /**
* The manager is responsible for command registration, parsing delegation, etc. * The manager is responsible for command registration, parsing delegation, etc.
@ -222,7 +223,7 @@ public abstract class CommandManager<C> {
* @return The command manager instance. This is returned so that these method calls may be chained. This will always * @return The command manager instance. This is returned so that these method calls may be chained. This will always
* return {@code this}. * return {@code this}.
*/ */
public @NonNull CommandManager<C> command(final @NonNull Command<C> command) { public @NonNull @This CommandManager<C> command(final @NonNull Command<C> command) {
if (!(this.transitionIfPossible(RegistrationState.BEFORE_REGISTRATION, RegistrationState.REGISTERING) if (!(this.transitionIfPossible(RegistrationState.BEFORE_REGISTRATION, RegistrationState.REGISTERING)
|| this.isCommandRegistrationAllowed())) { || this.isCommandRegistrationAllowed())) {
throw new IllegalStateException("Unable to register commands because the manager is no longer in a registration " throw new IllegalStateException("Unable to register commands because the manager is no longer in a registration "

View file

@ -44,6 +44,7 @@ import java.util.function.BiFunction;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
/** /**
* A argument that belongs to a command * A argument that belongs to a command
@ -378,7 +379,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* @param preprocessor Preprocessor * @param preprocessor Preprocessor
* @return {@code this} * @return {@code this}
*/ */
public @NonNull CommandArgument<C, T> addPreprocessor( public @NonNull @This CommandArgument<C, T> addPreprocessor(
final @NonNull BiFunction<@NonNull CommandContext<C>, @NonNull Queue<String>, final @NonNull BiFunction<@NonNull CommandContext<C>, @NonNull Queue<String>,
@NonNull ArgumentParseResult<Boolean>> preprocessor @NonNull ArgumentParseResult<Boolean>> preprocessor
) { ) {
@ -595,7 +596,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(final @NonNull CommandManager<C> manager) { public @NonNull @This Builder<@NonNull C, @NonNull T> manager(final @NonNull CommandManager<C> manager) {
this.manager = manager; this.manager = manager;
return this; return this;
} }
@ -609,7 +610,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* *
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<@NonNull C, @NonNull T> asRequired() { public @NonNull @This Builder<@NonNull C, @NonNull T> asRequired() {
this.required = true; this.required = true;
return this; return this;
} }
@ -623,7 +624,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* *
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<@NonNull C, @NonNull T> asOptional() { public @NonNull @This Builder<@NonNull C, @NonNull T> asOptional() {
this.required = false; this.required = false;
return this; return this;
} }
@ -638,7 +639,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(final @NonNull String defaultValue) { public @NonNull @This 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;
@ -650,7 +651,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(final @NonNull ArgumentParser<@NonNull C, @NonNull T> parser) { public @NonNull @This 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;
} }
@ -661,7 +662,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* @param suggestionsProvider Suggestions provider * @param suggestionsProvider Suggestions provider
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<@NonNull C, @NonNull T> withSuggestionsProvider( public @NonNull @This Builder<@NonNull C, @NonNull T> withSuggestionsProvider(
final @NonNull BiFunction<@NonNull CommandContext<C>, final @NonNull BiFunction<@NonNull CommandContext<C>,
@NonNull String, @NonNull List<String>> suggestionsProvider @NonNull String, @NonNull List<String>> suggestionsProvider
) { ) {
@ -678,7 +679,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* @return Builder instance * @return Builder instance
* @since 1.4.0 * @since 1.4.0
*/ */
public @NonNull Builder<@NonNull C, @NonNull T> withDefaultDescription( public @NonNull @This Builder<@NonNull C, @NonNull T> withDefaultDescription(
final @NonNull ArgumentDescription defaultDescription final @NonNull ArgumentDescription defaultDescription
) { ) {
this.defaultDescription = Objects.requireNonNull(defaultDescription, "Default description may not be null"); this.defaultDescription = Objects.requireNonNull(defaultDescription, "Default description may not be null");

View file

@ -26,6 +26,7 @@ package cloud.commandframework.arguments.parser;
import java.util.Optional; import java.util.Optional;
import java.util.function.Function; import java.util.function.Function;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.common.returnsreceiver.qual.This;
/** /**
* Result of the parsing done by a {@link ArgumentParser} * Result of the parsing done by a {@link ArgumentParser}
@ -135,7 +136,7 @@ public abstract class ArgumentParseResult<T> {
} }
@Override @Override
public @NonNull ArgumentParseResult<T> mapFailure(final Function<Throwable, Throwable> mapper) { public @NonNull @This ArgumentParseResult<T> mapFailure(final Function<Throwable, Throwable> mapper) {
return this; return this;
} }

View file

@ -39,6 +39,7 @@ import java.util.Queue;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public final class BooleanArgument<C> extends CommandArgument<C, Boolean> { public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
@ -129,7 +130,7 @@ public final class BooleanArgument<C> extends CommandArgument<C, Boolean> {
* @param liberal liberal value * @param liberal liberal value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withLiberal(final boolean liberal) { public @NonNull @This Builder<C> withLiberal(final boolean liberal) {
this.liberal = liberal; this.liberal = liberal;
return this; return this;
} }

View file

@ -36,6 +36,7 @@ import java.util.Queue;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public final class ByteArgument<C> extends CommandArgument<C, Byte> { public final class ByteArgument<C> extends CommandArgument<C, Byte> {
@ -139,7 +140,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
* @param min Minimum value * @param min Minimum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMin(final byte min) { public @NonNull @This Builder<C> withMin(final byte min) {
this.min = min; this.min = min;
return this; return this;
} }
@ -150,7 +151,7 @@ public final class ByteArgument<C> extends CommandArgument<C, Byte> {
* @param max Maximum value * @param max Maximum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMax(final byte max) { public @NonNull @This Builder<C> withMax(final byte max) {
this.max = max; this.max = max;
return this; return this;
} }

View file

@ -36,6 +36,7 @@ import java.util.Queue;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public final class DoubleArgument<C> extends CommandArgument<C, Double> { public final class DoubleArgument<C> extends CommandArgument<C, Double> {
@ -139,7 +140,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
* @param min Minimum value * @param min Minimum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMin(final int min) { public @NonNull @This Builder<C> withMin(final int min) {
this.min = min; this.min = min;
return this; return this;
} }
@ -150,7 +151,7 @@ public final class DoubleArgument<C> extends CommandArgument<C, Double> {
* @param max Maximum value * @param max Maximum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMax(final int max) { public @NonNull @This Builder<C> withMax(final int max) {
this.max = max; this.max = max;
return this; return this;
} }

View file

@ -36,6 +36,7 @@ import java.util.Queue;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public final class FloatArgument<C> extends CommandArgument<C, Float> { public final class FloatArgument<C> extends CommandArgument<C, Float> {
@ -139,7 +140,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
* @param min Minimum value * @param min Minimum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMin(final int min) { public @NonNull @This Builder<C> withMin(final int min) {
this.min = min; this.min = min;
return this; return this;
} }
@ -150,7 +151,7 @@ public final class FloatArgument<C> extends CommandArgument<C, Float> {
* @param max Maximum value * @param max Maximum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMax(final int max) { public @NonNull @This Builder<C> withMax(final int max) {
this.max = max; this.max = max;
return this; return this;
} }

View file

@ -40,6 +40,7 @@ import java.util.TreeSet;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public final class IntegerArgument<C> extends CommandArgument<C, Integer> { public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
@ -151,7 +152,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
* @param min Minimum value * @param min Minimum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMin(final int min) { public @NonNull @This Builder<C> withMin(final int min) {
this.min = min; this.min = min;
return this; return this;
} }
@ -162,7 +163,7 @@ public final class IntegerArgument<C> extends CommandArgument<C, Integer> {
* @param max Maximum value * @param max Maximum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMax(final int max) { public @NonNull @This Builder<C> withMax(final int max) {
this.max = max; this.max = max;
return this; return this;
} }

View file

@ -36,6 +36,7 @@ import java.util.Queue;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public final class LongArgument<C> extends CommandArgument<C, Long> { public final class LongArgument<C> extends CommandArgument<C, Long> {
@ -139,7 +140,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
* @param min Minimum value * @param min Minimum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMin(final long min) { public @NonNull @This Builder<C> withMin(final long min) {
this.min = min; this.min = min;
return this; return this;
} }
@ -150,7 +151,7 @@ public final class LongArgument<C> extends CommandArgument<C, Long> {
* @param max Maximum value * @param max Maximum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMax(final long max) { public @NonNull @This Builder<C> withMax(final long max) {
this.max = max; this.max = max;
return this; return this;
} }

View file

@ -36,6 +36,7 @@ import java.util.Queue;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public final class ShortArgument<C> extends CommandArgument<C, Short> { public final class ShortArgument<C> extends CommandArgument<C, Short> {
@ -136,7 +137,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
* @param min Minimum value * @param min Minimum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMin(final short min) { public @NonNull @This Builder<C> withMin(final short min) {
this.min = min; this.min = min;
return this; return this;
} }
@ -147,7 +148,7 @@ public final class ShortArgument<C> extends CommandArgument<C, Short> {
* @param max Maximum value * @param max Maximum value
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withMax(final short max) { public @NonNull @This Builder<C> withMax(final short max) {
this.max = max; this.max = max;
return this; return this;
} }

View file

@ -41,6 +41,7 @@ import java.util.function.BiFunction;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public final class StringArgument<C> extends CommandArgument<C, String> { public final class StringArgument<C> extends CommandArgument<C, String> {
@ -208,7 +209,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* @param stringMode String mode to parse with * @param stringMode String mode to parse with
* @return Builder instance * @return Builder instance
*/ */
private @NonNull Builder<C> withMode(final @NonNull StringMode stringMode) { private @NonNull @This Builder<C> withMode(final @NonNull StringMode stringMode) {
this.stringMode = stringMode; this.stringMode = stringMode;
return this; return this;
} }
@ -218,7 +219,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* *
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> greedy() { public @NonNull @This Builder<C> greedy() {
this.stringMode = StringMode.GREEDY; this.stringMode = StringMode.GREEDY;
return this; return this;
} }
@ -228,7 +229,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* *
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> single() { public @NonNull @This Builder<C> single() {
this.stringMode = StringMode.SINGLE; this.stringMode = StringMode.SINGLE;
return this; return this;
} }
@ -238,7 +239,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* *
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> quoted() { public @NonNull @This Builder<C> quoted() {
this.stringMode = StringMode.QUOTED; this.stringMode = StringMode.QUOTED;
return this; return this;
} }
@ -250,7 +251,7 @@ public final class StringArgument<C> extends CommandArgument<C, String> {
* @return Builder instance * @return Builder instance
*/ */
@Override @Override
public @NonNull Builder<C> withSuggestionsProvider( public @NonNull @This Builder<C> withSuggestionsProvider(
final @NonNull BiFunction<@NonNull CommandContext<C>, final @NonNull BiFunction<@NonNull CommandContext<C>,
@NonNull String, @NonNull List<@NonNull String>> suggestionsProvider @NonNull String, @NonNull List<@NonNull String>> suggestionsProvider
) { ) {

View file

@ -38,6 +38,7 @@ import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
/** /**
* Execution coordinator parses and/or executes commands on a separate thread from the calling thread * Execution coordinator parses and/or executes commands on a separate thread from the calling thread
@ -141,7 +142,7 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
* *
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withSynchronousParsing() { public @NonNull @This Builder<C> withSynchronousParsing() {
this.synchronizeParsing = true; this.synchronizeParsing = true;
return this; return this;
} }
@ -151,19 +152,19 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
* *
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withAsynchronousParsing() { public @NonNull @This Builder<C> withAsynchronousParsing() {
this.synchronizeParsing = false; this.synchronizeParsing = false;
return this; return this;
} }
/** /**
* Specify an executor that will be used to coordinate tasks. * Specify an executor that will be used to coordinate tasks.
* By default the executor uses {@link java.util.concurrent.ForkJoinPool#commonPool()} * By default, the executor uses {@link java.util.concurrent.ForkJoinPool#commonPool()}
* *
* @param executor Executor to use * @param executor Executor to use
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder<C> withExecutor(final @NonNull Executor executor) { public @NonNull @This Builder<C> withExecutor(final @NonNull Executor executor) {
this.executor = executor; this.executor = executor;
return this; return this;
} }

View file

@ -31,6 +31,7 @@ import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.common.returnsreceiver.qual.This;
/** /**
* A simple immutable string-string map containing command meta * A simple immutable string-string map containing command meta
@ -163,7 +164,7 @@ public class SimpleCommandMeta extends CommandMeta {
* @param commandMeta Existing instance * @param commandMeta Existing instance
* @return Builder instance * @return Builder instance
*/ */
public @NonNull Builder with(final @NonNull CommandMeta commandMeta) { public @NonNull @This Builder with(final @NonNull CommandMeta commandMeta) {
if (commandMeta instanceof SimpleCommandMeta) { if (commandMeta instanceof SimpleCommandMeta) {
this.map.putAll(((SimpleCommandMeta) commandMeta).metaMap); this.map.putAll(((SimpleCommandMeta) commandMeta).metaMap);
} else { } else {
@ -181,7 +182,7 @@ public class SimpleCommandMeta extends CommandMeta {
* @deprecated For removal since 1.3.0, use {@link #with(Key, Object) the typesafe alternative} instead * @deprecated For removal since 1.3.0, use {@link #with(Key, Object) the typesafe alternative} instead
*/ */
@Deprecated @Deprecated
public @NonNull Builder with( public @NonNull @This Builder with(
final @NonNull String key, final @NonNull String key,
final @NonNull String value final @NonNull String value
) { ) {
@ -198,7 +199,7 @@ public class SimpleCommandMeta extends CommandMeta {
* @return Builder instance * @return Builder instance
* @since 1.3.0 * @since 1.3.0
*/ */
public <V> @NonNull Builder with( public <V> @NonNull @This Builder with(
final @NonNull Key<V> key, final @NonNull Key<V> key,
final @NonNull V value final @NonNull V value
) { ) {