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 org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
/**
* 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 {@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)
|| this.isCommandRegistrationAllowed())) {
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 org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
/**
* A argument that belongs to a command
@ -378,7 +379,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* @param preprocessor Preprocessor
* @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>,
@NonNull ArgumentParseResult<Boolean>> preprocessor
) {
@ -595,7 +596,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* @param manager Command manager
* @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;
return this;
}
@ -609,7 +610,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
*
* @return Builder instance
*/
public @NonNull Builder<@NonNull C, @NonNull T> asRequired() {
public @NonNull @This Builder<@NonNull C, @NonNull T> asRequired() {
this.required = true;
return this;
}
@ -623,7 +624,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
*
* @return Builder instance
*/
public @NonNull Builder<@NonNull C, @NonNull T> asOptional() {
public @NonNull @This Builder<@NonNull C, @NonNull T> asOptional() {
this.required = false;
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
* @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.required = false;
return this;
@ -650,7 +651,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* @param parser Argument parser
* @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");
return this;
}
@ -661,7 +662,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* @param suggestionsProvider Suggestions provider
* @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>,
@NonNull String, @NonNull List<String>> suggestionsProvider
) {
@ -678,7 +679,7 @@ public class CommandArgument<C, T> implements Comparable<CommandArgument<?, ?>>,
* @return Builder instance
* @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
) {
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.function.Function;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.common.returnsreceiver.qual.This;
/**
* Result of the parsing done by a {@link ArgumentParser}
@ -135,7 +136,7 @@ public abstract class ArgumentParseResult<T> {
}
@Override
public @NonNull ArgumentParseResult<T> mapFailure(final Function<Throwable, Throwable> mapper) {
public @NonNull @This ArgumentParseResult<T> mapFailure(final Function<Throwable, Throwable> mapper) {
return this;
}

View file

@ -39,6 +39,7 @@ import java.util.Queue;
import java.util.function.BiFunction;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.common.returnsreceiver.qual.This;
@SuppressWarnings("unused")
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
* @return Builder instance
*/
public @NonNull Builder<C> withLiberal(final boolean liberal) {
public @NonNull @This Builder<C> withLiberal(final boolean liberal) {
this.liberal = liberal;
return this;
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -38,6 +38,7 @@ import java.util.function.Consumer;
import java.util.function.Function;
import org.checkerframework.checker.nullness.qual.NonNull;
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
@ -141,7 +142,7 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
*
* @return Builder instance
*/
public @NonNull Builder<C> withSynchronousParsing() {
public @NonNull @This Builder<C> withSynchronousParsing() {
this.synchronizeParsing = true;
return this;
}
@ -151,19 +152,19 @@ public final class AsynchronousCommandExecutionCoordinator<C> extends CommandExe
*
* @return Builder instance
*/
public @NonNull Builder<C> withAsynchronousParsing() {
public @NonNull @This Builder<C> withAsynchronousParsing() {
this.synchronizeParsing = false;
return this;
}
/**
* 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
* @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;
return this;
}

View file

@ -31,6 +31,7 @@ import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.common.returnsreceiver.qual.This;
/**
* A simple immutable string-string map containing command meta
@ -163,7 +164,7 @@ public class SimpleCommandMeta extends CommandMeta {
* @param commandMeta Existing 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) {
this.map.putAll(((SimpleCommandMeta) commandMeta).metaMap);
} 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
public @NonNull Builder with(
public @NonNull @This Builder with(
final @NonNull String key,
final @NonNull String value
) {
@ -198,7 +199,7 @@ public class SimpleCommandMeta extends CommandMeta {
* @return Builder instance
* @since 1.3.0
*/
public <V> @NonNull Builder with(
public <V> @NonNull @This Builder with(
final @NonNull Key<V> key,
final @NonNull V value
) {