Class Option.Builder
- java.lang.Object
-
- com.aspectran.shell.command.option.Option.Builder
-
- Enclosing class:
- Option
public static final class Option.Builder extends java.lang.ObjectA nested builder class to createOptioninstances using descriptive methods.Example usage:
Option option = Option.builder("a") .required(true) .longOpt("arg-name") .build();
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Option.BuilderargName(java.lang.String argName)Sets the display name for the argument value.Optionbuild()Constructs an Option with the values declared by thisOption.Builder.Option.Builderdesc(java.lang.String description)Sets the description for this option.Option.BuilderhasArg()Indicates that the Option will require an argument.Option.BuilderhasArg(boolean hasArg)Indicates if the Option has an argument or not.Option.BuilderhasArgs()Indicates that the Option can have unlimited argument values.Option.BuilderlongOpt(java.lang.String longOpt)Sets the long name of the Option.Option.BuildernumberOfArgs(int numberOfArgs)Sets the number of argument values the Option can take.Option.BuilderoptionalArg(boolean isOptional)Sets whether the Option can have an optional argument.Option.Builderrequired()Marks this Option as required.Option.Builderrequired(boolean required)Sets whether the Option is mandatory.Option.BuildervalueSeparator()The Option will use '=' as a means to separate argument value.Option.BuildervalueSeparator(char valueSeparator)The Option will usesepas a means to separate argument values.Option.BuildervalueType(OptionValueType valueType)Sets the type of the Option.
-
-
-
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
-
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
-
longOpt
public Option.Builder longOpt(java.lang.String longOpt)
Sets the long name of the Option.- Parameters:
longOpt- the long name of the Option- Returns:
- this builder, to allow method chaining
-
numberOfArgs
public Option.Builder numberOfArgs(int numberOfArgs)
Sets the number of argument values the Option can take.- Parameters:
numberOfArgs- the number of argument values- Returns:
- this builder, to allow method chaining
-
optionalArg
public Option.Builder optionalArg(boolean isOptional)
Sets whether the Option can have an optional argument.- Parameters:
isOptional- specifies whether the Option can have an optional argument- Returns:
- this builder, to allow method chaining
-
required
public Option.Builder required()
Marks this Option as required.- Returns:
- this builder, to allow method chaining
-
required
public Option.Builder required(boolean required)
Sets whether the Option is mandatory.- Parameters:
required- specifies whether the Option is mandatory- Returns:
- this builder, to allow method chaining
-
valueType
public Option.Builder valueType(OptionValueType valueType)
Sets the type of the Option.- Parameters:
valueType- the type of the Option- Returns:
- this builder, to allow method chaining
-
valueSeparator
public Option.Builder valueSeparator()
The Option will use '=' as a means to separate argument value.- Returns:
- this builder, to allow method chaining
-
valueSeparator
public Option.Builder valueSeparator(char valueSeparator)
The Option will usesepas 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, to allow method chaining
-
hasArg
public Option.Builder hasArg()
Indicates that the Option will require an argument.- Returns:
- this builder, to allow method chaining
-
hasArg
public Option.Builder hasArg(boolean hasArg)
Indicates if 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()
Indicates that the Option can have unlimited argument values.- 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 neitheroptorlongOpthas been set
-
-