public class OptionBuilder
extends java.lang.Object
OptionBuilder allows the user to create Options using descriptive methods.
Details on the Builder pattern can be found at http://c2.com/cgi-bin/wiki?BuilderPattern.
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
argName
argument name
|
private static java.lang.String |
description
option description
|
private static OptionBuilder |
instance
option builder instance
|
private static java.lang.String |
longopt
long option
|
private static int |
numberOfArgs
the number of arguments
|
private static boolean |
optionalArg
option can have an optional argument value
|
private static boolean |
required
is required?
|
private static java.lang.Object |
type
option type
|
private static char |
valuesep
value separator for argument value
|
Modifier | Constructor and Description |
---|---|
private |
OptionBuilder()
private constructor to prevent instances being created
|
Modifier and Type | Method and Description |
---|---|
static Option |
create()
Create an Option using the current settings
|
static Option |
create(char opt)
Create an Option using the current settings and with
the specified Option
char . |
static Option |
create(java.lang.String opt)
Create an Option using the current settings and with
the specified Option
char . |
static OptionBuilder |
hasArg()
The next Option created will require an argument value.
|
static OptionBuilder |
hasArg(boolean hasArg)
The next Option created will require an argument value if
hasArg is true. |
static OptionBuilder |
hasArgs()
The next Option created can have unlimited argument values.
|
static OptionBuilder |
hasArgs(int num)
The next Option created can have
num
argument values. |
static OptionBuilder |
hasOptionalArg()
The next Option can have an optional argument.
|
static OptionBuilder |
hasOptionalArgs()
The next Option can have an unlimited number of
optional arguments.
|
static OptionBuilder |
hasOptionalArgs(int numArgs)
The next Option can have the specified number of
optional arguments.
|
static OptionBuilder |
isRequired()
The next Option created will be required.
|
static OptionBuilder |
isRequired(boolean newRequired)
The next Option created will be required if
required
is true. |
private static void |
reset()
Resets the member variables to their default values.
|
static OptionBuilder |
withArgName(java.lang.String name)
The next Option created will have the specified argument value
name.
|
static OptionBuilder |
withDescription(java.lang.String newDescription)
The next Option created will have the specified description
|
static OptionBuilder |
withLongOpt(java.lang.String newLongopt)
The next Option created will have the following long option value.
|
static OptionBuilder |
withType(java.lang.Object newType)
The next Option created will have a value that will be an instance
of
type . |
static OptionBuilder |
withValueSeparator()
The next Option created uses '
= ' as a means to
separate argument values. |
static OptionBuilder |
withValueSeparator(char sep)
The next Option created uses
sep as a means to
separate argument values. |
private static java.lang.String longopt
private static java.lang.String description
private static java.lang.String argName
private static boolean required
private static int numberOfArgs
private static java.lang.Object type
private static boolean optionalArg
private static char valuesep
private static OptionBuilder instance
private OptionBuilder()
private static void reset()
public static OptionBuilder withLongOpt(java.lang.String newLongopt)
newLongopt
- the long option valuepublic static OptionBuilder hasArg()
public static OptionBuilder hasArg(boolean hasArg)
hasArg
is true.hasArg
- if true then the Option has an argument valuepublic static OptionBuilder withArgName(java.lang.String name)
name
- the name for the argument valuepublic static OptionBuilder isRequired()
public static OptionBuilder withValueSeparator(char sep)
sep
as a means to
separate argument values.
Example:
Option opt = OptionBuilder.withValueSeparator(':') .create('D'); CommandLine line = parser.parse(args); String propertyName = opt.getValue(0); String propertyValue = opt.getValue(1);
sep
- The value separator to be used for the argument values.public static OptionBuilder withValueSeparator()
=
' as a means to
separate argument values.
Example:
Option opt = OptionBuilder.withValueSeparator() .create('D'); CommandLine line = parser.parse(args); String propertyName = opt.getValue(0); String propertyValue = opt.getValue(1);
public static OptionBuilder isRequired(boolean newRequired)
required
is true.newRequired
- if true then the Option is requiredpublic static OptionBuilder hasArgs()
public static OptionBuilder hasArgs(int num)
num
argument values.num
- the number of args that the option can havepublic static OptionBuilder hasOptionalArg()
public static OptionBuilder hasOptionalArgs()
public static OptionBuilder hasOptionalArgs(int numArgs)
numArgs
- - the maximum number of optional arguments
the next Option created can have.public static OptionBuilder withType(java.lang.Object newType)
type
.newType
- the type of the Options argument valuepublic static OptionBuilder withDescription(java.lang.String newDescription)
newDescription
- a description of the Option's purposepublic static Option create(char opt) throws java.lang.IllegalArgumentException
char
.opt
- the character representation of the Optionjava.lang.IllegalArgumentException
- if opt
is not
a valid character. See Option.public static Option create() throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
- if longOpt
has
not been set.public static Option create(java.lang.String opt) throws java.lang.IllegalArgumentException
char
.opt
- the java.lang.String
representation
of the Optionjava.lang.IllegalArgumentException
- if opt
is not
a valid character. See Option.