Class GroovyInternalPosixParser

  • All Implemented Interfaces:
    org.apache.commons.cli.CommandLineParser

    public class GroovyInternalPosixParser
    extends org.apache.commons.cli.Parser
    DO NOT USE. Hacked version until Commons CLI 1.3 is released. NOTE: this is a mirror copy of org.codehaus.groovy.cli.GroovyPosixParser DON'T MAKE CHANGES without keeping the other file in sync! The class GroovyPosixParser provides an implementation of the flatten method.
    Author:
    John Keyes (john at integralsource.com), Paul King (Groovy hacks/fixes)
    • Field Summary

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

        cmd
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void burstToken​(java.lang.String token, boolean stopAtNonOption)
      Breaks token into its constituent parts using the following algorithm.
      protected java.lang.String[] flatten​(org.apache.commons.cli.Options options, java.lang.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
    • Constructor Detail

      • GroovyInternalPosixParser

        public GroovyInternalPosixParser()
    • Method Detail

      • flatten

        protected java.lang.String[] flatten​(org.apache.commons.cli.Options options,
                                             java.lang.String[] arguments,
                                             boolean stopAtNonOption)
        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 org.apache.commons.cli.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.
      • burstToken

        protected void burstToken​(java.lang.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.