public interface CLI
-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.| Modifier and Type | Method and 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 of
CLI from the given Java class. |
static CLI |
create(String name)
Creates an instance of
CLI using the default implementation. |
Argument |
getArgument(int index)
Gets an
Argument based on its index. |
Argument |
getArgument(String name)
Gets an
Argument based on its name (argument name). |
List<Argument> |
getArguments()
Gets the list of defined arguments.
|
String |
getDescription() |
String |
getName() |
Option |
getOption(String name)
Gets an
Option 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 current
CLI instance is hidden. |
CommandLine |
parse(List<String> arguments)
Parses the user command line interface and create a new
CommandLine containing extracting values. |
CommandLine |
parse(List<String> arguments,
boolean validate)
Parses the user command line interface and create a new
CommandLine 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 of
CLI 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 current
CLI. |
CLI |
usage(StringBuilder builder,
String prefix)
Generates the usage / help of the current
CLI. |
static CLI create(String name)
CLI using the default implementation.name - the name of the CLI (must not be null)CLIstatic CLI create(Class<?> clazz)
CLI from the given Java class. It instantiates the CLI object from the
annotations used in the class.clazz - the annotated classCLICommandLine parse(List<String> arguments)
CommandLine containing extracting values.arguments - the argumentsCommandLine parse(List<String> arguments, boolean validate)
CommandLine containing extracting values.arguments - the argumentsvalidate - enable / disable parsing validationString getName()
CLI setName(String name)
name - the nameCLI instanceString getDescription()
String getSummary()
CLI setSummary(String summary)
summary - the summaryCLI instanceboolean isHidden()
CLI instance is hidden.true if the current CLI is hidden, false otherwiseCLI setHidden(boolean hidden)
CLI must be hidden. Hidden CLI are not listed when
displaying usages / help messages. In other words, hidden commands are for power user.hidden - enables or disables the hidden aspect of the CICLI instanceList<Option> getOptions()
CLI addOption(Option option)
option - the option, must not be null.CLI instanceCLI addOptions(List<Option> options)
setOptions(List)}, this method does not remove the existing options.
The given list is appended to the existing list.options - the options, must not be nullCLI instanceCLI setOptions(List<Option> options)
options - the list of options, must not be nullCLI instanceList<Argument> getArguments()
CLI addArgument(Argument arg)
arg - the argument, must not be nullCLI instanceCLI addArguments(List<Argument> args)
setArguments(List), this method does not remove the existing arguments.
The given list is appended to the existing list.args - the arguments, must not be nullCLI instanceCLI setArguments(List<Argument> args)
args - the list of arguments, must not be nullCLI instanceOption getOption(String name)
Option based on its name (short name, long name or argument name).name - the name, must not be nullOption, null if not foundArgument getArgument(String name)
Argument based on its name (argument name).name - the name of the argument, must not be nullArgument, null if not found.Argument getArgument(int index)
Argument based on its index.index - the index, must be positive or zero.Argument, null if not found.CLI removeOption(String name)
name - the option nameCLI instanceCLI removeArgument(int index)
index - the argument indexCLI instanceCLI usage(StringBuilder builder)
CLI.builder - the string builder in which the help is going to be printedCLI instanceCLI usage(StringBuilder builder, String prefix)
CLI.builder - the string builder in which the help is going to be printedprefix - an optional prefixCLI instanceint getPriority()
Copyright © 2022 Eclipse. All rights reserved.