Class EnumArgument<C,E extends java.lang.Enum<E>>
- java.lang.Object
-
- cloud.commandframework.arguments.CommandArgument<C,E>
-
- cloud.commandframework.arguments.standard.EnumArgument<C,E>
-
- Type Parameters:
C
- Argument senderE
- Enum type
- All Implemented Interfaces:
java.lang.Comparable<CommandArgument<?,?>>
public class EnumArgument<C,E extends java.lang.Enum<E>> extends CommandArgument<C,E>
Argument type that recognizes enums
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EnumArgument.Builder<C,E extends java.lang.Enum<E>>
static class
EnumArgument.EnumParseException
static class
EnumArgument.EnumParser<C,E extends java.lang.Enum<E>>
-
Constructor Summary
Constructors Modifier Constructor Description protected
EnumArgument(@NonNull java.lang.Class<E> enumClass, boolean required, @NonNull java.lang.String name, @NonNull java.lang.String defaultValue, @Nullable java.util.function.BiFunction<@NonNull CommandContext<C>,@NonNull java.lang.String,@NonNull java.util.List<@NonNull java.lang.String>> suggestionsProvider)
-
Method Summary
Modifier and Type Method Description static <C,E extends java.lang.Enum<E>>
@NonNull EnumArgument.Builder<C,E>newBuilder(@NonNull java.lang.Class<E> enumClass, @NonNull java.lang.String name)
Create a new builderstatic <C,E extends java.lang.Enum<E>>
@NonNull CommandArgument<C,E>of(@NonNull java.lang.Class<E> enumClass, @NonNull java.lang.String name)
Create a new required command argumentstatic <C,E extends java.lang.Enum<E>>
@NonNull CommandArgument<C,E>optional(@NonNull java.lang.Class<E> enumClass, @NonNull java.lang.String name)
Create a new optional command argumentstatic <C,E extends java.lang.Enum<E>>
@NonNull CommandArgument<C,E>optional(@NonNull java.lang.Class<E> enumClass, @NonNull java.lang.String name, @NonNull E defaultValue)
Create a new optional command argument with a default value-
Methods inherited from class cloud.commandframework.arguments.CommandArgument
addPreprocessor, compareTo, copy, equals, getDefaultValue, getName, getOwningCommand, getParser, getSuggestionsProvider, getValueType, hasDefaultValue, hashCode, isArgumentRegistered, isRequired, ofType, ofType, preprocess, setArgumentRegistered, setOwningCommand, toString
-
-
-
-
Constructor Detail
-
EnumArgument
protected EnumArgument(@NonNull java.lang.Class<E> enumClass, boolean required, @NonNull java.lang.String name, @NonNull java.lang.String defaultValue, @Nullable java.util.function.BiFunction<@NonNull CommandContext<C>,@NonNull java.lang.String,@NonNull java.util.List<@NonNull java.lang.String>> suggestionsProvider)
-
-
Method Detail
-
newBuilder
public static <C,E extends java.lang.Enum<E>> @NonNull EnumArgument.Builder<C,E> newBuilder(@NonNull java.lang.Class<E> enumClass, @NonNull java.lang.String name)
Create a new builder- Type Parameters:
C
- Command sender typeE
- Enum type- Parameters:
name
- Name of the argumentenumClass
- Enum class- Returns:
- Created builder
-
of
public static <C,E extends java.lang.Enum<E>> @NonNull CommandArgument<C,E> of(@NonNull java.lang.Class<E> enumClass, @NonNull java.lang.String name)
Create a new required command argument- Type Parameters:
C
- Command sender typeE
- Enum type- Parameters:
enumClass
- Enum classname
- Name of the argument- Returns:
- Created argument
-
optional
public static <C,E extends java.lang.Enum<E>> @NonNull CommandArgument<C,E> optional(@NonNull java.lang.Class<E> enumClass, @NonNull java.lang.String name)
Create a new optional command argument- Type Parameters:
C
- Command sender typeE
- Enum type- Parameters:
enumClass
- Enum classname
- Name of the argument- Returns:
- Created argument
-
optional
public static <C,E extends java.lang.Enum<E>> @NonNull CommandArgument<C,E> optional(@NonNull java.lang.Class<E> enumClass, @NonNull java.lang.String name, @NonNull E defaultValue)
Create a new optional command argument with a default value- Type Parameters:
C
- Command sender typeE
- Enum type- Parameters:
enumClass
- Enum classname
- Name of the argumentdefaultValue
- Default value- Returns:
- Created argument
-
-