Package 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 theflatten
method.- Version:
- $Revision: 695760 $, $Date: 2008-09-16 01:05:03 -0700 (Tue, 16 Sep 2008) $
- Author:
- John Keyes (john at integralsource.com)
-
-
Constructor Summary
Constructors Constructor Description PosixParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
burstToken(java.lang.String token, boolean stopAtNonOption)
Breakstoken
into its constituent parts using the following algorithm.protected java.lang.String[]
flatten(Options options, java.lang.String[] arguments, boolean stopAtNonOption)
-
Methods inherited from class org.apache.commons.cli.Parser
checkRequiredOptions, getOptions, getRequiredOptions, parse, parse, parse, parse, processArgs, processOption, processProperties, setOptions
-
-
-
-
Constructor Detail
-
PosixParser
public PosixParser()
-
-
Method Detail
-
flatten
protected java.lang.String[] flatten(Options options, java.lang.String[] arguments, boolean stopAtNonOption)
An implementation of
Parser
's abstractflatten
method.The following are the rules used by this flatten method.
- if
stopAtNonOption
is true then do not burst anymore ofarguments
entries, just add each successive entry without further processing. Otherwise, ignorestopAtNonOption
. - 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 validOption
id. If it is a valid id, then add the entry to the list of processed tokens and set the currentOption
member. If it is not a valid id andstopAtNonOption
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 seeburstToken
. - 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.
- if
-
burstToken
protected void burstToken(java.lang.String token, boolean stopAtNonOption)
Breakstoken
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 ANDstopAtNonOption
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 ANDstopAtNonOption
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.
-
-