org.apache.commons.cli
Class PosixParser
java.lang.Object
org.apache.commons.cli.Parser
org.apache.commons.cli.PosixParser
- All Implemented Interfaces:
- CommandLineParser
public class PosixParser
- extends Parser
The class PosixParser provides an implementation of the
flatten
method.
- Version:
- $Revision: 695760 $, $Date: 2008-09-16 01:05:03 -0700 (Tue, 16 Sep 2008) $
- Author:
- John Keyes (john at integralsource.com)
Fields inherited from class org.apache.commons.cli.Parser |
cmd |
Method Summary |
protected void |
burstToken(String token,
boolean stopAtNonOption)
Breaks token into its constituent parts
using the following algorithm. |
protected String[] |
flatten(Options options,
String[] arguments,
boolean stopAtNonOption)
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 |
PosixParser
public PosixParser()
flatten
protected String[] flatten(Options options,
String[] arguments,
boolean stopAtNonOption)
An implementation of Parser
's abstract
flatten
method.
The following are the rules used by this flatten method.
- if
stopAtNonOption
is true then do not
burst anymore of arguments
entries, just add each
successive entry without further processing. Otherwise, ignore
stopAtNonOption
.
- if the current
arguments
entry is "--"
just add the entry to the list of processed tokens
- if the current
arguments
entry is "-"
just add the entry to the list of processed tokens
- 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.
- 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
.
- 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 parsedstopAtNonOption
- Specifies whether to stop flattening
when an non option is found.
- Returns:
- The flattened
arguments
String array.
burstToken
protected void burstToken(String token,
boolean stopAtNonOption)
- Breaks
token
into its constituent parts
using the following algorithm.
- ignore the first character ("-")
- foreach 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 burststopAtNonOption
- Specifies whether to stop processing
at the first non-Option encountered.
Copyright © 2002-2009 The Apache Software Foundation. All Rights Reserved.