Package picocli

Class CommandLine.Model.ArgSpec.Builder<T extends CommandLine.Model.ArgSpec.Builder<T>>

    • Method Detail

      • inferLabel

        private static java.lang.String inferLabel​(java.lang.String label,
                                                   java.lang.String fieldName,
                                                   CommandLine.Model.ITypeInfo typeInfo)
      • self

        protected abstract T self()
      • required

        public boolean required()
        Returns whether this is a required option or positional parameter.
        See Also:
        CommandLine.Option.required()
      • interactive

        public boolean interactive()
        Returns whether this option prompts the user to enter a value on the command line.
        See Also:
        CommandLine.Option.interactive()
      • description

        public java.lang.String[] description()
        Returns the description of this option, used when generating the usage documentation.
        See Also:
        CommandLine.Option.description()
      • paramLabel

        public java.lang.String paramLabel()
        Returns the name of the option or positional parameter used in the usage help message.
        See Also:
        CommandLine.Option.paramLabel()
      • hideParamSyntax

        public boolean hideParamSyntax()
        Returns whether usage syntax decorations around the paramLabel should be suppressed. The default is false: by default, the paramLabel is surrounded with '[' and ']' characters if the value is optional and followed by ellipses ("...") when multiple values can be specified.
        Since:
        3.6.0
      • auxiliaryTypes

        public java.lang.Class<?>[] auxiliaryTypes()
        Returns auxiliary type information used when the type() is a generic container like Collection, Map, Optional or an abstract class.
        See Also:
        CommandLine.Option.type()
      • converters

        public CommandLine.ITypeConverter<?>[] converters()
        Returns one or more type converters to use to convert the command line argument into a strongly typed value (or key-value pair for map fields). This is useful when a particular option or positional parameter should use a custom conversion that is different from the normal conversion for the arg spec's type.
        See Also:
        CommandLine.Option.converter()
      • splitRegex

        public java.lang.String splitRegex()
        Returns a regular expression to split option parameter values or "" if the value should not be split.
        See Also:
        CommandLine.Option.split()
      • splitRegexSynopsisLabel

        public java.lang.String splitRegexSynopsisLabel()
        Returns a regular expression to split option parameter for usage information.
        Since:
        4.3
        See Also:
        CommandLine.Option.splitSynopsisLabel()
      • hidden

        public boolean hidden()
        Returns whether this option should be excluded from the usage message.
        See Also:
        CommandLine.Option.hidden()
      • inherited

        public boolean inherited()
        Returns whether this option is inherited from a parent command.
        Since:
        4.3.0
        See Also:
        CommandLine.Option.scope()
      • type

        public java.lang.Class<?> type()
        Returns the type to convert the option or positional parameter to before setting the value. This may be a container type like List, Map, or Optional, in which case the type or types of the elements are returned by auxiliaryTypes().
      • typeInfo

        public CommandLine.Model.ITypeInfo typeInfo()
        Returns the type info for this option or positional parameter.
        Returns:
        type information that does not require Class objects and be constructed both at runtime and compile time
        Since:
        4.0
      • userObject

        public java.lang.Object userObject()
        Returns the user object associated with this option or positional parameters.
        Returns:
        may return the annotated program element, or some other useful object
        Since:
        4.0
      • mapFallbackValue

        public java.lang.String mapFallbackValue()
        Returns the fallback value for this Map option or positional parameter: the value that is put into the Map when only the key is specified for the option or positional parameter, like -Dkey instead of -Dkey=value.

        If no mapFallbackValue is set, key-only Map parameters like -Dkey are considered invalid user input and cause a CommandLine.ParameterException to be thrown.

        By default, this method returns a special "__unspecified__" value indicating that no mapFallbackValue was set.

        Since:
        4.6
        See Also:
        CommandLine.Option.mapFallbackValue(), CommandLine.Parameters.mapFallbackValue()
      • defaultValue

        public java.lang.String defaultValue()
        Returns the default value of this option or positional parameter, before splitting and type conversion. A value of null means this option or positional parameter does not have a default.
      • initialValue

        public java.lang.Object initialValue()
        Returns the initial value this option or positional parameter. If hasInitialValue() is true, the option will be reset to the initial value before parsing (regardless of whether a default value exists), to clear values that would otherwise remain from parsing previous input.
      • hasInitialValue

        public boolean hasInitialValue()
        Determines whether the option or positional parameter will be reset to the initialValue() before parsing new input.
      • showDefaultValue

        public CommandLine.Help.Visibility showDefaultValue()
        Returns whether this option or positional parameter's default value should be shown in the usage help.
      • completionCandidates

        public java.lang.Iterable<java.lang.String> completionCandidates()
        Returns the completion candidates for this option or positional parameter, or null.
        Since:
        3.2
      • parameterConsumer

        public CommandLine.IParameterConsumer parameterConsumer()
        Returns the custom parameter handler for this option or positional parameter, or null.
        Since:
        4.0
      • preprocessor

        public CommandLine.IParameterPreprocessor preprocessor()
        Returns the custom IParameterPreprocessor to either replace or complement picocli's parsing logic for the parameter(s) of this option or position, or null.
        Since:
        4.6
      • scopeType

        public CommandLine.ScopeType scopeType()
        Returns the scope of this argument.
        Returns:
        whether this argument applies to all descendent subcommands of the command where it is defined
        Since:
        4.3
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • required

        public T required​(boolean required)
        Sets whether this is a required option or positional parameter, and returns this builder.
      • interactive

        public T interactive​(boolean interactive)
        Sets whether this option prompts the user to enter a value on the command line, and returns this builder.
      • echo

        public T echo​(boolean echo)
        Sets whether the user input is echoed to the console or not for an interactive option or positional parameter.
      • prompt

        public T prompt​(java.lang.String prompt)
        Sets the text displayed to the end user for an interactive option or positional parameter when asking for user input.
      • description

        public T description​(java.lang.String... description)
        Sets the description of this option, used when generating the usage documentation, and returns this builder.
        See Also:
        CommandLine.Option.description()
      • arity

        public T arity​(java.lang.String range)
        Sets how many arguments this option or positional parameter requires, and returns this builder.
      • arity

        public T arity​(CommandLine.Range arity)
        Sets how many arguments this option or positional parameter requires, and returns this builder.
      • paramLabel

        public T paramLabel​(java.lang.String paramLabel)
        Sets the name of the option or positional parameter used in the usage help message, and returns this builder.
      • hideParamSyntax

        public T hideParamSyntax​(boolean hideParamSyntax)
        Sets whether usage syntax decorations around the paramLabel should be suppressed. The default is false: by default, the paramLabel is surrounded with '[' and ']' characters if the value is optional and followed by ellipses ("...") when multiple values can be specified.
        Since:
        3.6.0
      • auxiliaryTypes

        public T auxiliaryTypes​(java.lang.Class<?>... types)
        Sets auxiliary type information, and returns this builder.
        Parameters:
        types - the element type(s) when the type() is a generic type like Collection, Map or Optional; or the concrete type when the type() is an abstract class.
      • converters

        public T converters​(CommandLine.ITypeConverter<?>... cs)
        Sets option/positional param-specific converter (or converters for Maps), and returns this builder.
      • splitRegex

        public T splitRegex​(java.lang.String splitRegex)
        Sets a regular expression to split option parameter values or "" if the value should not be split, and returns this builder.
      • splitRegexSynopsisLabel

        public T splitRegexSynopsisLabel​(java.lang.String splitRegexSynopsisLabel)
        Sets a regular expression to split option parameter for usage information.
      • showDefaultValue

        public T showDefaultValue​(CommandLine.Help.Visibility visibility)
        Sets whether this option or positional parameter's default value should be shown in the usage help, and returns this builder.
      • completionCandidates

        public T completionCandidates​(java.lang.Iterable<java.lang.String> completionCandidates)
        Sets the completion candidates for this option or positional parameter, and returns this builder.
        Since:
        3.2
      • parameterConsumer

        public T parameterConsumer​(CommandLine.IParameterConsumer parameterConsumer)
        Sets the parameterConsumer for this option or positional parameter, and returns this builder.
        Since:
        4.0
      • preprocessor

        public T preprocessor​(CommandLine.IParameterPreprocessor preprocessor)
        Sets the custom IParameterPreprocessor for this option or position, and returns this builder.
        Since:
        4.6
      • hidden

        public T hidden​(boolean hidden)
        Sets whether this option should be excluded from the usage message, and returns this builder.
      • inherited

        public T inherited​(boolean inherited)
        Sets whether this option is inherited from a parent command, and returns this builder.
        Since:
        4.3.0
      • root

        public T root​(CommandLine.Model.ArgSpec root)
        Sets the root object for this inherited option, and returns this builder.
        Since:
        4.6.1
      • type

        public T type​(java.lang.Class<?> propertyType)
        Sets the type to convert the option or positional parameter to before setting the value, and returns this builder.
        Parameters:
        propertyType - the type of this option or parameter. For multi-value options and positional parameters this can be an array, or a (sub-type of) Collection or Map.
      • typeInfo

        public T typeInfo​(CommandLine.Model.ITypeInfo typeInfo)
        Sets the type info for this option or positional parameter, and returns this builder.
        Parameters:
        typeInfo - type information that does not require Class objects and be constructed both at runtime and compile time
        Since:
        4.0
      • userObject

        public T userObject​(java.lang.Object userObject)
        Sets the user object associated with this option or positional parameters, and returns this builder.
        Parameters:
        userObject - may be the annotated program element, or some other useful object
        Since:
        4.0
      • defaultValue

        public T defaultValue​(java.lang.String defaultValue)
        Sets the default value of this option or positional parameter to the specified value, and returns this builder. Before parsing the command line, the result of splitting and type converting this default value is applied to the option or positional parameter. A value of null or "__no_default_value__" means no default.
      • initialValue

        public T initialValue​(java.lang.Object initialValue)
        Sets the initial value of this option or positional parameter to the specified value, and returns this builder. If hasInitialValue() is true, the option will be reset to the initial value before parsing (regardless of whether a default value exists), to clear values that would otherwise remain from parsing previous input.
      • hasInitialValue

        public T hasInitialValue​(boolean hasInitialValue)
        Determines whether the option or positional parameter will be reset to the initialValue() before parsing new input.
      • scopeType

        public T scopeType​(CommandLine.ScopeType scopeType)
        Sets the scope of where this argument applies: only this command, or also all sub (and sub-sub) commands, and returns this builder.
        Since:
        4.3
      • withToString

        public T withToString​(java.lang.String toString)
        Sets the string representation of this option or positional parameter to the specified value, and returns this builder.