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
)CLI
static 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 classCLI
CommandLine 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 null
CLI
instanceCLI setOptions(List<Option> options)
options
- the list of options, must not be null
CLI
instanceList<Argument> getArguments()
CLI addArgument(Argument arg)
arg
- the argument, must not be null
CLI
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 null
CLI
instanceCLI setArguments(List<Argument> args)
args
- the list of arguments, must not be null
CLI
instanceOption getOption(String name)
Option
based on its name (short name, long name or argument name).name
- the name, must not be null
Option
, null
if not foundArgument getArgument(String name)
Argument
based on its name (argument name).name
- the name of the argument, must not be null
Argument
, 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 © 2023 Eclipse. All rights reserved.