org.apache.commons.cli

Class OptionBuilder


public class OptionBuilder
extends 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.

Author:
John Keyes ( john at integralsource.com )
Since:
1.0

Field Summary

private static String
argName
argument name
private static String
description
option description
private static OptionBuilder
instance
option builder instance
private static 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 Object
type
option type
private static char
valuesep
value separator for argument value

Constructor Summary

OptionBuilder()

Method Summary

static Option
create()
Create an Option using the current settings
static Option
create(String opt)
Create an Option using the current settings and with the specified Option char.
static Option
create(char 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 required)
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(String name)
The next Option created will have the specified argument value name.
static OptionBuilder
withDescription(String description)
The next Option created will have the specified description
static OptionBuilder
withLongOpt(String longopt)
The next Option created will have the following long option value.
static OptionBuilder
withType(Object type)
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.

Field Details

argName

private static String argName
argument name

description

private static String description
option description

instance

private static OptionBuilder instance
option builder instance

longopt

private static String longopt
long option

numberOfArgs

private static int numberOfArgs
the number of arguments

optionalArg

private static boolean optionalArg
option can have an optional argument value

required

private static boolean required
is required?

type

private static Object type
option type

valuesep

private static char valuesep
value separator for argument value

Constructor Details

OptionBuilder

private OptionBuilder()

Method Details

create

public static Option create()
            throws IllegalArgumentException
Create an Option using the current settings
Returns:
the Option instance

create

public static Option create(String opt)
            throws IllegalArgumentException
Create an Option using the current settings and with the specified Option char.
Parameters:
opt - the java.lang.String representation of the Option
Returns:
the Option instance

create

public static Option create(char opt)
            throws IllegalArgumentException
Create an Option using the current settings and with the specified Option char.
Parameters:
opt - the character representation of the Option
Returns:
the Option instance

hasArg

public static OptionBuilder hasArg()
The next Option created will require an argument value.
Returns:
the OptionBuilder instance

hasArg

public static OptionBuilder hasArg(boolean hasArg)
The next Option created will require an argument value if hasArg is true.
Parameters:
hasArg - if true then the Option has an argument value
Returns:
the OptionBuilder instance

hasArgs

public static OptionBuilder hasArgs()
The next Option created can have unlimited argument values.
Returns:
the OptionBuilder instance

hasArgs

public static OptionBuilder hasArgs(int num)
The next Option created can have num argument values.
Parameters:
num - the number of args that the option can have
Returns:
the OptionBuilder instance

hasOptionalArg

public static OptionBuilder hasOptionalArg()
The next Option can have an optional argument.
Returns:
the OptionBuilder instance

hasOptionalArgs

public static OptionBuilder hasOptionalArgs()
The next Option can have an unlimited number of optional arguments.
Returns:
the OptionBuilder instance

hasOptionalArgs

public static OptionBuilder hasOptionalArgs(int numArgs)
The next Option can have the specified number of optional arguments.
Parameters:
numArgs - - the maximum number of optional arguments the next Option created can have.
Returns:
the OptionBuilder instance

isRequired

public static OptionBuilder isRequired()
The next Option created will be required.
Returns:
the OptionBuilder instance

isRequired

public static OptionBuilder isRequired(boolean required)
The next Option created will be required if required is true.
Parameters:
required - if true then the Option is required
Returns:
the OptionBuilder instance

reset

private static void reset()
Resets the member variables to their default values.

withArgName

public static OptionBuilder withArgName(String name)
The next Option created will have the specified argument value name.
Parameters:
name - the name for the argument value
Returns:
the OptionBuilder instance

withDescription

public static OptionBuilder withDescription(String description)
The next Option created will have the specified description
Parameters:
description - a description of the Option's purpose
Returns:
the OptionBuilder instance

withLongOpt

public static OptionBuilder withLongOpt(String longopt)
The next Option created will have the following long option value.
Parameters:
longopt - the long option value
Returns:
the OptionBuilder instance

withType

public static OptionBuilder withType(Object type)
The next Option created will have a value that will be an instance of type.
Parameters:
type - the type of the Options argument value
Returns:
the OptionBuilder instance

withValueSeparator

public static OptionBuilder withValueSeparator()
The next Option created uses '=' 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 );
 
Returns:
the OptionBuilder instance

withValueSeparator

public static OptionBuilder withValueSeparator(char sep)
The next Option created uses 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 );
 
Returns:
the OptionBuilder instance