org.codehaus.groovy.grails.cli.parsing
Class CommandLineParser

java.lang.Object
  extended by org.codehaus.groovy.grails.cli.parsing.CommandLineParser

public class CommandLineParser
extends java.lang.Object

Command line parser that parses arguments to the command line. Written as a replacement for Commons CLI because it doesn't support unknown arguments and requires all arguments to be declared up front. It also doesn't support command options with hyphens. This class gets around those problems.

Since:
2.0

Constructor Summary
CommandLineParser()
           
 
Method Summary
 void addOption(java.lang.String name, java.lang.String description)
          Adds a declared option
protected  DefaultCommandLine createCommandLine()
           
static CommandLine getCurrentCommandLine()
           
 java.lang.String getOptionsHelpMessage()
           
 CommandLine parse(java.lang.String... args)
          Parses the given list of command line arguments.
 CommandLine parseString(java.lang.String string)
          Parses a string of all the command line options converting them into an array of arguments to pass to #parse(String..args)
 CommandLine parseString(java.lang.String commandName, java.lang.String args)
          Parses a string of all the command line options converting them into an array of arguments to pass to #parse(String..args)
protected  void processOption(DefaultCommandLine cl, java.lang.String arg)
           
protected  void processSystemArg(DefaultCommandLine cl, java.lang.String arg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommandLineParser

public CommandLineParser()
Method Detail

getCurrentCommandLine

public static CommandLine getCurrentCommandLine()

addOption

public void addOption(java.lang.String name,
                      java.lang.String description)
Adds a declared option

Parameters:
name - The name of the option
description - The description

parseString

public CommandLine parseString(java.lang.String string)
Parses a string of all the command line options converting them into an array of arguments to pass to #parse(String..args)

Parameters:
string - The string
Returns:
The command line

parseString

public CommandLine parseString(java.lang.String commandName,
                               java.lang.String args)
Parses a string of all the command line options converting them into an array of arguments to pass to #parse(String..args)

Parameters:
commandName - The command name
args - The string
Returns:
The command line

parse

public CommandLine parse(java.lang.String... args)
Parses the given list of command line arguments. Arguments starting with -D become system properties, arguments starting with -- or - become either declared or undeclared options. All other arguments are put into a list of remaining arguments

Parameters:
args - The arguments
Returns:
The command line state

getOptionsHelpMessage

public java.lang.String getOptionsHelpMessage()

createCommandLine

protected DefaultCommandLine createCommandLine()

processOption

protected void processOption(DefaultCommandLine cl,
                             java.lang.String arg)

processSystemArg

protected void processSystemArg(DefaultCommandLine cl,
                                java.lang.String arg)