Class CLI

java.lang.Object
io.vertx.mutiny.core.cli.CLI
All Implemented Interfaces:
MutinyDelegate

public class CLI extends Object implements MutinyDelegate
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.

NOTE: This class has been automatically generated from the original non Mutiny-ified interface using Vert.x codegen.

  • Field Details

    • __TYPE_ARG

      public static final TypeArg<CLI> __TYPE_ARG
  • Constructor Details

    • CLI

      public CLI(io.vertx.core.cli.CLI delegate)
    • CLI

      public CLI(Object delegate)
  • Method Details

    • getDelegate

      public io.vertx.core.cli.CLI getDelegate()
      Specified by:
      getDelegate in interface MutinyDelegate
      Returns:
      the delegate used by this Mutiny object of generated type
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • create

      public static CLI create(String name)
      Parameters:
      name - the name of the CLI (must not be null)
      Returns:
      the created instance of CLI
    • parse

      public CommandLine parse(List<String> arguments)
      Parameters:
      arguments - the arguments
      Returns:
      the creates command line
    • parse

      public CommandLine parse(List<String> arguments, boolean validate)
      Parameters:
      arguments - the arguments
      validate - enable / disable parsing validation
      Returns:
      the creates command line
    • getName

      public String getName()
      Returns:
      the CLI name.
    • setName

      public CLI setName(String name)
      Parameters:
      name - the name
      Returns:
      the current CLI instance
    • getDescription

      public String getDescription()
      Returns:
      the CLI description.
    • setDescription

      public CLI setDescription(String desc)
    • getSummary

      public String getSummary()
      Returns:
      the CLI summary.
    • setSummary

      public CLI setSummary(String summary)
      Parameters:
      summary - the summary
      Returns:
      the current CLI instance
    • isHidden

      public boolean isHidden()
      Returns:
      true if the current CLI is hidden, otherwise
    • setHidden

      public CLI setHidden(boolean hidden)
      Parameters:
      hidden - enables or disables the hidden aspect of the CI
      Returns:
      the current CLI instance
    • getOptions

      public List<io.vertx.core.cli.Option> getOptions()
      Returns:
      the list of options, empty if none.
    • addOption

      public CLI addOption(io.vertx.core.cli.Option option)
      Parameters:
      option - the option, must not be null.
      Returns:
      the current CLI instance
    • addOptions

      public CLI addOptions(List<io.vertx.core.cli.Option> options)
      Parameters:
      options - the options, must not be null
      Returns:
      the current CLI instance
    • setOptions

      public CLI setOptions(List<io.vertx.core.cli.Option> options)
      Parameters:
      options - the list of options, must not be null
      Returns:
      the current CLI instance
    • getArguments

      public List<io.vertx.core.cli.Argument> getArguments()
      Returns:
      the list of argument, empty if none.
    • addArgument

      public CLI addArgument(io.vertx.core.cli.Argument arg)
      Parameters:
      arg - the argument, must not be null
      Returns:
      the current CLI instance
    • addArguments

      public CLI addArguments(List<io.vertx.core.cli.Argument> args)
      Parameters:
      args - the arguments, must not be null
      Returns:
      the current CLI instance
    • setArguments

      public CLI setArguments(List<io.vertx.core.cli.Argument> args)
      Parameters:
      args - the list of arguments, must not be null
      Returns:
      the current CLI instance
    • getOption

      public io.vertx.core.cli.Option getOption(String name)
      Parameters:
      name - the name, must not be null
      Returns:
      the Option, null if not found
    • getArgument

      public io.vertx.core.cli.Argument getArgument(String name)
      Parameters:
      name - the name of the argument, must not be null
      Returns:
      the Argument, null if not found.
    • getArgument

      public io.vertx.core.cli.Argument getArgument(int index)
      Parameters:
      index - the index, must be positive or zero.
      Returns:
      the Argument, null if not found.
    • removeOption

      public CLI removeOption(String name)
      Parameters:
      name - the option name
      Returns:
      the current CLI instance
    • removeArgument

      public CLI removeArgument(int index)
      Parameters:
      index - the argument index
      Returns:
      the current CLI instance
    • getPriority

      public int getPriority()
      Returns:
      the CLI priority.
    • setPriority

      public CLI setPriority(int priority)
      Parameters:
      priority - the priority
      Returns:
      the current CLI instance
    • newInstance

      public static CLI newInstance(io.vertx.core.cli.CLI arg)