Package io.vertx.core.cli
Interface CLI
-
public interface CLI
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 usingOption
, while argument are defined usingArgument
. Command line interfaces also define a summary and a description. These attributes are used in the usage generation . To disable the help generation, set thehidden
attribute totrue
. Command Line Interface object does not contains "value", it's a model. It must be evaluated by a parser that returns aCommandLine
object containing the argument and option values.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description CLI
addArgument(Argument arg)
Adds an argument.CLI
addArguments(List<Argument> args)
Adds a set of arguments.CLI
addOption(Option option)
Adds an option.CLI
addOptions(List<Option> options)
Adds a set of options.static CLI
create(Class<?> clazz)
Creates an instance ofCLI
from the given Java class.static CLI
create(String name)
Creates an instance ofCLI
using the default implementation.Argument
getArgument(int index)
Gets anArgument
based on its index.Argument
getArgument(String name)
Gets anArgument
based on its name (argument name).List<Argument>
getArguments()
Gets the list of defined arguments.String
getDescription()
String
getName()
Option
getOption(String name)
Gets anOption
based on its name (short name, long name or argument name).List<Option>
getOptions()
Gets the list of options.int
getPriority()
String
getSummary()
boolean
isHidden()
Checks whether or not the currentCLI
instance is hidden.CommandLine
parse(List<String> arguments)
Parses the user command line interface and create a newCommandLine
containing extracting values.CommandLine
parse(List<String> arguments, boolean validate)
Parses the user command line interface and create a newCommandLine
containing extracting values.CLI
removeArgument(int index)
Removes an argument identified by its index.CLI
removeOption(String name)
Removes an option identified by its name.CLI
setArguments(List<Argument> args)
Sets the list of arguments.CLI
setDescription(String desc)
CLI
setHidden(boolean hidden)
Sets whether or not the current instance ofCLI
must be hidden.CLI
setName(String name)
Sets the name of the CLI.CLI
setOptions(List<Option> options)
Sets the list of arguments.CLI
setPriority(int priority)
Sets the priority of the CLI.CLI
setSummary(String summary)
Sets the summary of the CLI.CLI
usage(StringBuilder builder)
Generates the usage / help of the currentCLI
.CLI
usage(StringBuilder builder, String prefix)
Generates the usage / help of the currentCLI
.
-
-
-
Method Detail
-
create
static CLI create(String name)
Creates an instance ofCLI
using the default implementation.- Parameters:
name
- the name of the CLI (must not benull
)- Returns:
- the created instance of
CLI
-
create
static CLI create(Class<?> clazz)
Creates an instance ofCLI
from the given Java class. It instantiates theCLI
object from the annotations used in the class.- Parameters:
clazz
- the annotated class- Returns:
- the created instance of
CLI
-
parse
CommandLine parse(List<String> arguments)
Parses the user command line interface and create a newCommandLine
containing extracting values.- Parameters:
arguments
- the arguments- Returns:
- the creates command line
-
parse
CommandLine parse(List<String> arguments, boolean validate)
Parses the user command line interface and create a newCommandLine
containing extracting values.- Parameters:
arguments
- the argumentsvalidate
- enable / disable parsing validation- Returns:
- the creates command line
-
getName
String getName()
- Returns:
- the CLI name.
-
setName
CLI setName(String name)
Sets the name of the CLI.- Parameters:
name
- the name- Returns:
- the current
CLI
instance
-
getDescription
String getDescription()
- Returns:
- the CLI description.
-
getSummary
String getSummary()
- Returns:
- the CLI summary.
-
setSummary
CLI setSummary(String summary)
Sets the summary of the CLI.- Parameters:
summary
- the summary- Returns:
- the current
CLI
instance
-
isHidden
boolean isHidden()
Checks whether or not the currentCLI
instance is hidden.- Returns:
true
if the currentCLI
is hidden, {@link false} otherwise
-
setHidden
CLI setHidden(boolean hidden)
Sets whether or not the current instance ofCLI
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- Returns:
- the current
CLI
instance
-
getOptions
List<Option> getOptions()
Gets the list of options.- Returns:
- the list of options, empty if none.
-
addOption
CLI addOption(Option option)
Adds an option.- Parameters:
option
- the option, must not benull
.- Returns:
- the current
CLI
instance
-
addOptions
CLI addOptions(List<Option> options)
Adds a set of options. UnlikesetOptions(List)
}, this method does not remove the existing options. The given list is appended to the existing list.- Parameters:
options
- the options, must not benull
- Returns:
- the current
CLI
instance
-
setOptions
CLI setOptions(List<Option> options)
Sets the list of arguments.- Parameters:
options
- the list of options, must not benull
- Returns:
- the current
CLI
instance
-
getArguments
List<Argument> getArguments()
Gets the list of defined arguments.- Returns:
- the list of argument, empty if none.
-
addArgument
CLI addArgument(Argument arg)
Adds an argument.- Parameters:
arg
- the argument, must not benull
- Returns:
- the current
CLI
instance
-
addArguments
CLI addArguments(List<Argument> args)
Adds a set of arguments. UnlikesetArguments(List)
, this method does not remove the existing arguments. The given list is appended to the existing list.- Parameters:
args
- the arguments, must not benull
- Returns:
- the current
CLI
instance
-
setArguments
CLI setArguments(List<Argument> args)
Sets the list of arguments.- Parameters:
args
- the list of arguments, must not benull
- Returns:
- the current
CLI
instance
-
getOption
Option getOption(String name)
Gets anOption
based on its name (short name, long name or argument name).- Parameters:
name
- the name, must not benull
- Returns:
- the
Option
,null
if not found
-
getArgument
Argument getArgument(String name)
Gets anArgument
based on its name (argument name).- Parameters:
name
- the name of the argument, must not benull
- Returns:
- the
Argument
,null
if not found.
-
getArgument
Argument getArgument(int index)
Gets anArgument
based on its index.- Parameters:
index
- the index, must be positive or zero.- Returns:
- the
Argument
,null
if not found.
-
removeOption
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- Returns:
- the current
CLI
instance
-
removeArgument
CLI removeArgument(int index)
Removes an argument identified by its index. This method does nothing if the argument cannot be found.- Parameters:
index
- the argument index- Returns:
- the current
CLI
instance
-
usage
CLI usage(StringBuilder builder)
Generates the usage / help of the currentCLI
.- Parameters:
builder
- the string builder in which the help is going to be printed- Returns:
- the current
CLI
instance
-
usage
CLI usage(StringBuilder builder, String prefix)
Generates the usage / help of the currentCLI
.- Parameters:
builder
- the string builder in which the help is going to be printedprefix
- an optional prefix- Returns:
- the current
CLI
instance
-
getPriority
int getPriority()
- Returns:
- the CLI priority.
-
-