Class EnumArgument<C,​E extends java.lang.Enum<E>>

  • Type Parameters:
    C - Argument sender
    E - 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
    • 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 type
        E - Enum type
        Parameters:
        name - Name of the argument
        enumClass - 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 type
        E - Enum type
        Parameters:
        enumClass - Enum class
        name - 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 type
        E - Enum type
        Parameters:
        enumClass - Enum class
        name - 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 type
        E - Enum type
        Parameters:
        enumClass - Enum class
        name - Name of the argument
        defaultValue - Default value
        Returns:
        Created argument