org.apache.commons.cli

## Class PosixParser

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

All Implemented Interfaces:
  CommandLineParser

Deprecated.
since 1.3, use the `DefaultParser` instead

    @Deprecated
    public class PosixParser
    extends Parser

The class PosixParser provides an implementation of the `flatten` method.

Version:
  $Id: PosixParser.java 1783175 2017-02-16 07:52:05Z britter $

### Field Summary

### Fields inherited from class org.apache.commons.cli.Parser

`cmd`

### Constructor Summary

Constructors
Constructor and Description
`PosixParser()` Deprecated.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`protected void` `burstToken(String token, boolean stopAtNonOption)` Deprecated. Breaks `token` into its constituent parts using the following algorithm.
`protected String[]` `flatten(Options options, String[] arguments, boolean stopAtNonOption)` Deprecated. An implementation of `Parser`'s abstract `flatten` method.

### Methods inherited from class org.apache.commons.cli.Parser

`checkRequiredOptions, getOptions, getRequiredOptions, parse, parse, parse, parse, processArgs, processOption, processProperties, setOptions`

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### PosixParser

    public PosixParser()

Deprecated.

### Method Detail

#### flatten

    protected String[] flatten(Options options,
                               String[] arguments,
                               boolean stopAtNonOption)
                        throws ParseException

Deprecated.

An implementation of `Parser`'s abstract `flatten` method.

The following are the rules used by this flatten method.

1. if `stopAtNonOption` is true then do not burst anymore of `arguments` entries, just add each successive entry without further processing. Otherwise, ignore `stopAtNonOption`.
2. if the current `arguments` entry is "--" just add the entry to the list of processed tokens
3. if the current `arguments` entry is "-" just add the entry to the list of processed tokens
4. if the current `arguments` entry is two characters in length and the first character is "-" then check if this is a valid `Option` id. If it is a valid id, then add the entry to the list of processed tokens and set the current `Option` member. If it is not a valid id and `stopAtNonOption` is true, then the remaining entries are copied to the list of processed tokens. Otherwise, the current entry is ignored.
5. if the current `arguments` entry is more than two characters in length and the first character is "-" then we need to burst the entry to determine its constituents. For more information on the bursting algorithm see `burstToken`.
6. if the current `arguments` entry is not handled by any of the previous rules, then the entry is added to the list of processed tokens.

Specified by:
  `flatten` in class `Parser`
Parameters:
  `options` - The command line `Options`
  `arguments` - The command line arguments to be parsed
  `stopAtNonOption` - Specifies whether to stop flattening when an non option is found.
Returns:
  The flattened `arguments` String array.
Throws:
  `ParseException` - if there are any problems encountered while parsing the command line tokens.

#### burstToken

    protected void burstToken(String token,
                              boolean stopAtNonOption)

Deprecated.
Breaks `token` into its constituent parts using the following algorithm.

- ignore the first character ("-")
- 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
  `stopAtNonOption` - Specifies whether to stop processing at the first non-Option encountered.