From 99d388b70809c36e09de18161fd35a4fd4d58330 Mon Sep 17 00:00:00 2001 From: Jason <11360596+jpenilla@users.noreply.github.com> Date: Tue, 13 Dec 2022 08:54:54 -0700 Subject: [PATCH] Deprecate argument `newBuilder` methods and add `builder` methods to align with newer arguments (#419) --- README.md | 2 +- .../commandframework/CommandManager.java | 2 +- .../arguments/flags/CommandFlag.java | 15 +++++++ .../arguments/standard/BooleanArgument.java | 24 +++++++++-- .../arguments/standard/ByteArgument.java | 24 +++++++++-- .../arguments/standard/CharArgument.java | 26 ++++++++--- .../arguments/standard/DoubleArgument.java | 24 +++++++++-- .../arguments/standard/EnumArgument.java | 43 ++++++++++++++----- .../arguments/standard/FloatArgument.java | 24 +++++++++-- .../arguments/standard/IntegerArgument.java | 24 +++++++++-- .../arguments/standard/LongArgument.java | 26 ++++++++--- .../arguments/standard/ShortArgument.java | 26 ++++++++--- .../arguments/standard/StringArgument.java | 30 ++++++++++--- .../arguments/standard/UUIDArgument.java | 26 ++++++++--- ...ynchronousCommandExecutionCoordinator.java | 15 +++++++ .../CommandSuggestionsTest.java | 18 ++++---- .../commandframework/issue/Issue281.java | 2 +- .../jda/parsers/ChannelArgument.java | 25 +++++++++-- .../jda/parsers/RoleArgument.java | 25 +++++++++-- .../jda/parsers/UserArgument.java | 25 +++++++++-- .../pircbotx/arguments/UserArgument.java | 31 ++++++++++--- .../annotations/KotlinAnnotatedMethodsTest.kt | 2 +- .../coroutines/SuspendingHandlerTest.kt | 2 +- .../bukkit/parsers/EnchantmentArgument.java | 27 +++++++++--- .../bukkit/parsers/MaterialArgument.java | 27 +++++++++--- .../bukkit/parsers/OfflinePlayerArgument.java | 27 +++++++++--- .../bukkit/parsers/PlayerArgument.java | 27 +++++++++--- .../bukkit/parsers/WorldArgument.java | 27 +++++++++--- .../parsers/location/Location2DArgument.java | 37 ++++++++++------ .../parsers/location/LocationArgument.java | 37 ++++++++++------ .../bungee/arguments/PlayerArgument.java | 39 +++++++++++------ .../bungee/arguments/ServerArgument.java | 39 +++++++++++------ .../fabric/testmod/FabricClientExample.java | 2 +- .../fabric/testmod/FabricExample.java | 4 +- .../velocity/arguments/PlayerArgument.java | 39 +++++++++++------ .../velocity/arguments/ServerArgument.java | 39 +++++++++++------ .../examples/bukkit/ExamplePlugin.java | 2 +- .../examples/bukkit/Mc113.java | 2 +- .../examples/bungee/ExamplePlugin.java | 2 +- 39 files changed, 634 insertions(+), 204 deletions(-) diff --git a/README.md b/README.md index f3f0610d..344fd513 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Cloud allows for commands to be defined using builder patterns, like this: manager.command( manager.commandBuilder("command", Description.of("Test cloud command using a builder"), "alias") .argument(StringArgument.of("input")) - .argument(IntegerArgument.newBuilder("number").withMin(1).withMax(100).build()) + .argument(IntegerArgument.builder("number").withMin(1).withMax(100).build()) .handler(context -> { String input = context.get("input"); int number = context.get("number"); diff --git a/cloud-core/src/main/java/cloud/commandframework/CommandManager.java b/cloud-core/src/main/java/cloud/commandframework/CommandManager.java index 05483a90..41ec034c 100644 --- a/cloud-core/src/main/java/cloud/commandframework/CommandManager.java +++ b/cloud-core/src/main/java/cloud/commandframework/CommandManager.java @@ -873,7 +873,7 @@ public abstract class CommandManager { * @return Flag builder */ public CommandFlag.@NonNull Builder flagBuilder(final @NonNull String name) { - return CommandFlag.newBuilder(name); + return CommandFlag.builder(name); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/flags/CommandFlag.java b/cloud-core/src/main/java/cloud/commandframework/arguments/flags/CommandFlag.java index 3b892ccf..218db5c8 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/flags/CommandFlag.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/flags/CommandFlag.java @@ -71,12 +71,27 @@ public final class CommandFlag { this.mode = Objects.requireNonNull(mode, "mode cannot be null"); } + /** + * Create a new {@link Builder}. + * + * @param name flag name + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new flag builder * * @param name Flag name * @return Flag builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { return new Builder<>(name); } diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/BooleanArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/BooleanArgument.java index 8e1d29e8..acac58aa 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/BooleanArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/BooleanArgument.java @@ -63,15 +63,31 @@ public final class BooleanArgument extends CommandArgument { this.liberal = liberal; } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -82,7 +98,7 @@ public final class BooleanArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return BooleanArgument.newBuilder(name).asRequired().build(); + return BooleanArgument.builder(name).asRequired().build(); } /** @@ -93,7 +109,7 @@ public final class BooleanArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return BooleanArgument.newBuilder(name).asOptional().build(); + return BooleanArgument.builder(name).asOptional().build(); } /** @@ -108,7 +124,7 @@ public final class BooleanArgument extends CommandArgument { final @NonNull String name, final boolean defaultBoolean ) { - return BooleanArgument.newBuilder(name).asOptionalWithDefault(Boolean.toString(defaultBoolean)).build(); + return BooleanArgument.builder(name).asOptionalWithDefault(Boolean.toString(defaultBoolean)).build(); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/ByteArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/ByteArgument.java index 44634ef1..773761ef 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/ByteArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/ByteArgument.java @@ -64,12 +64,28 @@ public final class ByteArgument extends CommandArgument { /** * Create a new {@link Builder}. * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -80,7 +96,7 @@ public final class ByteArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return ByteArgument.newBuilder(name).asRequired().build(); + return ByteArgument.builder(name).asRequired().build(); } /** @@ -91,7 +107,7 @@ public final class ByteArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return ByteArgument.newBuilder(name).asOptional().build(); + return ByteArgument.builder(name).asOptional().build(); } /** @@ -106,7 +122,7 @@ public final class ByteArgument extends CommandArgument { final @NonNull String name, final byte defaultNum ) { - return ByteArgument.newBuilder(name).asOptionalWithDefault(defaultNum).build(); + return ByteArgument.builder(name).asOptionalWithDefault(defaultNum).build(); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/CharArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/CharArgument.java index d90f7b62..ec739d55 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/CharArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/CharArgument.java @@ -55,15 +55,31 @@ public final class CharArgument extends CommandArgument { super(required, name, new CharacterParser<>(), defaultValue, Character.class, suggestionsProvider, defaultDescription); } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ - public static CharArgument.@NonNull Builder newBuilder(final @NonNull String name) { - return new CharArgument.Builder<>(name); + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -74,7 +90,7 @@ public final class CharArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return CharArgument.newBuilder(name).asRequired().build(); + return CharArgument.builder(name).asRequired().build(); } /** @@ -85,7 +101,7 @@ public final class CharArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return CharArgument.newBuilder(name).asOptional().build(); + return CharArgument.builder(name).asOptional().build(); } /** @@ -100,7 +116,7 @@ public final class CharArgument extends CommandArgument { final @NonNull String name, final @NonNull String defaultNum ) { - return CharArgument.newBuilder(name).asOptionalWithDefault(defaultNum).build(); + return CharArgument.builder(name).asOptionalWithDefault(defaultNum).build(); } diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/DoubleArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/DoubleArgument.java index 084c51ed..a2966ea2 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/DoubleArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/DoubleArgument.java @@ -64,12 +64,28 @@ public final class DoubleArgument extends CommandArgument { /** * Create a new {@link Builder}. * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -80,7 +96,7 @@ public final class DoubleArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return DoubleArgument.newBuilder(name).asRequired().build(); + return DoubleArgument.builder(name).asRequired().build(); } /** @@ -91,7 +107,7 @@ public final class DoubleArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return DoubleArgument.newBuilder(name).asOptional().build(); + return DoubleArgument.builder(name).asOptional().build(); } /** @@ -106,7 +122,7 @@ public final class DoubleArgument extends CommandArgument { final @NonNull String name, final double defaultNum ) { - return DoubleArgument.newBuilder(name).asOptionalWithDefault(defaultNum).build(); + return DoubleArgument.builder(name).asOptionalWithDefault(defaultNum).build(); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/EnumArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/EnumArgument.java index 15404a14..578ae932 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/EnumArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/EnumArgument.java @@ -65,19 +65,40 @@ public class EnumArgument> extends CommandArgument { } /** - * Create a new builder + * Create a new {@link Builder}. * - * @param name Name of the argument - * @param enumClass Enum class - * @param Command sender type - * @param Enum type - * @return Created builder + * @param enumClass enum class + * @param name argument name + * @param sender type + * @param enum type + * @return new {@link Builder} + * @since 1.8.0 */ - public static > EnumArgument.@NonNull Builder newBuilder( + @API(status = API.Status.STABLE, since = "1.8.0") + public static > @NonNull Builder builder( final @NonNull Class enumClass, final @NonNull String name ) { - return new EnumArgument.Builder<>(name, enumClass); + return new Builder<>(name, enumClass); + } + + /** + * Create a new builder + * + * @param enumClass enum class + * @param name Name of the argument + * @param Command sender type + * @param enum type + * @return Created builder + * @deprecated prefer {@link #builder(Class, String)} + */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static > @NonNull Builder newBuilder( + final @NonNull Class enumClass, + final @NonNull String name + ) { + return builder(enumClass, name); } /** @@ -93,7 +114,7 @@ public class EnumArgument> extends CommandArgument { final @NonNull Class enumClass, final @NonNull String name ) { - return EnumArgument.newBuilder(enumClass, name).asRequired().build(); + return EnumArgument.builder(enumClass, name).asRequired().build(); } /** @@ -109,7 +130,7 @@ public class EnumArgument> extends CommandArgument { final @NonNull Class enumClass, final @NonNull String name ) { - return EnumArgument.newBuilder(enumClass, name).asOptional().build(); + return EnumArgument.builder(enumClass, name).asOptional().build(); } /** @@ -127,7 +148,7 @@ public class EnumArgument> extends CommandArgument { final @NonNull String name, final @NonNull E defaultValue ) { - return EnumArgument.newBuilder(enumClass, name).asOptionalWithDefault(defaultValue.name().toLowerCase()).build(); + return EnumArgument.builder(enumClass, name).asOptionalWithDefault(defaultValue.name().toLowerCase()).build(); } diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/FloatArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/FloatArgument.java index f4b5792d..70b0bf14 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/FloatArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/FloatArgument.java @@ -64,12 +64,28 @@ public final class FloatArgument extends CommandArgument { /** * Create a new {@link Builder}. * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -80,7 +96,7 @@ public final class FloatArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return FloatArgument.newBuilder(name).asRequired().build(); + return FloatArgument.builder(name).asRequired().build(); } /** @@ -91,7 +107,7 @@ public final class FloatArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return FloatArgument.newBuilder(name).asOptional().build(); + return FloatArgument.builder(name).asOptional().build(); } /** @@ -106,7 +122,7 @@ public final class FloatArgument extends CommandArgument { final @NonNull String name, final float defaultNum ) { - return FloatArgument.newBuilder(name).asOptionalWithDefault(defaultNum).build(); + return FloatArgument.builder(name).asOptionalWithDefault(defaultNum).build(); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/IntegerArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/IntegerArgument.java index 776eaf9c..31d1bf74 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/IntegerArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/IntegerArgument.java @@ -79,12 +79,28 @@ public final class IntegerArgument extends CommandArgument { /** * Create a new {@link Builder}. * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -95,7 +111,7 @@ public final class IntegerArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return IntegerArgument.newBuilder(name).asRequired().build(); + return IntegerArgument.builder(name).asRequired().build(); } /** @@ -106,7 +122,7 @@ public final class IntegerArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return IntegerArgument.newBuilder(name).asOptional().build(); + return IntegerArgument.builder(name).asOptional().build(); } /** @@ -118,7 +134,7 @@ public final class IntegerArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name, final int defaultNum) { - return IntegerArgument.newBuilder(name).asOptionalWithDefault(defaultNum).build(); + return IntegerArgument.builder(name).asOptionalWithDefault(defaultNum).build(); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/LongArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/LongArgument.java index d6f7a6ec..31579c3d 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/LongArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/LongArgument.java @@ -64,12 +64,28 @@ public final class LongArgument extends CommandArgument { /** * Create a new {@link Builder}. * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ - public static LongArgument.@NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -80,7 +96,7 @@ public final class LongArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return LongArgument.newBuilder(name).asRequired().build(); + return LongArgument.builder(name).asRequired().build(); } /** @@ -91,7 +107,7 @@ public final class LongArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return LongArgument.newBuilder(name).asOptional().build(); + return LongArgument.builder(name).asOptional().build(); } /** @@ -106,7 +122,7 @@ public final class LongArgument extends CommandArgument { final @NonNull String name, final long defaultNum ) { - return LongArgument.newBuilder(name).asOptionalWithDefault(defaultNum).build(); + return LongArgument.builder(name).asOptionalWithDefault(defaultNum).build(); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/ShortArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/ShortArgument.java index 79c3a4d8..1e8efda8 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/ShortArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/ShortArgument.java @@ -64,12 +64,28 @@ public final class ShortArgument extends CommandArgument { /** * Create a new {@link Builder}. * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ - public static ShortArgument.@NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -80,7 +96,7 @@ public final class ShortArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return ShortArgument.newBuilder(name).asRequired().build(); + return ShortArgument.builder(name).asRequired().build(); } /** @@ -91,7 +107,7 @@ public final class ShortArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return ShortArgument.newBuilder(name).asOptional().build(); + return ShortArgument.builder(name).asOptional().build(); } /** @@ -103,7 +119,7 @@ public final class ShortArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name, final short defaultNum) { - return ShortArgument.newBuilder(name).asOptionalWithDefault(defaultNum).build(); + return ShortArgument.builder(name).asOptionalWithDefault(defaultNum).build(); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/StringArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/StringArgument.java index 653a5903..674896f6 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/StringArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/StringArgument.java @@ -68,15 +68,31 @@ public final class StringArgument extends CommandArgument { this.stringMode = stringMode; } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ - public static StringArgument.@NonNull Builder newBuilder(final @NonNull String name) { - return new StringArgument.Builder<>(name); + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -87,7 +103,7 @@ public final class StringArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return StringArgument.newBuilder(name).single().asRequired().build(); + return StringArgument.builder(name).single().asRequired().build(); } /** @@ -102,7 +118,7 @@ public final class StringArgument extends CommandArgument { final @NonNull String name, final @NonNull StringMode stringMode ) { - return StringArgument.newBuilder(name).withMode(stringMode).asRequired().build(); + return StringArgument.builder(name).withMode(stringMode).asRequired().build(); } /** @@ -113,7 +129,7 @@ public final class StringArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return StringArgument.newBuilder(name).single().asOptional().build(); + return StringArgument.builder(name).single().asOptional().build(); } /** @@ -128,7 +144,7 @@ public final class StringArgument extends CommandArgument { final @NonNull String name, final @NonNull StringMode stringMode ) { - return StringArgument.newBuilder(name).withMode(stringMode).asOptional().build(); + return StringArgument.builder(name).withMode(stringMode).asOptional().build(); } /** @@ -143,7 +159,7 @@ public final class StringArgument extends CommandArgument { final @NonNull String name, final @NonNull String defaultString ) { - return StringArgument.newBuilder(name).asOptionalWithDefault(defaultString).build(); + return StringArgument.builder(name).asOptionalWithDefault(defaultString).build(); } /** diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/UUIDArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/UUIDArgument.java index 15e98c8c..40845538 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/standard/UUIDArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/standard/UUIDArgument.java @@ -56,15 +56,31 @@ public final class UUIDArgument extends CommandArgument { super(required, name, new UUIDParser<>(), defaultValue, UUID.class, suggestionsProvider, defaultDescription); } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * - * @param name Name of the component + * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -75,7 +91,7 @@ public final class UUIDArgument extends CommandArgument { * @return Created component */ public static @NonNull CommandArgument of(final @NonNull String name) { - return UUIDArgument.newBuilder(name).asRequired().build(); + return UUIDArgument.builder(name).asRequired().build(); } /** @@ -86,7 +102,7 @@ public final class UUIDArgument extends CommandArgument { * @return Created component */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return UUIDArgument.newBuilder(name).asOptional().build(); + return UUIDArgument.builder(name).asOptional().build(); } /** @@ -101,7 +117,7 @@ public final class UUIDArgument extends CommandArgument { final @NonNull String name, final @NonNull UUID defaultUUID ) { - return UUIDArgument.newBuilder(name).asOptionalWithDefault(defaultUUID.toString()).build(); + return UUIDArgument.builder(name).asOptionalWithDefault(defaultUUID.toString()).build(); } diff --git a/cloud-core/src/main/java/cloud/commandframework/execution/AsynchronousCommandExecutionCoordinator.java b/cloud-core/src/main/java/cloud/commandframework/execution/AsynchronousCommandExecutionCoordinator.java index e48f8d21..9100740e 100644 --- a/cloud-core/src/main/java/cloud/commandframework/execution/AsynchronousCommandExecutionCoordinator.java +++ b/cloud-core/src/main/java/cloud/commandframework/execution/AsynchronousCommandExecutionCoordinator.java @@ -64,12 +64,27 @@ public final class AsynchronousCommandExecutionCoordinator extends CommandExe this.commandManager = commandTree.getCommandManager(); } + /** + * Create a new {@link Builder} instance. + * + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder() { + return new Builder<>(); + } + /** * Create a new {@link Builder} instance * * @param Command sender type * @return Builder + * @deprecated prefer {@link #builder()} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder() { return new Builder<>(); } diff --git a/cloud-core/src/test/java/cloud/commandframework/CommandSuggestionsTest.java b/cloud-core/src/test/java/cloud/commandframework/CommandSuggestionsTest.java index c9a8e596..efcd45b5 100644 --- a/cloud-core/src/test/java/cloud/commandframework/CommandSuggestionsTest.java +++ b/cloud-core/src/test/java/cloud/commandframework/CommandSuggestionsTest.java @@ -53,18 +53,18 @@ public class CommandSuggestionsTest { manager.command(manager.commandBuilder("test").literal("two").build()); manager.command(manager.commandBuilder("test") .literal("var") - .argument(StringArgument.newBuilder("str") + .argument(StringArgument.builder("str") .withSuggestionsProvider((c, s) -> Arrays.asList("one", "two"))) .argument(EnumArgument.of(TestEnum.class, "enum"))); manager.command(manager.commandBuilder("test") .literal("comb") - .argument(StringArgument.newBuilder("str") + .argument(StringArgument.builder("str") .withSuggestionsProvider((c, s) -> Arrays.asList("one", "two"))) - .argument(IntegerArgument.newBuilder("num") + .argument(IntegerArgument.builder("num") .withMin(1).withMax(95).asOptional())); manager.command(manager.commandBuilder("test") .literal("alt") - .argument(IntegerArgument.newBuilder("num") + .argument(IntegerArgument.builder("num") .withSuggestionsProvider((c, s) -> Arrays.asList("3", "33", "333")))); manager.command(manager.commandBuilder("com") @@ -110,11 +110,11 @@ public class CommandSuggestionsTest { manager.command(manager.commandBuilder("numberswithfollowingargument").argument(IntegerArgument.of("num")) .argument(BooleanArgument.of("another_argument"))); manager.command(manager.commandBuilder("numberswithmin") - .argument(IntegerArgument.newBuilder("num").withMin(5).withMax(100))); + .argument(IntegerArgument.builder("num").withMin(5).withMax(100))); manager.command(manager.commandBuilder("partial") .argument( - StringArgument.newBuilder("arg") + StringArgument.builder("arg") .withSuggestionsProvider((contect, input) -> Arrays.asList("hi", "hey", "heya", "hai", "hello")) ) .literal("literal") @@ -122,7 +122,7 @@ public class CommandSuggestionsTest { manager.command(manager.commandBuilder("literal_with_variable") .argument( - StringArgument.newBuilder("arg") + StringArgument.builder("arg") .withSuggestionsProvider((context, input) -> Arrays.asList("veni", "vidi")).build() ) .literal("now")); @@ -453,7 +453,7 @@ public class CommandSuggestionsTest { manager.command( manager.commandBuilder("command") .argument( - StringArgument.newBuilder("string") + StringArgument.builder("string") .greedyFlagYielding() .withSuggestionsProvider((context, input) -> Collections.singletonList("hello")) .build() @@ -520,7 +520,7 @@ public class CommandSuggestionsTest { manager.command( manager.commandBuilder("command") .argument( - StringArgument.newBuilder("string") + StringArgument.builder("string") .greedyFlagYielding() .withSuggestionsProvider((context, input) -> Collections.singletonList("hello")) .build() diff --git a/cloud-core/src/test/java/cloud/commandframework/issue/Issue281.java b/cloud-core/src/test/java/cloud/commandframework/issue/Issue281.java index 5b27b73a..9c16be54 100644 --- a/cloud-core/src/test/java/cloud/commandframework/issue/Issue281.java +++ b/cloud-core/src/test/java/cloud/commandframework/issue/Issue281.java @@ -47,7 +47,7 @@ class Issue281 { void commandExceptionShouldNotBeSwallowed() { // Arrange final CommandManager commandManager = new CommandManager( - AsynchronousCommandExecutionCoordinator.newBuilder().withSynchronousParsing().build(), + AsynchronousCommandExecutionCoordinator.builder().withSynchronousParsing().build(), CommandRegistrationHandler.nullCommandRegistrationHandler() ) { @Override diff --git a/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/ChannelArgument.java b/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/ChannelArgument.java index 29531357..c8301cfc 100644 --- a/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/ChannelArgument.java +++ b/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/ChannelArgument.java @@ -37,6 +37,7 @@ import java.util.function.BiFunction; import net.dv8tion.jda.api.entities.MessageChannel; import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import org.apiguardian.api.API; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.jetbrains.annotations.NotNull; @@ -72,15 +73,31 @@ public final class ChannelArgument extends CommandArgument this.modes = modes; } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * - * @param name Name of the component + * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -91,7 +108,7 @@ public final class ChannelArgument extends CommandArgument * @return Created component */ public static @NonNull CommandArgument of(final @NonNull String name) { - return ChannelArgument.newBuilder(name).asRequired().build(); + return ChannelArgument.builder(name).asRequired().build(); } /** @@ -102,7 +119,7 @@ public final class ChannelArgument extends CommandArgument * @return Created component */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return ChannelArgument.newBuilder(name).asOptional().build(); + return ChannelArgument.builder(name).asOptional().build(); } /** diff --git a/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/RoleArgument.java b/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/RoleArgument.java index 8a7fcba0..86031dff 100644 --- a/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/RoleArgument.java +++ b/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/RoleArgument.java @@ -36,6 +36,7 @@ import java.util.Set; import java.util.function.BiFunction; import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import org.apiguardian.api.API; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.jetbrains.annotations.NotNull; @@ -63,15 +64,31 @@ public final class RoleArgument extends CommandArgument { this.modes = modes; } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * - * @param name Name of the component + * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -82,7 +99,7 @@ public final class RoleArgument extends CommandArgument { * @return Created component */ public static @NonNull CommandArgument of(final @NonNull String name) { - return RoleArgument.newBuilder(name).asRequired().build(); + return RoleArgument.builder(name).asRequired().build(); } /** @@ -93,7 +110,7 @@ public final class RoleArgument extends CommandArgument { * @return Created component */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return RoleArgument.newBuilder(name).asOptional().build(); + return RoleArgument.builder(name).asOptional().build(); } /** diff --git a/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/UserArgument.java b/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/UserArgument.java index 36037432..a2ebf3b6 100644 --- a/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/UserArgument.java +++ b/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/UserArgument.java @@ -39,6 +39,7 @@ import java.util.stream.Collectors; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import org.apiguardian.api.API; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.jetbrains.annotations.NotNull; @@ -78,15 +79,31 @@ public final class UserArgument extends CommandArgument { this.isolationLevel = isolationLevel; } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * - * @param name Name of the component + * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -97,7 +114,7 @@ public final class UserArgument extends CommandArgument { * @return Created component */ public static @NonNull CommandArgument of(final @NonNull String name) { - return UserArgument.newBuilder(name).withParserMode(ParserMode.MENTION).asRequired().build(); + return UserArgument.builder(name).withParserMode(ParserMode.MENTION).asRequired().build(); } /** @@ -108,7 +125,7 @@ public final class UserArgument extends CommandArgument { * @return Created component */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return UserArgument.newBuilder(name).withParserMode(ParserMode.MENTION).asOptional().build(); + return UserArgument.builder(name).withParserMode(ParserMode.MENTION).asOptional().build(); } /** diff --git a/cloud-irc/cloud-pircbotx/src/main/java/cloud/commandframework/pircbotx/arguments/UserArgument.java b/cloud-irc/cloud-pircbotx/src/main/java/cloud/commandframework/pircbotx/arguments/UserArgument.java index 2e7b6bea..6c23c3eb 100644 --- a/cloud-irc/cloud-pircbotx/src/main/java/cloud/commandframework/pircbotx/arguments/UserArgument.java +++ b/cloud-irc/cloud-pircbotx/src/main/java/cloud/commandframework/pircbotx/arguments/UserArgument.java @@ -36,6 +36,7 @@ import io.leangen.geantyref.TypeToken; import java.util.List; import java.util.Queue; import java.util.function.BiFunction; +import org.apiguardian.api.API; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.pircbotx.PircBotX; @@ -70,16 +71,32 @@ public final class UserArgument extends CommandArgument { } /** - * Create a new user argument builder + * Create a new {@link Builder}. * - * @param name Argument name - * @param Command sender type - * @return Builder instance + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 */ - public static @NonNull Builder newBuilder(final @NonNull String name) { + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { return new Builder<>(name); } + /** + * Create a new builder + * + * @param name Name of the argument + * @param Command sender type + * @return Created builder + * @deprecated prefer {@link #builder(String)} + */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); + } + /** * Create a new required user argument * @@ -88,7 +105,7 @@ public final class UserArgument extends CommandArgument { * @return Argument instance */ public static @NonNull CommandArgument of(final @NonNull String name) { - return UserArgument.newBuilder(name).asRequired().build(); + return UserArgument.builder(name).asRequired().build(); } /** @@ -99,7 +116,7 @@ public final class UserArgument extends CommandArgument { * @return Argument instance */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return UserArgument.newBuilder(name).asOptional().build(); + return UserArgument.builder(name).asOptional().build(); } diff --git a/cloud-kotlin/cloud-kotlin-coroutines-annotations/src/test/kotlin/cloud/commandframework/kotlin/coroutines/annotations/KotlinAnnotatedMethodsTest.kt b/cloud-kotlin/cloud-kotlin-coroutines-annotations/src/test/kotlin/cloud/commandframework/kotlin/coroutines/annotations/KotlinAnnotatedMethodsTest.kt index bf6f5c95..fd3f974a 100644 --- a/cloud-kotlin/cloud-kotlin-coroutines-annotations/src/test/kotlin/cloud/commandframework/kotlin/coroutines/annotations/KotlinAnnotatedMethodsTest.kt +++ b/cloud-kotlin/cloud-kotlin-coroutines-annotations/src/test/kotlin/cloud/commandframework/kotlin/coroutines/annotations/KotlinAnnotatedMethodsTest.kt @@ -87,7 +87,7 @@ class KotlinAnnotatedMethodsTest { private class TestCommandSender private class TestCommandManager : CommandManager( - AsynchronousCommandExecutionCoordinator.newBuilder() + AsynchronousCommandExecutionCoordinator.builder() .withExecutor(executorService) .build(), CommandRegistrationHandler.nullCommandRegistrationHandler() diff --git a/cloud-kotlin/cloud-kotlin-coroutines/src/test/kotlin/cloud/commandframework/kotlin/coroutines/SuspendingHandlerTest.kt b/cloud-kotlin/cloud-kotlin-coroutines/src/test/kotlin/cloud/commandframework/kotlin/coroutines/SuspendingHandlerTest.kt index ecde25a4..1a8342db 100644 --- a/cloud-kotlin/cloud-kotlin-coroutines/src/test/kotlin/cloud/commandframework/kotlin/coroutines/SuspendingHandlerTest.kt +++ b/cloud-kotlin/cloud-kotlin-coroutines/src/test/kotlin/cloud/commandframework/kotlin/coroutines/SuspendingHandlerTest.kt @@ -62,7 +62,7 @@ class SuspendingHandlerTest { private class TestCommandSender private class TestCommandManager : CommandManager( - AsynchronousCommandExecutionCoordinator.newBuilder() + AsynchronousCommandExecutionCoordinator.builder() .withExecutor(executorService) .build(), CommandRegistrationHandler.nullCommandRegistrationHandler() diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/EnchantmentArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/EnchantmentArgument.java index 468d426a..110b2cb6 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/EnchantmentArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/EnchantmentArgument.java @@ -36,6 +36,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Queue; import java.util.function.BiFunction; +import org.apiguardian.api.API; import org.bukkit.NamespacedKey; import org.bukkit.enchantments.Enchantment; import org.checkerframework.checker.nullness.qual.NonNull; @@ -67,15 +68,31 @@ public class EnchantmentArgument extends CommandArgument { ); } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new EnchantmentArgument.Builder<>(name); + } + /** * Create a new builder * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ - public static EnchantmentArgument.@NonNull Builder newBuilder(final @NonNull String name) { - return new EnchantmentArgument.Builder<>(name); + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -86,7 +103,7 @@ public class EnchantmentArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return EnchantmentArgument.newBuilder(name).asRequired().build(); + return EnchantmentArgument.builder(name).asRequired().build(); } /** @@ -97,7 +114,7 @@ public class EnchantmentArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return EnchantmentArgument.newBuilder(name).asOptional().build(); + return EnchantmentArgument.builder(name).asOptional().build(); } /** @@ -112,7 +129,7 @@ public class EnchantmentArgument extends CommandArgument { final @NonNull String name, final @NonNull Enchantment enchantment ) { - return EnchantmentArgument.newBuilder(name).asOptionalWithDefault(enchantment.getKey().toString()).build(); + return EnchantmentArgument.builder(name).asOptionalWithDefault(enchantment.getKey().toString()).build(); } public static final class Builder extends CommandArgument.Builder { diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/MaterialArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/MaterialArgument.java index 74b7b91a..1d7fb70d 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/MaterialArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/MaterialArgument.java @@ -36,6 +36,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Queue; import java.util.function.BiFunction; +import org.apiguardian.api.API; import org.bukkit.Material; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; @@ -58,15 +59,31 @@ public class MaterialArgument extends CommandArgument { super(required, name, new MaterialParser<>(), defaultValue, Material.class, suggestionsProvider, defaultDescription); } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ - public static MaterialArgument.@NonNull Builder newBuilder(final @NonNull String name) { - return new MaterialArgument.Builder<>(name); + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -77,7 +94,7 @@ public class MaterialArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return MaterialArgument.newBuilder(name).asRequired().build(); + return MaterialArgument.builder(name).asRequired().build(); } /** @@ -88,7 +105,7 @@ public class MaterialArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return MaterialArgument.newBuilder(name).asOptional().build(); + return MaterialArgument.builder(name).asOptional().build(); } /** @@ -103,7 +120,7 @@ public class MaterialArgument extends CommandArgument { final @NonNull String name, final @NonNull Material material ) { - return MaterialArgument.newBuilder(name).asOptionalWithDefault(material.name().toLowerCase()).build(); + return MaterialArgument.builder(name).asOptionalWithDefault(material.name().toLowerCase()).build(); } public static final class Builder extends CommandArgument.Builder { diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/OfflinePlayerArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/OfflinePlayerArgument.java index 97e66fc9..823efc23 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/OfflinePlayerArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/OfflinePlayerArgument.java @@ -37,6 +37,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Queue; import java.util.function.BiFunction; +import org.apiguardian.api.API; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.command.CommandSender; @@ -74,15 +75,31 @@ public final class OfflinePlayerArgument extends CommandArgument sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * - * @param name Name of the component + * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -93,7 +110,7 @@ public final class OfflinePlayerArgument extends CommandArgument @NonNull CommandArgument of(final @NonNull String name) { - return OfflinePlayerArgument.newBuilder(name).asRequired().build(); + return OfflinePlayerArgument.builder(name).asRequired().build(); } /** @@ -104,7 +121,7 @@ public final class OfflinePlayerArgument extends CommandArgument @NonNull CommandArgument optional(final @NonNull String name) { - return OfflinePlayerArgument.newBuilder(name).asOptional().build(); + return OfflinePlayerArgument.builder(name).asOptional().build(); } /** @@ -119,7 +136,7 @@ public final class OfflinePlayerArgument extends CommandArgumentnewBuilder(name).asOptionalWithDefault(defaultPlayer).build(); + return OfflinePlayerArgument.builder(name).asOptionalWithDefault(defaultPlayer).build(); } diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/PlayerArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/PlayerArgument.java index e8b5d84a..0102d11d 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/PlayerArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/PlayerArgument.java @@ -37,6 +37,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Queue; import java.util.function.BiFunction; +import org.apiguardian.api.API; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -62,15 +63,31 @@ public final class PlayerArgument extends CommandArgument { super(required, name, new PlayerParser<>(), defaultValue, Player.class, suggestionsProvider, defaultDescription); } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * - * @param name Name of the component + * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated public static @NonNull Builder newBuilder(final @NonNull String name) { - return new Builder<>(name); + return builder(name); } /** @@ -81,7 +98,7 @@ public final class PlayerArgument extends CommandArgument { * @return Created component */ public static @NonNull CommandArgument of(final @NonNull String name) { - return PlayerArgument.newBuilder(name).asRequired().build(); + return PlayerArgument.builder(name).asRequired().build(); } /** @@ -92,7 +109,7 @@ public final class PlayerArgument extends CommandArgument { * @return Created component */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return PlayerArgument.newBuilder(name).asOptional().build(); + return PlayerArgument.builder(name).asOptional().build(); } /** @@ -107,7 +124,7 @@ public final class PlayerArgument extends CommandArgument { final @NonNull String name, final @NonNull String defaultPlayer ) { - return PlayerArgument.newBuilder(name).asOptionalWithDefault(defaultPlayer).build(); + return PlayerArgument.builder(name).asOptionalWithDefault(defaultPlayer).build(); } diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/WorldArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/WorldArgument.java index 933ecc46..3465ab37 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/WorldArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/WorldArgument.java @@ -36,6 +36,7 @@ import java.util.List; import java.util.Queue; import java.util.function.BiFunction; import java.util.stream.Collectors; +import org.apiguardian.api.API; import org.bukkit.Bukkit; import org.bukkit.World; import org.checkerframework.checker.nullness.qual.NonNull; @@ -58,15 +59,31 @@ public class WorldArgument extends CommandArgument { super(required, name, new WorldParser<>(), defaultValue, World.class, suggestionsProvider, defaultDescription); } + /** + * Create a new {@link Builder}. + * + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + /** * Create a new builder * * @param name Name of the argument * @param Command sender type * @return Created builder + * @deprecated prefer {@link #builder(String)} */ - public static CommandArgument.@NonNull Builder newBuilder(final @NonNull String name) { - return new WorldArgument.Builder<>(name); + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -77,7 +94,7 @@ public class WorldArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument of(final @NonNull String name) { - return WorldArgument.newBuilder(name).asRequired().build(); + return WorldArgument.builder(name).asRequired().build(); } /** @@ -88,7 +105,7 @@ public class WorldArgument extends CommandArgument { * @return Created argument */ public static @NonNull CommandArgument optional(final @NonNull String name) { - return WorldArgument.newBuilder(name).asOptional().build(); + return WorldArgument.builder(name).asOptional().build(); } /** @@ -103,7 +120,7 @@ public class WorldArgument extends CommandArgument { final @NonNull String name, final @NonNull String defaultValue ) { - return WorldArgument.newBuilder(name).asOptionalWithDefault(defaultValue).build(); + return WorldArgument.builder(name).asOptionalWithDefault(defaultValue).build(); } diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/Location2DArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/Location2DArgument.java index 12ac6d25..ffaaaef0 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/Location2DArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/Location2DArgument.java @@ -36,6 +36,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.function.BiFunction; +import org.apiguardian.api.API; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.command.BlockCommandSender; @@ -76,18 +77,32 @@ public final class Location2DArgument extends CommandArgument } /** - * Create a new argument builder + * Create a new {@link Builder}. * - * @param name Argument name - * @param Command sender type - * @return Builder instance + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 */ - public static @NonNull Builder newBuilder( - final @NonNull String name - ) { + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { return new Builder<>(name); } + /** + * Create a new builder + * + * @param name Name of the argument + * @param Command sender type + * @return Created builder + * @deprecated prefer {@link #builder(String)} + */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); + } + /** * Create a new required argument * @@ -98,9 +113,7 @@ public final class Location2DArgument extends CommandArgument public static @NonNull CommandArgument of( final @NonNull String name ) { - return Location2DArgument.newBuilder( - name - ).asRequired().build(); + return Location2DArgument.builder(name).asRequired().build(); } /** @@ -113,9 +126,7 @@ public final class Location2DArgument extends CommandArgument public static @NonNull CommandArgument optional( final @NonNull String name ) { - return Location2DArgument.newBuilder( - name - ).asOptional().build(); + return Location2DArgument.builder(name).asOptional().build(); } diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/LocationArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/LocationArgument.java index e79a87d4..8904c46e 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/LocationArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/LocationArgument.java @@ -41,6 +41,7 @@ import java.util.List; import java.util.Queue; import java.util.function.BiFunction; import java.util.stream.Collectors; +import org.apiguardian.api.API; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.command.BlockCommandSender; @@ -81,18 +82,32 @@ public final class LocationArgument extends CommandArgument { } /** - * Create a new argument builder + * Create a new {@link Builder}. * - * @param name Argument name - * @param Command sender type - * @return Builder instance + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 */ - public static @NonNull Builder newBuilder( - final @NonNull String name - ) { + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { return new Builder<>(name); } + /** + * Create a new builder + * + * @param name Name of the argument + * @param Command sender type + * @return Created builder + * @deprecated prefer {@link #builder(String)} + */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); + } + /** * Create a new required argument * @@ -103,9 +118,7 @@ public final class LocationArgument extends CommandArgument { public static @NonNull CommandArgument of( final @NonNull String name ) { - return LocationArgument.newBuilder( - name - ).asRequired().build(); + return LocationArgument.builder(name).asRequired().build(); } /** @@ -118,9 +131,7 @@ public final class LocationArgument extends CommandArgument { public static @NonNull CommandArgument optional( final @NonNull String name ) { - return LocationArgument.newBuilder( - name - ).asOptional().build(); + return LocationArgument.builder(name).asOptional().build(); } diff --git a/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/arguments/PlayerArgument.java b/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/arguments/PlayerArgument.java index 31b2a853..2adbd85e 100644 --- a/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/arguments/PlayerArgument.java +++ b/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/arguments/PlayerArgument.java @@ -41,6 +41,7 @@ import java.util.function.BiFunction; import java.util.stream.Collectors; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.connection.ProxiedPlayer; +import org.apiguardian.api.API; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; @@ -74,20 +75,30 @@ public final class PlayerArgument extends CommandArgument { } /** - * Create a new argument builder + * Create a new {@link Builder}. * - * @param name Argument name + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 + */ + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * + * @param name Name of the argument * @param Command sender type - * @return Constructed builder - **/ - public static CommandArgument.@NonNull Builder newBuilder( - final @NonNull String name - ) { - return new Builder( - name - ).withParser( - new PlayerParser<>() - ); + * @return Created builder + * @deprecated prefer {@link #builder(String)} + */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -100,7 +111,7 @@ public final class PlayerArgument extends CommandArgument { public static CommandArgument of( final @NonNull String name ) { - return PlayerArgument.newBuilder(name).asRequired().build(); + return PlayerArgument.builder(name).asRequired().build(); } /** @@ -113,7 +124,7 @@ public final class PlayerArgument extends CommandArgument { public static CommandArgument optional( final @NonNull String name ) { - return PlayerArgument.newBuilder(name).asOptional().build(); + return PlayerArgument.builder(name).asOptional().build(); } diff --git a/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/arguments/ServerArgument.java b/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/arguments/ServerArgument.java index 495f274b..10eec1e8 100644 --- a/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/arguments/ServerArgument.java +++ b/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/arguments/ServerArgument.java @@ -41,6 +41,7 @@ import java.util.Queue; import java.util.function.BiFunction; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.config.ServerInfo; +import org.apiguardian.api.API; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; @@ -74,20 +75,30 @@ public final class ServerArgument extends CommandArgument { } /** - * Create a new argument builder + * Create a new {@link Builder}. * - * @param name Argument name - * @param Command sender type - * @return Constructed builder + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 */ - public static CommandArgument.@NonNull Builder newBuilder( - final @NonNull String name - ) { - return new Builder( - name - ).withParser( - new ServerParser<>() - ); + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * + * @param name Name of the argument + * @param Command sender type + * @return Created builder + * @deprecated prefer {@link #builder(String)} + */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -100,7 +111,7 @@ public final class ServerArgument extends CommandArgument { public static @NonNull CommandArgument of( final @NonNull String name ) { - return ServerArgument.newBuilder(name).asRequired().build(); + return ServerArgument.builder(name).asRequired().build(); } /** @@ -113,7 +124,7 @@ public final class ServerArgument extends CommandArgument { public static @NonNull CommandArgument optional( final @NonNull String name ) { - return ServerArgument.newBuilder(name).asOptional().build(); + return ServerArgument.builder(name).asOptional().build(); } public static final class Builder extends CommandArgument.Builder { diff --git a/cloud-minecraft/cloud-fabric/src/testmod/java/cloud/commandframework/fabric/testmod/FabricClientExample.java b/cloud-minecraft/cloud-fabric/src/testmod/java/cloud/commandframework/fabric/testmod/FabricClientExample.java index 204da7a0..b1f229e0 100644 --- a/cloud-minecraft/cloud-fabric/src/testmod/java/cloud/commandframework/fabric/testmod/FabricClientExample.java +++ b/cloud-minecraft/cloud-fabric/src/testmod/java/cloud/commandframework/fabric/testmod/FabricClientExample.java @@ -129,7 +129,7 @@ public final class FabricClientExample implements ClientModInitializer { commandManager.command(base.literal("flag_test") .argument(StringArgument.optional("parameter")) - .flag(CommandFlag.newBuilder("flag").withAliases("f")) + .flag(CommandFlag.builder("flag").withAliases("f")) .handler(ctx -> ctx.getSender().sendFeedback(Component.literal("Had flag: " + ctx.flags().isPresent("flag"))))); } diff --git a/cloud-minecraft/cloud-fabric/src/testmod/java/cloud/commandframework/fabric/testmod/FabricExample.java b/cloud-minecraft/cloud-fabric/src/testmod/java/cloud/commandframework/fabric/testmod/FabricExample.java index 817ea622..9fac3739 100644 --- a/cloud-minecraft/cloud-fabric/src/testmod/java/cloud/commandframework/fabric/testmod/FabricExample.java +++ b/cloud-minecraft/cloud-fabric/src/testmod/java/cloud/commandframework/fabric/testmod/FabricExample.java @@ -78,7 +78,7 @@ public final class FabricExample implements ModInitializer { final Command.Builder base = manager.commandBuilder("cloudtest"); final CommandArgument name = StringArgument.of("name"); - final CommandArgument hugs = IntegerArgument.newBuilder("hugs") + final CommandArgument hugs = IntegerArgument.builder("hugs") .asOptionalWithDefault("1") .build(); @@ -148,7 +148,7 @@ public final class FabricExample implements ModInitializer { .permission("cloud.give") .argument(MultiplePlayerSelectorArgument.of("targets")) .argument(ItemInputArgument.of("item")) - .argument(IntegerArgument.newBuilder("amount") + .argument(IntegerArgument.builder("amount") .withMin(1) .asOptionalWithDefault("1")) .handler(ctx -> { diff --git a/cloud-minecraft/cloud-velocity/src/main/java/cloud/commandframework/velocity/arguments/PlayerArgument.java b/cloud-minecraft/cloud-velocity/src/main/java/cloud/commandframework/velocity/arguments/PlayerArgument.java index 9edd4f42..b486857b 100644 --- a/cloud-minecraft/cloud-velocity/src/main/java/cloud/commandframework/velocity/arguments/PlayerArgument.java +++ b/cloud-minecraft/cloud-velocity/src/main/java/cloud/commandframework/velocity/arguments/PlayerArgument.java @@ -41,6 +41,7 @@ import java.util.List; import java.util.Queue; import java.util.function.BiFunction; import java.util.stream.Collectors; +import org.apiguardian.api.API; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; @@ -74,20 +75,30 @@ public final class PlayerArgument extends CommandArgument { } /** - * Create a new argument builder + * Create a new {@link Builder}. * - * @param name Argument name - * @param Command sender type - * @return Constructed builder + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 */ - public static CommandArgument.@NonNull Builder newBuilder( - final @NonNull String name - ) { - return new Builder( - name - ).withParser( - new PlayerParser<>() - ); + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * + * @param name Name of the argument + * @param Command sender type + * @return Created builder + * @deprecated prefer {@link #builder(String)} + */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -100,7 +111,7 @@ public final class PlayerArgument extends CommandArgument { public static @NonNull CommandArgument of( final @NonNull String name ) { - return PlayerArgument.newBuilder(name).asRequired().build(); + return PlayerArgument.builder(name).asRequired().build(); } /** @@ -113,7 +124,7 @@ public final class PlayerArgument extends CommandArgument { public static @NonNull CommandArgument optional( final @NonNull String name ) { - return PlayerArgument.newBuilder(name).asOptional().build(); + return PlayerArgument.builder(name).asOptional().build(); } diff --git a/cloud-minecraft/cloud-velocity/src/main/java/cloud/commandframework/velocity/arguments/ServerArgument.java b/cloud-minecraft/cloud-velocity/src/main/java/cloud/commandframework/velocity/arguments/ServerArgument.java index dfa104f2..aa61b995 100644 --- a/cloud-minecraft/cloud-velocity/src/main/java/cloud/commandframework/velocity/arguments/ServerArgument.java +++ b/cloud-minecraft/cloud-velocity/src/main/java/cloud/commandframework/velocity/arguments/ServerArgument.java @@ -41,6 +41,7 @@ import java.util.List; import java.util.Queue; import java.util.function.BiFunction; import java.util.stream.Collectors; +import org.apiguardian.api.API; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; @@ -74,20 +75,30 @@ public final class ServerArgument extends CommandArgument Command sender type - * @return Constructed builder + * @param name argument name + * @param sender type + * @return new {@link Builder} + * @since 1.8.0 */ - public static CommandArgument.@NonNull Builder newBuilder( - final @NonNull String name - ) { - return new Builder( - name - ).withParser( - new ServerParser<>() - ); + @API(status = API.Status.STABLE, since = "1.8.0") + public static @NonNull Builder builder(final @NonNull String name) { + return new Builder<>(name); + } + + /** + * Create a new builder + * + * @param name Name of the argument + * @param Command sender type + * @return Created builder + * @deprecated prefer {@link #builder(String)} + */ + @API(status = API.Status.DEPRECATED, since = "1.8.0") + @Deprecated + public static @NonNull Builder newBuilder(final @NonNull String name) { + return builder(name); } /** @@ -100,7 +111,7 @@ public final class ServerArgument extends CommandArgument @NonNull CommandArgument of( final @NonNull String name ) { - return ServerArgument.newBuilder(name).asRequired().build(); + return ServerArgument.builder(name).asRequired().build(); } /** @@ -111,7 +122,7 @@ public final class ServerArgument extends CommandArgument @NonNull CommandArgument optional(final @NonNull String name) { - return ServerArgument.newBuilder(name).asOptional().build(); + return ServerArgument.builder(name).asOptional().build(); } public static final class Builder extends CommandArgument.Builder { diff --git a/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/ExamplePlugin.java b/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/ExamplePlugin.java index 1e36adea..37bf1a49 100644 --- a/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/ExamplePlugin.java +++ b/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/ExamplePlugin.java @@ -124,7 +124,7 @@ public final class ExamplePlugin extends JavaPlugin { // asynchronously // final Function, CommandExecutionCoordinator> executionCoordinatorFunction = - AsynchronousCommandExecutionCoordinator.newBuilder().build(); + AsynchronousCommandExecutionCoordinator.builder().build(); // // However, in many cases it is fine for to run everything synchronously: // diff --git a/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/Mc113.java b/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/Mc113.java index eaf3c7c0..c2b96813 100644 --- a/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/Mc113.java +++ b/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/Mc113.java @@ -61,7 +61,7 @@ final class Mc113 { .argument(BlockPredicateArgument.of("predicate")) .literal("with") .argument(MaterialArgument.of("block")) // todo: use BlockDataArgument - .argument(IntegerArgument.newBuilder("radius").withMin(1)) + .argument(IntegerArgument.builder("radius").withMin(1)) .handler(this::executeReplace)); this.manager.command(builder.literal("test_item") diff --git a/examples/example-bungee/src/main/java/cloud/commandframework/examples/bungee/ExamplePlugin.java b/examples/example-bungee/src/main/java/cloud/commandframework/examples/bungee/ExamplePlugin.java index 20c9c612..60fe053d 100644 --- a/examples/example-bungee/src/main/java/cloud/commandframework/examples/bungee/ExamplePlugin.java +++ b/examples/example-bungee/src/main/java/cloud/commandframework/examples/bungee/ExamplePlugin.java @@ -57,7 +57,7 @@ public final class ExamplePlugin extends Plugin { @Override public void onEnable() { final Function, CommandExecutionCoordinator> executionCoordinatorFunction = - AsynchronousCommandExecutionCoordinator.newBuilder().build(); + AsynchronousCommandExecutionCoordinator.builder().build(); final Function mapperFunction = Function.identity();