Class Options

  • All Implemented Interfaces:
    Serializable

    public class Options
    extends Object
    implements Serializable
    Main entry-point into the library.

    Options represents a collection of Option objects, which describe the possible options for a command-line.

    It may flexibly parse long and short options, with or without values. Additionally, it may parse only a portion of a commandline, allowing for flexible multi-stage parsing.

    See Also:
    CommandLine, Serialized Form
    • Constructor Detail

    • Method Detail

      • addOptionGroup

        public Options addOptionGroup​(OptionGroup group)
        Add the specified option group.
        Parameters:
        group - the OptionGroup that is to be added
        Returns:
        the resulting Options instance
      • addOption

        public Options addOption​(String opt,
                                 String description)
        Add an option that only contains a short name.

        The option does not take an argument.

        Parameters:
        opt - Short single-character name of the option.
        description - Self-documenting description
        Returns:
        the resulting Options instance
        Since:
        1.3
      • addOption

        public Options addOption​(String opt,
                                 boolean hasArg,
                                 String description)
        Add an option that only contains a short-name.

        It may be specified as requiring an argument.

        Parameters:
        opt - Short single-character name of the option.
        hasArg - flag signalling if an argument is required after this option
        description - Self-documenting description
        Returns:
        the resulting Options instance
      • addOption

        public Options addOption​(String opt,
                                 String longOpt,
                                 boolean hasArg,
                                 String description)
        Add an option that contains a short-name and a long-name.

        It may be specified as requiring an argument.

        Parameters:
        opt - Short single-character name of the option.
        longOpt - Long multi-character name of the option.
        hasArg - flag signalling if an argument is required after this option
        description - Self-documenting description
        Returns:
        the resulting Options instance
      • addRequiredOption

        public Options addRequiredOption​(String opt,
                                         String longOpt,
                                         boolean hasArg,
                                         String description)
        Add an option that contains a short-name and a long-name.

        The added option is set as required. It may be specified as requiring an argument. This method is a shortcut for:

         
         Options option = new Option(opt, longOpt, hasArg, description);
         option.setRequired(true);
         options.add(option);
         
         
        Parameters:
        opt - Short single-character name of the option.
        longOpt - Long multi-character name of the option.
        hasArg - flag signalling if an argument is required after this option
        description - Self-documenting description
        Returns:
        the resulting Options instance
        Since:
        1.4
      • addOption

        public Options addOption​(Option opt)
        Adds an option instance
        Parameters:
        opt - the option that is to be added
        Returns:
        the resulting Options instance
      • getOptions

        public Collection<OptiongetOptions()
        Retrieve a read-only list of options in this set
        Returns:
        read-only Collection of Option objects in this descriptor
      • getRequiredOptions

        public List getRequiredOptions()
        Returns the required options.
        Returns:
        read-only List of required options
      • getOption

        public Option getOption​(String opt)
        Retrieve the Option matching the long or short name specified.

        The leading hyphens in the name are ignored (up to 2).

        Parameters:
        opt - short or long name of the Option
        Returns:
        the option represented by opt
      • getMatchingOptions

        public List<StringgetMatchingOptions​(String opt)
        Returns the options with a long name starting with the name specified.
        Parameters:
        opt - the partial name of the option
        Returns:
        the options matching the partial name specified, or an empty list if none matches
        Since:
        1.3
      • getOptionGroup

        public OptionGroup getOptionGroup​(Option opt)
        Returns the OptionGroup the opt belongs to.
        Parameters:
        opt - the option whose OptionGroup is being queried.
        Returns:
        the OptionGroup if opt is part of an OptionGroup, otherwise return null
      • toString

        public String toString()
        Dump state, suitable for debugging.
        Overrides:
        toString in class Object
        Returns:
        Stringified form of this object