Package org.apache.commons.cli
Class CommandLine
- java.lang.Object
-
- org.apache.commons.cli.CommandLine
-
- All Implemented Interfaces:
java.io.Serializable
public class CommandLine extends java.lang.Object implements java.io.Serializable
Represents list of arguments parsed against aOptions
descriptor.It allows querying of a boolean
hasOption(String opt)
, in addition to retrieving thegetOptionValue(String opt)
for options requiring arguments.Additionally, any left-over or unrecognized arguments, are available for further processing.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CommandLine.Builder
A nested builder class to createCommandLine
instance using descriptive methods.
-
Constructor Summary
Constructors Modifier Constructor Description protected
CommandLine()
Creates a command line.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addArg(java.lang.String arg)
Adds left-over unrecognized option/argument.protected void
addOption(Option opt)
Adds an option to the command line.static CommandLine.Builder
builder()
Creates a new builder.java.util.List<java.lang.String>
getArgList()
Gets any left-over non-recognized options and argumentsjava.lang.String[]
getArgs()
Gets any left-over non-recognized options and argumentsjava.lang.Object
getOptionObject(char opt)
Deprecated.due to System.err message.java.lang.Object
getOptionObject(java.lang.String opt)
Deprecated.due to System.err message.java.util.Properties
getOptionProperties(java.lang.String opt)
Gets the map of values associated to the option.java.util.Properties
getOptionProperties(Option option)
Gets the map of values associated to the option.Option[]
getOptions()
Gets an array of the processedOption
s.java.lang.String
getOptionValue(char opt)
Gets the first argument, if any, of this option.java.lang.String
getOptionValue(char opt, java.lang.String defaultValue)
Gets the argument, if any, of an option.java.lang.String
getOptionValue(char opt, java.util.function.Supplier<java.lang.String> defaultValue)
Gets the argument, if any, of an option.java.lang.String
getOptionValue(java.lang.String opt)
Gets the first argument, if any, of this option.java.lang.String
getOptionValue(java.lang.String opt, java.lang.String defaultValue)
Gets the first argument, if any, of an option.java.lang.String
getOptionValue(java.lang.String opt, java.util.function.Supplier<java.lang.String> defaultValue)
Gets the first argument, if any, of an option.java.lang.String
getOptionValue(Option option)
Gets the first argument, if any, of this option.java.lang.String
getOptionValue(OptionGroup optionGroup)
Gets the first argument, if any, of this option group.java.lang.String
getOptionValue(OptionGroup optionGroup, java.lang.String defaultValue)
Gets the first argument, if any, of an option group.java.lang.String
getOptionValue(OptionGroup optionGroup, java.util.function.Supplier<java.lang.String> defaultValue)
Gets the first argument, if any, of an option group.java.lang.String
getOptionValue(Option option, java.lang.String defaultValue)
Gets the first argument, if any, of an option.java.lang.String
getOptionValue(Option option, java.util.function.Supplier<java.lang.String> defaultValue)
Gets the first argument, if any, of an option.java.lang.String[]
getOptionValues(char opt)
Gets the array of values, if any, of an option.java.lang.String[]
getOptionValues(java.lang.String opt)
Gets the array of values, if any, of an option.java.lang.String[]
getOptionValues(Option option)
Gets the array of values, if any, of an option.java.lang.String[]
getOptionValues(OptionGroup optionGroup)
Gets the array of values, if any, of an option group.<T> T
getParsedOptionValue(char opt)
Gets a version of thisOption
converted to a particular type.<T> T
getParsedOptionValue(char opt, java.util.function.Supplier<T> defaultValue)
Gets a version of thisOption
converted to a particular type.<T> T
getParsedOptionValue(char opt, T defaultValue)
Gets a version of thisOption
converted to a particular type.<T> T
getParsedOptionValue(java.lang.String opt)
Gets a version of thisOption
converted to a particular type.<T> T
getParsedOptionValue(java.lang.String opt, java.util.function.Supplier<T> defaultValue)
Gets a version of thisOption
converted to a particular type.<T> T
getParsedOptionValue(java.lang.String opt, T defaultValue)
Gets a version of thisOption
converted to a particular type.<T> T
getParsedOptionValue(Option option)
Gets a version of thisOption
converted to a particular type.<T> T
getParsedOptionValue(OptionGroup optionGroup)
Gets a version of thisOptionGroup
converted to a particular type.<T> T
getParsedOptionValue(OptionGroup optionGroup, java.util.function.Supplier<T> defaultValue)
Gets a version of thisOptionGroup
converted to a particular type.<T> T
getParsedOptionValue(OptionGroup optionGroup, T defaultValue)
Gets a version of thisOptionGroup
converted to a particular type.<T> T
getParsedOptionValue(Option option, java.util.function.Supplier<T> defaultValue)
Gets a version of thisOption
converted to a particular type.<T> T
getParsedOptionValue(Option option, T defaultValue)
Gets a version of thisOption
converted to a particular type.boolean
hasOption(char opt)
Tests to see if an option has been set.boolean
hasOption(java.lang.String opt)
Tests to see if an option has been set.boolean
hasOption(Option opt)
Tests to see if an option has been set.boolean
hasOption(OptionGroup optionGroup)
Tests to see if an option has been set.java.util.Iterator<Option>
iterator()
Returns an iterator over the Option members of CommandLine.
-
-
-
Constructor Detail
-
CommandLine
protected CommandLine()
Creates a command line.
-
-
Method Detail
-
builder
public static CommandLine.Builder builder()
Creates a new builder.- Returns:
- a new builder.
- Since:
- 1.7.0
-
addArg
protected void addArg(java.lang.String arg)
Adds left-over unrecognized option/argument.- Parameters:
arg
- the unrecognized option/argument.
-
addOption
protected void addOption(Option opt)
Adds an option to the command line. The values of the option are stored.- Parameters:
opt
- the processed option.
-
getArgList
public java.util.List<java.lang.String> getArgList()
Gets any left-over non-recognized options and arguments- Returns:
- remaining items passed in but not parsed as a
List
.
-
getArgs
public java.lang.String[] getArgs()
Gets any left-over non-recognized options and arguments- Returns:
- remaining items passed in but not parsed as an array.
-
getOptionObject
@Deprecated public java.lang.Object getOptionObject(char opt)
Deprecated.due to System.err message. Instead use getParsedOptionValue(char)Gets theObject
type of thisOption
.- Parameters:
opt
- the name of the option.- Returns:
- the type of opt.
-
getOptionObject
@Deprecated public java.lang.Object getOptionObject(java.lang.String opt)
Deprecated.due to System.err message. Instead use getParsedOptionValue(String)Gets theObject
type of thisOption
.- Parameters:
opt
- the name of the option.- Returns:
- the type of this
Option
.
-
getOptionProperties
public java.util.Properties getOptionProperties(Option option)
Gets the map of values associated to the option. This is convenient for options specifying Java properties like-Dparam1=value1 -Dparam2=value2
. All odd numbered values are property keys and even numbered values are property values. If there are an odd number of values the last value is assumed to be a boolean flag and the value is "true".- Parameters:
option
- name of the option.- Returns:
- The Properties mapped by the option, never
null
even if the option doesn't exists. - Since:
- 1.5.0
-
getOptionProperties
public java.util.Properties getOptionProperties(java.lang.String opt)
Gets the map of values associated to the option. This is convenient for options specifying Java properties like-Dparam1=value1 -Dparam2=value2
. The first argument of the option is the key, and the 2nd argument is the value. If the option has only one argument (-Dfoo
) it is considered as a boolean flag and the value is"true"
.- Parameters:
opt
- name of the option.- Returns:
- The Properties mapped by the option, never
null
even if the option doesn't exists. - Since:
- 1.2
-
getOptions
public Option[] getOptions()
Gets an array of the processedOption
s.- Returns:
- an array of the processed
Option
s.
-
getOptionValue
public java.lang.String getOptionValue(char opt)
Gets the first argument, if any, of this option.- Parameters:
opt
- the character name of the option.- Returns:
- Value of the argument if option is set, and has an argument, otherwise null.
-
getOptionValue
public java.lang.String getOptionValue(char opt, java.lang.String defaultValue)
Gets the argument, if any, of an option.- Parameters:
opt
- character name of the optiondefaultValue
- is the default value to be returned if the option is not specified.- Returns:
- Value of the argument if option is set, and has an argument, otherwise
defaultValue
.
-
getOptionValue
public java.lang.String getOptionValue(char opt, java.util.function.Supplier<java.lang.String> defaultValue)
Gets the argument, if any, of an option.- Parameters:
opt
- character name of the optiondefaultValue
- is a supplier for the default value to be returned if the option is not specified.- Returns:
- Value of the argument if option is set, and has an argument, otherwise
defaultValue
. - Since:
- 1.7.0
-
getOptionValue
public java.lang.String getOptionValue(Option option)
Gets the first argument, if any, of this option.- Parameters:
option
- the option.- Returns:
- Value of the argument if option is set, and has an argument, otherwise null.
- Since:
- 1.5.0
-
getOptionValue
public java.lang.String getOptionValue(Option option, java.lang.String defaultValue)
Gets the first argument, if any, of an option.- Parameters:
option
- the option.defaultValue
- is the default value to be returned if the option is not specified.- Returns:
- Value of the argument if option is set, and has an argument, otherwise
defaultValue
. - Since:
- 1.5.0
-
getOptionValue
public java.lang.String getOptionValue(Option option, java.util.function.Supplier<java.lang.String> defaultValue)
Gets the first argument, if any, of an option.- Parameters:
option
- the option.defaultValue
- is a supplier for the default value to be returned if the option is not specified.- Returns:
- Value of the argument if option is set, and has an argument, otherwise
defaultValue
. - Since:
- 1.7.0
-
getOptionValue
public java.lang.String getOptionValue(OptionGroup optionGroup)
Gets the first argument, if any, of this option group.- Parameters:
optionGroup
- the option group.- Returns:
- Value of the argument if option group is selected, and has an argument, otherwise null.
- Since:
- 1.9.0
-
getOptionValue
public java.lang.String getOptionValue(OptionGroup optionGroup, java.lang.String defaultValue)
Gets the first argument, if any, of an option group.- Parameters:
optionGroup
- the option group.defaultValue
- is the default value to be returned if the option group is not selected.- Returns:
- Value of the argument if option group is selected, and has an argument, otherwise
defaultValue
. - Since:
- 1.9.0
-
getOptionValue
public java.lang.String getOptionValue(OptionGroup optionGroup, java.util.function.Supplier<java.lang.String> defaultValue)
Gets the first argument, if any, of an option group.- Parameters:
optionGroup
- the option group..defaultValue
- is a supplier for the default value to be returned if the option group is not selected.- Returns:
- Value of the argument if option group is selected, and has an argument, otherwise
defaultValue
. - Since:
- 1.9.0
-
getOptionValue
public java.lang.String getOptionValue(java.lang.String opt)
Gets the first argument, if any, of this option.- Parameters:
opt
- the name of the option.- Returns:
- Value of the argument if option is set, and has an argument, otherwise null.
-
getOptionValue
public java.lang.String getOptionValue(java.lang.String opt, java.lang.String defaultValue)
Gets the first argument, if any, of an option.- Parameters:
opt
- name of the option.defaultValue
- is the default value to be returned if the option is not specified.- Returns:
- Value of the argument if option is set, and has an argument, otherwise
defaultValue
.
-
getOptionValue
public java.lang.String getOptionValue(java.lang.String opt, java.util.function.Supplier<java.lang.String> defaultValue)
Gets the first argument, if any, of an option.- Parameters:
opt
- name of the option.defaultValue
- is a supplier for the default value to be returned if the option is not specified.- Returns:
- Value of the argument if option is set, and has an argument, otherwise
defaultValue
. - Since:
- 1.7.0
-
getOptionValues
public java.lang.String[] getOptionValues(char opt)
Gets the array of values, if any, of an option.- Parameters:
opt
- character name of the option.- Returns:
- Values of the argument if option is set, and has an argument, otherwise null.
-
getOptionValues
public java.lang.String[] getOptionValues(Option option)
Gets the array of values, if any, of an option.- Parameters:
option
- the option.- Returns:
- Values of the argument if option is set, and has an argument, otherwise null.
- Since:
- 1.5.0
-
getOptionValues
public java.lang.String[] getOptionValues(OptionGroup optionGroup)
Gets the array of values, if any, of an option group.- Parameters:
optionGroup
- the option group.- Returns:
- Values of the argument if option group is selected, and has an argument, otherwise null.
- Since:
- 1.9.0
-
getOptionValues
public java.lang.String[] getOptionValues(java.lang.String opt)
Gets the array of values, if any, of an option.- Parameters:
opt
- string name of the option.- Returns:
- Values of the argument if option is set, and has an argument, otherwise null.
-
getParsedOptionValue
public <T> T getParsedOptionValue(char opt) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
opt
- the name of the option.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.5.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(char opt, java.util.function.Supplier<T> defaultValue) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
opt
- the name of the option.defaultValue
- the default value to return if opt is not set.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.7.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(char opt, T defaultValue) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
opt
- the name of the option.defaultValue
- the default value to return if opt is not set.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.7.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(Option option) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
option
- the option.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.5.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(Option option, java.util.function.Supplier<T> defaultValue) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
option
- the option.defaultValue
- the default value to return if opt is not set.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.7.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(Option option, T defaultValue) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
option
- the option.defaultValue
- the default value to return if opt is not set.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.7.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(OptionGroup optionGroup) throws ParseException
Gets a version of thisOptionGroup
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
optionGroup
- the option group.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the selected option value into the desired type- Since:
- 1.9.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(OptionGroup optionGroup, java.util.function.Supplier<T> defaultValue) throws ParseException
Gets a version of thisOptionGroup
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
optionGroup
- the option group.defaultValue
- the default value to return if opt is not set.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the selected option value into the desired type- Since:
- 1.9.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(OptionGroup optionGroup, T defaultValue) throws ParseException
Gets a version of thisOptionGroup
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
optionGroup
- the option group.defaultValue
- the default value to return if an option is not selected.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.9.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(java.lang.String opt) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
opt
- the name of the option.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.2
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(java.lang.String opt, java.util.function.Supplier<T> defaultValue) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
opt
- the name of the option.defaultValue
- the default value to return if opt is not set.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.7.0
- See Also:
PatternOptionBuilder
-
getParsedOptionValue
public <T> T getParsedOptionValue(java.lang.String opt, T defaultValue) throws ParseException
Gets a version of thisOption
converted to a particular type.- Type Parameters:
T
- The return type for the method.- Parameters:
opt
- the name of the option.defaultValue
- the default value to return if opt is not set.- Returns:
- the value parsed into a particular object.
- Throws:
ParseException
- if there are problems turning the option value into the desired type- Since:
- 1.7.0
- See Also:
PatternOptionBuilder
-
hasOption
public boolean hasOption(char opt)
Tests to see if an option has been set.- Parameters:
opt
- character name of the option.- Returns:
- true if set, false if not.
-
hasOption
public boolean hasOption(Option opt)
Tests to see if an option has been set.- Parameters:
opt
- the option to check.- Returns:
- true if set, false if not.
- Since:
- 1.5.0
-
hasOption
public boolean hasOption(OptionGroup optionGroup)
Tests to see if an option has been set.- Parameters:
optionGroup
- the option group to check.- Returns:
- true if set, false if not.
- Since:
- 1.9.0
-
hasOption
public boolean hasOption(java.lang.String opt)
Tests to see if an option has been set.- Parameters:
opt
- Short name of the option.- Returns:
- true if set, false if not.
-
iterator
public java.util.Iterator<Option> iterator()
Returns an iterator over the Option members of CommandLine.- Returns:
- an
Iterator
over the processedOption
members of thisCommandLine
.
-
-