Package org.apache.commons.cli
Class Option.Builder
- java.lang.Object
-
- org.apache.commons.cli.Option.Builder
-
- Enclosing class:
- Option
public static final class Option.Builder extends java.lang.Object
BuildsOption
instances using descriptive methods.Example usage:
Option option = Option.builder("a").required(true).longOpt("arg-name").build();
- Since:
- 1.3
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Option.Builder
argName(java.lang.String argName)
Sets the display name for the argument value.Option
build()
Constructs an Option with the values declared by thisOption.Builder
.Option.Builder
converter(Converter<?,?> converter)
Sets the converter for the option.Option.Builder
deprecated()
Marks this Option as deprecated.Option.Builder
deprecated(DeprecatedAttributes deprecated)
Sets whether the Option is deprecated.Option.Builder
desc(java.lang.String description)
Sets the description for this option.Option.Builder
hasArg()
Tests whether the Option will require an argument.Option.Builder
hasArg(boolean hasArg)
Tests whether the Option has an argument or not.Option.Builder
hasArgs()
Tests whether the Option can have unlimited argument values.Option.Builder
longOpt(java.lang.String longOption)
Sets the long name of the Option.Option.Builder
numberOfArgs(int argCount)
Sets the number of argument values the Option can take.Option.Builder
option(java.lang.String option)
Sets the name of the Option.Option.Builder
optionalArg(boolean optionalArg)
Sets whether the Option can have an optional argument.Option.Builder
required()
Marks this Option as required.Option.Builder
required(boolean required)
Sets whether the Option is required.Option.Builder
since(java.lang.String since)
Sets the version number when this option was first defined."Option.Builder
type(java.lang.Class<?> type)
Sets the type of the Option.Option.Builder
valueSeparator()
The Option will use '=' as a means to separate argument value.Option.Builder
valueSeparator(char valueSeparator)
The Option will usesep
as a means to separate argument values.
-
-
-
Method Detail
-
argName
public Option.Builder argName(java.lang.String argName)
Sets the display name for the argument value.- Parameters:
argName
- the display name for the argument value.- Returns:
- this builder, to allow method chaining.
-
build
public Option build()
Constructs an Option with the values declared by thisOption.Builder
.- Returns:
- the new
Option
. - Throws:
java.lang.IllegalArgumentException
- if neitheropt
orlongOpt
has been set.
-
converter
public Option.Builder converter(Converter<?,?> converter)
Sets the converter for the option.Note: See
TypeHandler
for serialization discussion.- Parameters:
converter
- the Converter to use.- Returns:
- this builder, to allow method chaining.
- Since:
- 1.7.0
-
deprecated
public Option.Builder deprecated()
Marks this Option as deprecated.- Returns:
- this builder.
- Since:
- 1.7.0
-
deprecated
public Option.Builder deprecated(DeprecatedAttributes deprecated)
Sets whether the Option is deprecated.- Parameters:
deprecated
- specifies whether the Option is deprecated.- Returns:
- this builder.
- Since:
- 1.7.0
-
desc
public Option.Builder desc(java.lang.String description)
Sets the description for this option.- Parameters:
description
- the description of the option.- Returns:
- this builder, to allow method chaining.
-
hasArg
public Option.Builder hasArg()
Tests whether the Option will require an argument.- Returns:
- this builder, to allow method chaining.
-
hasArg
public Option.Builder hasArg(boolean hasArg)
Tests whether the Option has an argument or not.- Parameters:
hasArg
- specifies whether the Option takes an argument or not.- Returns:
- this builder, to allow method chaining.
-
hasArgs
public Option.Builder hasArgs()
Tests whether the Option can have unlimited argument values.- Returns:
- this builder.
-
longOpt
public Option.Builder longOpt(java.lang.String longOption)
Sets the long name of the Option.- Parameters:
longOption
- the long name of the Option- Returns:
- this builder.
-
numberOfArgs
public Option.Builder numberOfArgs(int argCount)
Sets the number of argument values the Option can take.- Parameters:
argCount
- the number of argument values- Returns:
- this builder.
-
option
public Option.Builder option(java.lang.String option) throws java.lang.IllegalArgumentException
Sets the name of the Option.- Parameters:
option
- the name of the Option.- Returns:
- this builder.
- Throws:
java.lang.IllegalArgumentException
- if there are any non valid Option characters inopt
.- Since:
- 1.5.0
-
optionalArg
public Option.Builder optionalArg(boolean optionalArg)
Sets whether the Option can have an optional argument.- Parameters:
optionalArg
- specifies whether the Option can have an optional argument.- Returns:
- this builder.
-
required
public Option.Builder required()
Marks this Option as required.- Returns:
- this builder.
-
required
public Option.Builder required(boolean required)
Sets whether the Option is required.- Parameters:
required
- specifies whether the Option is required.- Returns:
- this builder.
-
since
public Option.Builder since(java.lang.String since)
Sets the version number when this option was first defined."- Parameters:
since
- the version number when this option was first defined.- Returns:
- this builder.
-
type
public Option.Builder type(java.lang.Class<?> type)
Sets the type of the Option.- Parameters:
type
- the type of the Option.- Returns:
- this builder.
-
valueSeparator
public Option.Builder valueSeparator()
The Option will use '=' as a means to separate argument value.- Returns:
- this builder.
-
valueSeparator
public Option.Builder valueSeparator(char valueSeparator)
The Option will usesep
as a means to separate argument values.Example:
Option opt = Option.builder("D").hasArgs().valueSeparator('=').build(); Options options = new Options(); options.addOption(opt); String[] args = { "-Dkey=value" }; CommandLineParser parser = new DefaultParser(); CommandLine line = parser.parse(options, args); String propertyName = line.getOptionValues("D")[0]; // will be "key" String propertyValue = line.getOptionValues("D")[1]; // will be "value"
- Parameters:
valueSeparator
- The value separator.- Returns:
- this builder.
-
-