org.apache.commons.cli
Class OptionBuilder

java.lang.Object
  extended by org.apache.commons.cli.OptionBuilder

public final 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.

Since:
1.0
Version:
$Revision: 754830 $, $Date: 2009-03-16 00:26:44 -0700 (Mon, 16 Mar 2009) $
Author:
John Keyes (john at integralsource.com)

Method Summary
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(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.
static OptionBuilder withArgName(String name)
          The next Option created will have the specified argument value name.
static OptionBuilder withDescription(String newDescription)
          The next Option created will have the specified description
static OptionBuilder withLongOpt(String newLongopt)
          The next Option created will have the following long option value.
static OptionBuilder withType(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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

withLongOpt

public static OptionBuilder withLongOpt(String newLongopt)
The next Option created will have the following long option value.

Parameters:
newLongopt - the long option value
Returns:
the OptionBuilder 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

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

isRequired

public static OptionBuilder isRequired()
The next Option created will be required.

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);
 

Parameters:
sep - The value separator to be used for the argument values.
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

isRequired

public static OptionBuilder isRequired(boolean newRequired)
The next Option created will be required if required is true.

Parameters:
newRequired - if true then the Option is required
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

withType

public static OptionBuilder withType(Object newType)
The next Option created will have a value that will be an instance of type.

Parameters:
newType - the type of the Options argument value
Returns:
the OptionBuilder instance

withDescription

public static OptionBuilder withDescription(String newDescription)
The next Option created will have the specified description

Parameters:
newDescription - a description of the Option's purpose
Returns:
the OptionBuilder 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
Throws:
IllegalArgumentException - if opt is not a valid character. See Option.

create

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

Returns:
the Option instance
Throws:
IllegalArgumentException - if longOpt has not been set.

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
Throws:
IllegalArgumentException - if opt is not a valid character. See Option.


Copyright © 2002-2009 The Apache Software Foundation. All Rights Reserved.