Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.cli
Class OptionBuilder

    java.lang.Object
      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.

Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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