[Java] Class GroovyPosixParser
- org.codehaus.groovy.cli.GroovyPosixParser
DO NOT USE. Hacked version until Commons CLI 1.3 is released. NOTE: this is a mirror copy of org.apache.commons.cli.GroovyInternalPosixParser DON'T MAKE CHANGES without keeping the other file in sync! The class GroovyPosixParser provides an implementation of the flatten method.
- Authors:
- John Keyes (john at integralsource.com)
- Paul King (Groovy hacks/fixes)
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
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. |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Parser | parse, parse, parse, parse, processArgs, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Method Detail
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 burst -
stopAtNonOption
- Specifies whether to stop processing at the first non-Option encountered.
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 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 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 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 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.
- 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.
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/cli/GroovyPosixParser.html