Class ArgumentPair<C,U,V,O>
java.lang.Object
cloud.commandframework.arguments.CommandArgument<C,O>
cloud.commandframework.arguments.compound.CompoundArgument<Pair<U,V>,C,O>
cloud.commandframework.arguments.compound.ArgumentPair<C,U,V,O>
- Type Parameters:
C
- Command sender typeU
- First argument typeV
- Second argument typeO
- Output type
- All Implemented Interfaces:
CloudKeyHolder<O>
,Comparable<CommandArgument<?,
?>>
A compound argument consisting of two inner arguments
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Nested classes/interfaces inherited from class cloud.commandframework.arguments.CommandArgument
CommandArgument.Builder<C,
T>, CommandArgument.TypedBuilder<C, T, B extends CommandArgument.Builder<C, T>> -
Constructor Summary
ModifierConstructorDescriptionprotected
ArgumentPair
(boolean required, @NonNull String name, @NonNull Pair<@NonNull String, @NonNull String> names, @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> types, @NonNull Pair<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>> parserPair, @NonNull BiFunction<@NonNull C, @NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper, @NonNull io.leangen.geantyref.TypeToken<O> valueType) Create a new argument pair. -
Method Summary
Modifier and TypeMethodDescriptionstatic <C,
U, V> @NonNull ArgumentPair.ArgumentPairIntermediaryBuilder<C, U, V> of
(@NonNull CommandManager<C> manager, @NonNull String name, @NonNull Pair<@NonNull String, @NonNull String> names, @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> types) Construct a builder for an argument pairMethods inherited from class cloud.commandframework.arguments.compound.CompoundArgument
getNames, getParserTuple, getTypes
Methods inherited from class cloud.commandframework.arguments.CommandArgument
addPreprocessor, compareTo, copy, equals, getDefaultDescription, getDefaultValue, getKey, getName, getOwningCommand, getParser, getSuggestionsProvider, getValueType, hasDefaultValue, hashCode, isArgumentRegistered, isRequired, ofType, ofType, preprocess, setArgumentRegistered, setOwningCommand, toString
-
Constructor Details
-
ArgumentPair
protected ArgumentPair(boolean required, @NonNull String name, @NonNull Pair<@NonNull String, @NonNull String> names, @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> types, @NonNull Pair<@NonNull ArgumentParser<C, U>, @NonNull ArgumentParser<C, V>> parserPair, @NonNull BiFunction<@NonNull C, @NonNull Pair<@NonNull U, @NonNull V>, @NonNull O> mapper, @NonNull io.leangen.geantyref.TypeToken<O> valueType) Create a new argument pair.- Parameters:
required
- Whether or not the argument is requiredname
- The argument namenames
- Names of the sub-arguments (in order)types
- Types of the sub-arguments (in order)parserPair
- The sub argumentsmapper
- Mapper that maps the sub-arguments to the output typevalueType
- The output type
-
-
Method Details
-
of
public static <C,U, @NonNull ArgumentPair.ArgumentPairIntermediaryBuilder<C,V> U, ofV> (@NonNull CommandManager<C> manager, @NonNull String name, @NonNull Pair<@NonNull String, @NonNull String> names, @NonNull Pair<@NonNull Class<U>, @NonNull Class<V>> types) Construct a builder for an argument pair- Type Parameters:
C
- Command sender typeU
- First parsed typeV
- Second parsed type- Parameters:
manager
- Command managername
- Argument namenames
- Sub-argument namestypes
- Pair containing the types of the sub-arguments. There must be parsers for these types registered in theParserRegistry
used by theCommandManager
- Returns:
- Intermediary builder
-