Class CommandArgument.Builder<C,​T>

    • Constructor Detail

      • Builder

        protected Builder​(@NonNull io.leangen.geantyref.TypeToken<T> valueType,
                          @NonNull java.lang.String name)
      • Builder

        protected Builder​(@NonNull java.lang.Class<T> valueType,
                          @NonNull java.lang.String name)
    • Method Detail

      • manager

        public @NonNull CommandArgument.Builder<@NonNull C,​@NonNull T> manager​(@NonNull CommandManager<C> manager)
        Set the command manager. Will be used to create a default parser if none was provided
        Parameters:
        manager - Command manager
        Returns:
        Builder instance
      • asRequired

        public @NonNull CommandArgument.Builder<@NonNull C,​@NonNull T> asRequired()
        Indicates that the argument is required. All arguments prior to any other required argument must also be required, such that the predicate (∀ c_i ∈ required)({c_0, ..., c_i-1} ⊂ required) holds true, where {c_0, ..., c_n-1} is the set of command arguments.
        Returns:
        Builder instance
      • asOptional

        public @NonNull CommandArgument.Builder<@NonNull C,​@NonNull T> asOptional()
        Indicates that the argument is optional. All arguments prior to any other required argument must also be required, such that the predicate (∀ c_i ∈ required)({c_0, ..., c_i-1} ⊂ required) holds true, where {c_0, ..., c_n-1} is the set of command arguments.
        Returns:
        Builder instance
      • asOptionalWithDefault

        public @NonNull CommandArgument.Builder<@NonNull C,​@NonNull T> asOptionalWithDefault​(@NonNull java.lang.String defaultValue)
        Indicates that the argument is optional. All arguments prior to any other required argument must also be required, such that the predicate (∀ c_i ∈ required)({c_0, ..., c_i-1} ⊂ required) holds true, where {c_0, ..., c_n-1} is the set of command arguments.
        Parameters:
        defaultValue - Default value that will be used if none was supplied
        Returns:
        Builder instance
      • withParser

        public @NonNull CommandArgument.Builder<@NonNull C,​@NonNull T> withParser​(@NonNull ArgumentParser<@NonNull C,​@NonNull T> parser)
        Set the argument parser
        Parameters:
        parser - Argument parser
        Returns:
        Builder instance
      • withSuggestionsProvider

        public @NonNull CommandArgument.Builder<@NonNull C,​@NonNull T> withSuggestionsProvider​(@NonNull java.util.function.BiFunction<@NonNull CommandContext<C>,​@NonNull java.lang.String,​@NonNull java.util.List<java.lang.String>> suggestionsProvider)
        Set the suggestions provider
        Parameters:
        suggestionsProvider - Suggestions provider
        Returns:
        Builder instance
      • build

        public @NonNull CommandArgument<@NonNull C,​@NonNull T> build()
        Construct a command argument from the builder settings
        Returns:
        Constructed argument
      • getName

        protected final @NonNull java.lang.String getName()
      • isRequired

        protected final boolean isRequired()
      • getParser

        protected final @NonNull ArgumentParser<@NonNull C,​@NonNull T> getParser()
      • getDefaultValue

        protected final @NonNull java.lang.String getDefaultValue()
      • getSuggestionsProvider

        protected final @NonNull java.util.function.BiFunction<@NonNull CommandContext<C>,​@NonNull java.lang.String,​@NonNull java.util.List<java.lang.String>> getSuggestionsProvider()