|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.android.sdklib.util.CommandLineParser
public class CommandLineParser
Parses the command-line and stores flags needed or requested.
This is a base class. To be useful you want to:parseArgs(String[]) and then
call getValue(String, String, String).
| Nested Class Summary | |
|---|---|
static class |
CommandLineParser.Mode
The mode of an argument specifies the type of variable it represents, whether an extra parameter is required after the flag and how to parse it. |
| Field Summary | |
|---|---|
static java.lang.String |
GLOBAL_FLAG_VERB
Internal verb name for internally hidden flags. |
static java.lang.String |
KEY_HELP
The global help flag. |
static java.lang.String |
KEY_SILENT
The global silent flag. |
static java.lang.String |
KEY_VERBOSE
The global verbose flag. |
static java.lang.String |
NO_VERB_OBJECT
String to use when the verb doesn't need any object. |
| Constructor Summary | |
|---|---|
CommandLineParser(com.android.utils.ILogger logger,
java.lang.String[][] actions)
Constructs a new command-line processor. |
|
| Method Summary | |
|---|---|
boolean |
acceptLackOfVerb()
Indicates if this command-line can work when no verb is specified. |
protected void |
define(CommandLineParser.Mode mode,
boolean mandatory,
java.lang.String verb,
java.lang.String directObject,
java.lang.String shortName,
java.lang.String longName,
java.lang.String description,
java.lang.Object defaultValue)
Internal helper to define a new argument for a give action. |
protected void |
exit()
Exits in case of error. |
protected com.android.sdklib.util.CommandLineParser.Arg |
findLongArg(java.lang.String verb,
java.lang.String directObject,
java.lang.String longName)
Finds an Arg given an action name and a long flag name. |
protected com.android.sdklib.util.CommandLineParser.Arg |
findShortArg(java.lang.String verb,
java.lang.String directObject,
java.lang.String shortName)
Finds an Arg given an action name and a short flag name. |
java.lang.String |
getDirectObject()
Returns the direct object name from the command-line. |
java.lang.Object |
getValue(java.lang.String verb,
java.lang.String directObject,
java.lang.String longFlagName)
Raw access to parsed parameter values. |
java.lang.String |
getVerb()
Returns the verb name from the command-line. |
boolean |
isHelpRequested()
Helper that returns true if --help was requested. |
boolean |
isSilent()
Helper that returns true if --silent was requested. |
boolean |
isVerbose()
Helper that returns true if --verbose was requested. |
protected void |
listOptions(java.lang.String verb,
java.lang.String directObject)
Internal helper to print all the option flags for a given action name. |
void |
parseArgs(java.lang.String[] args)
Parses the command-line arguments. |
void |
printHelpAndExit(java.lang.String errorFormat,
java.lang.Object... args)
Prints the help/usage and exits. |
void |
printHelpAndExitForAction(java.lang.String verb,
java.lang.String directObject,
java.lang.String errorFormat,
java.lang.Object... args)
Prints the help/usage and exits. |
protected void |
setValue(java.lang.String verb,
java.lang.String directObject,
java.lang.String longFlagName,
java.lang.Object value)
Internal setter for raw parameter value. |
protected void |
stderr(java.lang.String format,
java.lang.Object... args)
Prints a line to stderr. |
protected void |
stdout(java.lang.String format,
java.lang.Object... args)
Prints a line to stdout. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String GLOBAL_FLAG_VERB
public static final java.lang.String NO_VERB_OBJECT
public static final java.lang.String KEY_HELP
public static final java.lang.String KEY_VERBOSE
public static final java.lang.String KEY_SILENT
| Constructor Detail |
|---|
public CommandLineParser(com.android.utils.ILogger logger,
java.lang.String[][] actions)
logger - An SDK logger object. Must not be null.actions - The list of actions recognized on the command-line.
See the javadoc of mActions for more details.mActions| Method Detail |
|---|
public boolean acceptLackOfVerb()
public boolean isVerbose()
public boolean isSilent()
public boolean isHelpRequested()
public java.lang.String getVerb()
public java.lang.String getDirectObject()
public java.lang.Object getValue(java.lang.String verb,
java.lang.String directObject,
java.lang.String longFlagName)
verb - The verb name, including GLOBAL_FLAG_VERB. If null, all possible
verbs that match the direct object condition will be examined and the first
value set will be used.directObject - The direct object name, including NO_VERB_OBJECT. If null,
all possible direct objects that match the verb condition will be examined and
the first value set will be used.longFlagName - The long flag name for the given action. Mandatory. Cannot be null.
protected void setValue(java.lang.String verb,
java.lang.String directObject,
java.lang.String longFlagName,
java.lang.Object value)
verb - The verb name, including GLOBAL_FLAG_VERB.directObject - The direct object name, including NO_VERB_OBJECT.longFlagName - The long flag name for the given action.value - The new current value object stored in the parameter, which depends on the
argument mode.public void parseArgs(java.lang.String[] args)
args - The arguments typically received by a main method.
protected com.android.sdklib.util.CommandLineParser.Arg findLongArg(java.lang.String verb,
java.lang.String directObject,
java.lang.String longName)
Arg given an action name and a long flag name.
Arg found or null.
protected com.android.sdklib.util.CommandLineParser.Arg findShortArg(java.lang.String verb,
java.lang.String directObject,
java.lang.String shortName)
Arg given an action name and a short flag name.
Arg found or null.
public void printHelpAndExit(java.lang.String errorFormat,
java.lang.Object... args)
errorFormat - Optional error message to print prior to usage using String.formatargs - Arguments for String.format
public void printHelpAndExitForAction(java.lang.String verb,
java.lang.String directObject,
java.lang.String errorFormat,
java.lang.Object... args)
verb - If null, displays help for all verbs. If not null, display help only
for that specific verb. In all cases also displays general usage and action list.directObject - If null, displays help for all verb objects.
If not null, displays help only for that specific action
In all cases also display general usage and action list.errorFormat - Optional error message to print prior to usage using String.formatargs - Arguments for String.format
protected void listOptions(java.lang.String verb,
java.lang.String directObject)
protected void define(CommandLineParser.Mode mode,
boolean mandatory,
@NonNull
java.lang.String verb,
@NonNull
java.lang.String directObject,
@NonNull
java.lang.String shortName,
@NonNull
java.lang.String longName,
@NonNull
java.lang.String description,
@Nullable
java.lang.Object defaultValue)
mode - The CommandLineParser.Mode for the argument.mandatory - The argument is required (never if CommandLineParser.Mode.BOOLEAN)verb - The verb name. Never null. Can be GLOBAL_FLAG_VERB.directObject - The action name. Can be NO_VERB_OBJECT.shortName - The one-letter short argument name. Can be empty but not null.longName - The long argument name. Can be empty but not null.description - The description. Cannot be null.defaultValue - The default value (or values), which depends on the selected
CommandLineParser.Mode.protected void exit()
protected void stdout(java.lang.String format,
java.lang.Object... args)
format - The string to be formatted. Cannot be null.args - Format arguments.
protected void stderr(java.lang.String format,
java.lang.Object... args)
format - The string to be formatted. Cannot be null.args - Format arguments.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||