From c2b1ec8a118498a60dd83950afc2a3347fbd1c14 Mon Sep 17 00:00:00 2001 From: broccolai Date: Tue, 6 Oct 2020 18:58:21 +0100 Subject: [PATCH] Make compound argumnets constructor public and fix code style issue --- .../arguments/compound/ArgumentTriplet.java | 6 ++-- .../arguments/compound/CompoundArgument.java | 28 +++++++++++++------ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/compound/ArgumentTriplet.java b/cloud-core/src/main/java/cloud/commandframework/arguments/compound/ArgumentTriplet.java index 23fac6d6..25b13809 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/compound/ArgumentTriplet.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/compound/ArgumentTriplet.java @@ -170,9 +170,9 @@ public class ArgumentTriplet extends CompoundArgument @NonNull ArgumentTriplet withMapper(final @NonNull Class clazz, - final @NonNull BiFunction<@NonNull C, - @NonNull Triplet<@NonNull U, @NonNull V, - @NonNull W>, @NonNull O> mapper) { + final @NonNull BiFunction<@NonNull C, @NonNull Triplet< + @NonNull U, @NonNull V, @NonNull W>, + @NonNull O> mapper) { return new ArgumentTriplet<>(this.required, this.name, this.names, this.types, this.parserTriplet, mapper, TypeToken.get(clazz)); } diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/compound/CompoundArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/compound/CompoundArgument.java index 09fb0b1b..00c76002 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/compound/CompoundArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/compound/CompoundArgument.java @@ -49,14 +49,26 @@ public class CompoundArgument extends CommandArgument mapper, - final @NonNull Function<@NonNull Object[], @NonNull T> tupleFactory, - final @NonNull TypeToken valueType) { + /** + * Construct a Compound Argument + * + * @param required Whether or not the argument is required + * @param name The argument name + * @param names Names of the sub-arguments (in order) + * @param parserTuple The sub arguments + * @param types Types of the sub-arguments (in order) + * @param mapper Mapper that maps the sub-arguments to the output type + * @param tupleFactory Function to use when creating tuple + * @param valueType The output type + */ + public CompoundArgument(final boolean required, + final @NonNull String name, + final @NonNull Tuple names, + final @NonNull Tuple parserTuple, + final @NonNull Tuple types, + final @NonNull BiFunction<@NonNull C, @NonNull T, @NonNull O> mapper, + final @NonNull Function<@NonNull Object[], @NonNull T> tupleFactory, + final @NonNull TypeToken valueType) { super(required, name, new CompoundParser<>(parserTuple, mapper, tupleFactory),