Class DefaultOptionParser

  • All Implemented Interfaces:
    OptionParser

    public class DefaultOptionParser
    extends java.lang.Object
    implements OptionParser
    The default command option parser.
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultOptionParser()
      Creates a new DefaultParser instance with partial matching enabled.
      DefaultOptionParser​(boolean allowPartialMatching)
      Create a new DefaultParser instance with the specified partial matching policy.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void checkRequiredOptions()
      Throws a MissingOptionException if all of the required options are not present.
      protected void handleConcatenatedOptions​(java.lang.String token)
      Breaks token into its constituent parts using the following algorithm.
      ParsedOptions parse​(Options options, java.lang.String[] arguments)
      Parse the arguments according to the specified options.
      ParsedOptions parse​(Options options, java.lang.String[] arguments, boolean stopAtNonOption)
      Parse the arguments according to the specified options.
      ParsedOptions parse​(Options options, java.lang.String[] arguments, java.util.Properties properties)
      Parse the arguments according to the specified options and properties.
      ParsedOptions parse​(Options options, java.lang.String[] arguments, java.util.Properties properties, boolean stopAtNonOption)
      Parse the arguments according to the specified options and properties.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DefaultOptionParser

        public DefaultOptionParser()
        Creates a new DefaultParser instance with partial matching enabled. By "partial matching" we mean that given the following code:
             
             Options options = new Options();
             options.addOption(new Option("d", "debug", false, "Turn on debug."));
             options.addOption(new Option("e", "extract", false, "Turn on extract."));
             options.addOption(new Option("o", "option", true, "Turn on option with argument."));
             
         
        with "partial matching" turned on, -de only matches the "debug" option. However, with "partial matching" disabled, -de would enable both debug as well as extract options.
      • DefaultOptionParser

        public DefaultOptionParser​(boolean allowPartialMatching)
        Create a new DefaultParser instance with the specified partial matching policy. By "partial matching" we mean that given the following code:
             
                  Options options = new Options();
              options.addOption(new Option("d", "debug", false, "Turn on debug."));
              options.addOption(new Option("e", "extract", false, "Turn on extract."));
              options.addOption(new Option("o", "option", true, "Turn on option with argument."));
              
         
        with "partial matching" turned on, -de only matches the "debug" option. However, with "partial matching" disabled, -de would enable both debug as well as extract options.
        Parameters:
        allowPartialMatching - if partial matching of long options shall be enabled
    • Method Detail

      • parse

        public ParsedOptions parse​(Options options,
                                   java.lang.String[] arguments)
                            throws OptionParserException
        Description copied from interface: OptionParser
        Parse the arguments according to the specified options.
        Specified by:
        parse in interface OptionParser
        Parameters:
        options - the specified Options
        arguments - the command line arguments
        Returns:
        the list of atomic option and value tokens
        Throws:
        OptionParserException - if there are any problems encountered while parsing the command line tokens
      • parse

        public ParsedOptions parse​(Options options,
                                   java.lang.String[] arguments,
                                   java.util.Properties properties)
                            throws OptionParserException
        Parse the arguments according to the specified options and properties.
        Specified by:
        parse in interface OptionParser
        Parameters:
        options - the specified Options
        arguments - the command line arguments
        properties - command line option name-value pairs
        Returns:
        the list of atomic option and value tokens
        Throws:
        OptionParserException - if there are any problems encountered while parsing the command line tokens
      • parse

        public ParsedOptions parse​(Options options,
                                   java.lang.String[] arguments,
                                   boolean stopAtNonOption)
                            throws OptionParserException
        Description copied from interface: OptionParser
        Parse the arguments according to the specified options.
        Specified by:
        parse in interface OptionParser
        Parameters:
        options - the specified Options
        arguments - the command line arguments
        stopAtNonOption - if true an unrecognized argument stops the parsing and the remaining arguments are added to the ParsedOptionss args list. If false an unrecognized argument triggers a ParseException.
        Returns:
        the list of atomic option and value tokens
        Throws:
        OptionParserException - if there are any problems encountered while parsing the command line tokens
      • parse

        public ParsedOptions parse​(Options options,
                                   java.lang.String[] arguments,
                                   java.util.Properties properties,
                                   boolean stopAtNonOption)
                            throws OptionParserException
        Parse the arguments according to the specified options and properties.
        Specified by:
        parse in interface OptionParser
        Parameters:
        options - the specified Options
        arguments - the command line arguments
        properties - command line option name-value pairs
        stopAtNonOption - if true an unrecognized argument stops the parsing and the remaining arguments are added to the ParsedOptionss args list. If false an unrecognized argument triggers a ParseException.
        Returns:
        the list of atomic option and value tokens
        Throws:
        OptionParserException - if there are any problems encountered while parsing the command line tokens
      • handleConcatenatedOptions

        protected void handleConcatenatedOptions​(java.lang.String token)
                                          throws OptionParserException
        Breaks token into its constituent parts using the following algorithm.
        • for each remaining character check if an Option exists with that id.
        • if an Option does exist then add that character prepended with "-" to the list of processed tokens.
        • if the Option can have an argument value and there are remaining characters in the token then add the remaining characters as a token to the list of processed tokens.
        • if an Option does NOT exist AND stopAtNonOption IS set then add the special token "--" followed by the remaining characters and also the remaining tokens directly to the processed tokens list.
        • if an Option does NOT exist AND stopAtNonOption IS NOT set then add that character prepended with "-".
        Parameters:
        token - the current token to be burst at the first non-Option encountered
        Throws:
        OptionParserException - if there are any problems encountered while parsing the command line token