# Class Parser

java.lang.Object
org.apache.commons.cli.Parser

All Implemented Interfaces:
  `CommandLineParser`

Direct Known Subclasses:
  `BasicParser, GnuParser, PosixParser`

@Deprecated public abstract class Parser extends Object implements CommandLineParser
Deprecated.
Since 1.3, the two-pass parsing with the flatten method is not enough flexible to handle complex cases.
Creates `CommandLine` instances.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected CommandLine`
  `cmd`
  Deprecated.
  CommandLine instance

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Parser()`
  Deprecated.
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `checkRequiredOptions()`
  Deprecated.
  Throws a `MissingOptionException` if all of the required options are not present.
  `protected abstract String[]`
  `flatten(Options opts, String[] arguments, boolean stopAtNonOption)`
  Deprecated.
  Subclasses must implement this method to reduce the `arguments` that have been passed to the parse method.
  `protected Options`
  `getOptions()`
  Deprecated.
  Gets the options.
  `protected List`
  `getRequiredOptions()`
  Deprecated.
  Gets the required options.
  `CommandLine`
  `parse(Options options, String[] arguments)`
  Deprecated.
  Parses the specified `arguments` based on the specified `Options`.
  `CommandLine`
  `parse(Options options, String[] arguments, boolean stopAtNonOption)`
  Deprecated.
  Parses the specified `arguments` based on the specified `Options`.
  `CommandLine`
  `parse(Options options, String[] arguments, Properties properties)`
  Deprecated.
  Parses the arguments according to the specified options and properties.
  `CommandLine`
  `parse(Options options, String[] arguments, Properties properties, boolean stopAtNonOption)`
  Deprecated.
  Parses the arguments according to the specified options and properties.
  `void`
  `processArgs(Option opt, ListIterator<String> iter)`
  Deprecated.
  Processes the argument values for the specified Option `opt` using the values retrieved from the specified iterator `iter`.
  `protected void`
  `processOption(String arg, ListIterator<String> iter)`
  Deprecated.
  Processes the Option specified by `arg` using the values retrieved from the specified iterator `iter`.
  `protected void`
  `processProperties(Properties properties)`
  Deprecated.
  Sets the values of Options using the values in `properties`.
  `protected void`
  `setOptions(Options options)`
  Deprecated.
  Sets the options.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### cmd

    protected CommandLine cmd
    Deprecated.
    CommandLine instance

- ## Constructor Details

  - ### Parser

    public Parser()
    Deprecated.
    Constructs a new instance.

- ## Method Details

  - ### checkRequiredOptions

    protected void checkRequiredOptions() throws MissingOptionException
    Deprecated.
    Throws a `MissingOptionException` if all of the required options are not present.
    Throws:
      `MissingOptionException` - if any of the required Options are not present.

  - ### flatten

    protected abstract String[] flatten(Options opts, String[] arguments, boolean stopAtNonOption) throws ParseException
    Deprecated.
    Subclasses must implement this method to reduce the `arguments` that have been passed to the parse method.
    Parameters:
      `opts` - The Options to parse the arguments by.
      `arguments` - The arguments that have to be flattened.
      `stopAtNonOption` - specifies whether to stop flattening when a non option has been encountered.
    Returns:
      a String array of the flattened arguments.
    Throws:
      `ParseException` - if there are any problems encountered while parsing the command line tokens.

  - ### getOptions

    protected Options getOptions()
    Deprecated.
    Gets the options.
    Returns:
      the options.

  - ### getRequiredOptions

    protected List getRequiredOptions()
    Deprecated.
    Gets the required options.
    Returns:
      the required options.

  - ### parse

    public CommandLine parse(Options options, String[] arguments) throws ParseException
    Deprecated.
    Parses the specified `arguments` based on the specified `Options`.
    Specified by:
      `parse` in interface `CommandLineParser`
    Parameters:
      `options` - the `Options`.
      `arguments` - the `arguments`.
    Returns:
      the `CommandLine`.
    Throws:
      `ParseException` - if there are any problems encountered while parsing the command line tokens.

  - ### parse

    public CommandLine parse(Options options, String[] arguments, boolean stopAtNonOption) throws ParseException
    Deprecated.
    Parses the specified `arguments` based on the specified `Options`.
    Specified by:
      `parse` in interface `CommandLineParser`
    Parameters:
      `options` - the `Options`.
      `arguments` - the `arguments`.
      `stopAtNonOption` - if `true` an unrecognized argument stops the parsing and the remaining arguments are added to the `CommandLine`s args list. If `false` an unrecognized argument triggers a ParseException.
    Returns:
      the `CommandLine`.
    Throws:
      `ParseException` - if an error occurs when parsing the arguments.

  - ### parse

    public CommandLine parse(Options options, String[] arguments, Properties properties) throws ParseException
    Deprecated.
    Parses the arguments according to the specified options and properties.
    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:
      `ParseException` - if there are any problems encountered while parsing the command line tokens.
    Since:
      1.1

  - ### parse

    public CommandLine parse(Options options, String[] arguments, Properties properties, boolean stopAtNonOption) throws ParseException
    Deprecated.
    Parses the arguments according to the specified options and properties.
    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 `CommandLine`s args list. If `false` an unrecognized argument triggers a ParseException.
    Returns:
      the list of atomic option and value tokens.
    Throws:
      `ParseException` - if there are any problems encountered while parsing the command line tokens.
    Since:
      1.1

  - ### processArgs

    public void processArgs(Option opt, ListIterator<String> iter) throws ParseException
    Deprecated.
    Processes the argument values for the specified Option `opt` using the values retrieved from the specified iterator `iter`.
    Parameters:
      `opt` - The current Option.
      `iter` - The iterator over the flattened command line Options.
    Throws:
      `ParseException` - if an argument value is required and it is has not been found.

  - ### processOption

    protected void processOption(String arg, ListIterator<String> iter) throws ParseException
    Deprecated.
    Processes the Option specified by `arg` using the values retrieved from the specified iterator `iter`.
    Parameters:
      `arg` - The String value representing an Option.
      `iter` - The iterator over the flattened command line arguments.
    Throws:
      `ParseException` - if `arg` does not represent an Option.

  - ### processProperties

    protected void processProperties(Properties properties) throws ParseException
    Deprecated.
    Sets the values of Options using the values in `properties`.
    Parameters:
      `properties` - The value properties to be processed.
    Throws:
      `ParseException` - if there are any problems encountered while processing the properties.

  - ### setOptions

    protected void setOptions(Options options)
    Deprecated.
    Sets the options.
    Parameters:
      `options` - the options.