Interface defining a command-line interface (in other words a command such as 'run', 'ls'…). This interface is polyglot to ease reuse such as in Vert.x Shell.

A command line interface has a name, and defines a set of options and arguments. Options are key-value pair such as -foo=bar or -flag. The supported formats depend on the used parser. Arguments are unlike options raw values. Options are defined using Option, while argument are defined using Argument.

Command line interfaces also define a summary and a description. These attributes are used in the usage generation . To disable the help generation, set the hidden attribute to true.

Command Line Interface object does not contains “value”, it's a model. It must be evaluated by a parser that returns a CommandLine object containing the argument and option values.

  • CLI
    • Basic
      • Identifiable
      • Object
        • Anything

no subtypes hierarchy

Initializer
CLI(CLI unknown)
Inherited Attributes
Attributes inherited from: Object
hash, string
Methods
addArgumentshared default CLI addArgument(Argument arg)

Adds an argument.

Parameters:
  • arg

    the argument, must not be null

addArgumentsshared default CLI addArguments(List<Argument> args)

Adds a set of arguments. Unlike setArguments, this method does not remove the existing arguments. The given list is appended to the existing list.

Parameters:
  • args

    the arguments, must not be null

addOptionshared default CLI addOption(Option option)

Adds an option.

Parameters:
  • option

    the option, must not be null.

addOptionsshared default CLI addOptions(List<Option> options)

Adds a set of options. Unlike setOptions}, this method does not remove the existing options. The given list is appended to the existing list.

Parameters:
  • options

    the options, must not be null

getArgumentshared default Argument? getArgument(Integer index)

Gets an Argument based on its index.

Parameters:
  • index

    the index, must be positive or zero.

getArgumentshared default Argument? getArgument(String name)

Gets an Argument based on its name (argument name).

Parameters:
  • name

    the name of the argument, must not be null

getArgumentsshared default List<Argument> getArguments()

Gets the list of defined arguments.

getDescriptionshared default String? getDescription()
getNameshared default String getName()
getOptionshared default Option? getOption(String name)

Gets an Option based on its name (short name, long name or argument name).

Parameters:
  • name

    the name, must not be null

getOptionsshared default List<Option> getOptions()

Gets the list of options.

getSummaryshared default String? getSummary()
isHiddenshared default Boolean isHidden()

Checks whether or not the current CLI instance is hidden.

parseshared default CommandLine parse(List<String> arguments)

Parses the user command line interface and create a new CommandLine containing extracting values.

Parameters:
  • arguments

    the arguments

parseshared default CommandLine parse(List<String> arguments, Boolean validate)

Parses the user command line interface and create a new CommandLine containing extracting values.

Parameters:
  • arguments

    the arguments

  • validate

    enable / disable parsing validation

removeArgumentshared default CLI removeArgument(Integer index)

Removes an argument identified by its index. This method does nothing if the argument cannot be found.

Parameters:
  • index

    the argument index

removeOptionshared default CLI removeOption(String name)

Removes an option identified by its name. This method does nothing if the option cannot be found.

Parameters:
  • name

    the option name

setArgumentsshared default CLI setArguments(List<Argument> args)

Sets the list of arguments.

Parameters:
  • args

    the list of arguments, must not be null

setDescriptionshared default CLI setDescription(String desc)
setHiddenshared default CLI setHidden(Boolean hidden)

Sets whether or not the current instance of CLI must be hidden. Hidden CLI are not listed when displaying usages / help messages. In other words, hidden commands are for power user.

Parameters:
  • hidden

    enables or disables the hidden aspect of the CI

setNameshared default CLI setName(String name)

Sets the name of the CLI.

Parameters:
  • name

    the name

setOptionsshared default CLI setOptions(List<Option> options)

Sets the list of arguments.

Parameters:
  • options

    the list of options, must not be null

setSummaryshared default CLI setSummary(String summary)

Sets the summary of the CLI.

Parameters:
  • summary

    the summary

Inherited Methods
Methods inherited from: Object
equals