Class Option.Builder

java.lang.Object
org.apache.commons.cli.Option.Builder
Enclosing class:
Option

public static final class Option.Builder extends Object
Builds Option instances using descriptive methods.

Example usage:

 Option option = Option.builder("a").required(true).longOpt("arg-name").build();
 
Since:
1.3
  • Method Details

    • argName

      public Option.Builder argName(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.
    • build

      public Option build()
      Constructs an Option with the values declared by this Option.Builder.
      Returns:
      the new Option.
      Throws:
      IllegalArgumentException - if neither opt or longOpt has been set.
    • converter

      public Option.Builder converter(Converter<?,?> converter)
      Sets the converter for the option.

      Note: see TypeHandler for serialization discussion.

      Parameters:
      converter - the Converter to use.
      Returns:
      this builder, to allow method chaining.
      Since:
      1.7.0
    • deprecated

      Marks this Option as deprecated.
      Returns:
      this builder.
      Since:
      1.7.0
    • deprecated

      Sets whether the Option is deprecated.
      Parameters:
      deprecated - specifies whether the Option is deprecated.
      Returns:
      this builder.
      Since:
      1.7.0
    • desc

      public Option.Builder desc(String description)
      Sets the description for this option.
      Parameters:
      description - the description of the option.
      Returns:
      this builder, to allow method chaining.
    • hasArg

      Tests whether the Option will require an argument.
      Returns:
      this builder, to allow method chaining.
    • hasArg

      public Option.Builder hasArg(boolean hasArg)
      Tests whether 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

      Tests whether the Option can have unlimited argument values.
      Returns:
      this builder.
    • longOpt

      public Option.Builder longOpt(String longOpt)
      Sets the long name of the Option.
      Parameters:
      longOpt - the long name of the Option
      Returns:
      this builder.
    • numberOfArgs

      public Option.Builder numberOfArgs(int argCount)
      Sets the number of argument values the Option can take.
      Parameters:
      argCount - the number of argument values
      Returns:
      this builder.
    • option

      Sets the name of the Option.
      Parameters:
      option - the name of the Option.
      Returns:
      this builder.
      Throws:
      IllegalArgumentException - if there are any non valid Option characters in opt.
      Since:
      1.5.0
    • optionalArg

      public Option.Builder optionalArg(boolean optionalArg)
      Sets whether the Option can have an optional argument.
      Parameters:
      optionalArg - specifies whether the Option can have an optional argument.
      Returns:
      this builder.
    • required

      Marks this Option as required.
      Returns:
      this builder.
    • required

      public Option.Builder required(boolean required)
      Sets whether the Option is required.
      Parameters:
      required - specifies whether the Option is required.
      Returns:
      this builder.
    • type

      public Option.Builder type(Class<?> type)
      Sets the type of the Option.
      Parameters:
      type - the type of the Option.
      Returns:
      this builder.
    • valueSeparator

      The Option will use '=' as a means to separate argument value.
      Returns:
      this builder.
    • valueSeparator

      public Option.Builder valueSeparator(char valueSeparator)
      The Option will use sep as 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.