ArgsOptionParser
public
class
ArgsOptionParser
extends OptionSetter
java.lang.Object | ||
😎 | com.android.tradefed.config.OptionSetter | |
😎 | com.android.tradefed.config.ArgsOptionParser |
Füllt Option
-Felder aus geparsten Befehlszeilenargumenten.
Strings im übergebenen String[] werden von links nach rechts geparst. Jeder String wird als Kurzform klassifiziert, (z. B. "-v"), eine lange Option (z. B. "--verbose"), ein Argument für eine Option (z. B. „out.txt“ in „-f out.txt“) oder ein Positionsargument ohne Option sein.
Jedes Optionsargument muss einem oder mehreren Option
-Feldern zugeordnet sein. Eine lange Option entspricht
Option
-Name und eine kurze Option wird dem Kurznamen Option
zugeordnet. Jeder Optionsname und
Der Kurzname der Option muss in Bezug auf alle anderen
Option
-Felder innerhalb desselben Objekts.
Ein einzelnes Optionsargument kann mehreren Option
-Feldern mit demselben Namen zugeordnet werden
für mehrere Objekte. Option
-Argumente können mit einem Namespace versehen werden, um eindeutig auf ein
Option
innerhalb eines einzelnen Objekts unter Verwendung des vollständigen Klassennamens oder der
OptionClass
-Aliaswert, getrennt durch „:“. d
--classname:optionname optionvalue or --optionclassalias:optionname optionvalue.
Eine einfache kurze Option ist „-“ gefolgt von einem kurzen Optionszeichen. Wenn für die Option ein -Argument (was auf jede nicht-boolesche Option zutrifft), kann es als separater Parameter geschrieben werden, aber nicht sein müssen. Das heißt, „-f out.txt“ und „-fout.txt“ sind beide akzeptabel.
Nach einem einzelnen „-“ können mehrere Kurzoptionen angegeben werden. solange alle (außer möglicherweise die letzte) erfordern keine Argumente.
Eine lange Option beginnt mit „--“ gefolgt von mehreren Zeichen. Wenn für die Option ein Argument direkt nach dem Optionsnamen, getrennt durch "=", oder als nächstes . (d. h. „--file=out.txt“ oder „--file out.txt“.)
Eine boolesche lange Option „--name“ erhält automatisch die Meldung "--no-name", Companion ist. Option angegeben "--flag", then, "--flag", "--no-flag", "--flag=true" und "--flag=false" sind jedoch alle gültig, weder "--flag true" noch „--flag false“ zulässig, da „--flag“ allein ausreicht, folgen „true“ oder „false“ separat interpretiert werden). Sie können „Ja“ verwenden. und „nein“ als Synonyme für „true“ und „false“.
Jeder String beginnt nicht mit einem „-“ und kein erforderliches Argument der vorherigen Option Positionsargument ohne Option wie alle aufeinanderfolgenden Strings. Jeder String nach einem „--“ ist ein Positionsargument ohne Option.
Die Felder, die den Optionen entsprechen, werden während der Verarbeitung ihrer Optionen aktualisiert. Noch übrig Positionsargumente werden als List<String> zurückgegeben.
Hier ein einfaches Beispiel:
// Non-@Option fields will be ignored. class Options { @Option(name = "quiet", shortName = 'q') boolean quiet = false; // Here the user can use --no-color. @Option(name = "color") boolean color = true; @Option(name = "mode", shortName = 'm') String mode = "standard; // Supply a default just by setting the field. @Option(name = "port", shortName = 'p') int portNumber = 8888; // There's no need to offer a short name for rarely-used options. @Option(name = "timeout" ) double timeout = 1.0; @Option(name = "output-file", shortName = 'o' }) File output; // Multiple options are added to the collection. // The collection field itself must be non-null. @Option(name = "input-file", shortName = 'i') List<File> inputs = new ArrayList<File>(); } Options options = new Options(); List<String> posArgs = new OptionParser(options).parse("--input-file", "/tmp/file1.txt"); for (File inputFile : options.inputs) { if (!options.quiet) { ... } ... }
- </ph>
- getopt(1)-Manpage
- „optparse“ von Python Modul (http://docs.python.org/library/optparse.html)
- die POSIX-Richtlinien für die Syntax von Dienstprogrammen (http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap12.html#tag_12_02)
- die GNU-Standards für Befehlszeilenschnittstellen (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)
Weitere Informationen:
Zusammenfassung
Öffentliche Konstruktoren | |
---|---|
ArgsOptionParser(
Erstellt eine |
|
ArgsOptionParser(Object... optionSources)
Erstellt eine |
Öffentliche Methoden | |
---|---|
|
getInopOptions()
Gibt den Satz von Optionen zurück, durch die keine Standardwerte geändert wurden. |
static
String
|
getOptionHelp(boolean importantOnly, Object optionObject)
Ausgabehilfetext für alle |
|
parse(String... args)
Analysiert die Befehlszeilenargumente „args“ und legt die @Option-Felder von „optionSource“ fest an den Konstruktor übergeben. |
|
parse(
Alternative |
|
parseBestEffort(
Alternative |
|
parseBestEffort(
Alternative |
|
parseBestEffort(String... args)
Eine Best-Effort-Version von |
void
|
validateMandatoryOptions()
Prüft, ob alle als obligatorisch markierten Felder festgelegt wurden. |
Öffentliche Konstruktoren
ArgsOptionParser
public ArgsOptionParser (optionSources)
Erstellt eine ArgsOptionParser
für eine Sammlung von Objekten.
Parameter | |
---|---|
optionSources |
: die Konfigurationsobjekte. |
Ausgabe | |
---|---|
ConfigurationException |
wenn Config-Objekte nicht richtig konfiguriert sind. |
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
Erstellt eine ArgsOptionParser
für ein oder mehrere Objekte.
Parameter | |
---|---|
optionSources |
Object : die Konfigurationsobjekte. |
Ausgabe | |
---|---|
ConfigurationException |
wenn Config-Objekte nicht richtig konfiguriert sind. |
Öffentliche Methoden
getInopOptions
publicgetInopOptions ()
Gibt den Satz von Optionen zurück, durch die keine Standardwerte geändert wurden.
Returns | |
---|---|
|
getOptionHelp
public static String getOptionHelp (boolean importantOnly, Object optionObject)
Ausgabehilfetext für alle Option
-Felder im optionObject.
Der Hilfetext für jede Option hat das folgende Format:
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]
Parameter | |
---|---|
importantOnly |
boolean : wenn true nur Hilfe für die wichtigen Optionen ausgibt |
optionObject |
Object : Objekt, für das Hilfetext ausgegeben werden soll |
Returns | |
---|---|
String |
String mit nutzerfreundlichem Hilfetext für alle Optionsfelder |
parsen
publicparse (String... args)
Analysiert die Befehlszeilenargumente „args“ und legt die @Option-Felder von „optionSource“ fest an den Konstruktor übergeben.
Parameter | |
---|---|
args |
String |
Returns | |
---|---|
|
Eine ERROR(/List) der Positionsargumente, die nach der Verarbeitung aller Optionen übrig bleiben. |
Ausgabe | |
---|---|
ConfigurationException |
wenn beim Parsen der Argumente ein Fehler aufgetreten ist. |
parsen
publicparse ( args)
Alternative parse(String)
-Methode, die eine ERROR(/List)
von Argumenten annimmt
Parameter | |
---|---|
args |
|
Returns | |
---|---|
|
Eine ERROR(/List) der Positionsargumente, die nach der Verarbeitung aller Optionen übrig bleiben. |
Ausgabe | |
---|---|
ConfigurationException |
wenn beim Parsen der Argumente ein Fehler aufgetreten ist. |
parseBestEffort
publicparseBestEffort ( args)
Alternative parseBestEffort(String)
-Methode mit einer ERROR(/List)
von
Argumente
Parameter | |
---|---|
args |
|
Returns | |
---|---|
|
ein ERROR(/List) der verbleibenden Argumente |
parseBestEffort
publicparseBestEffort ( args, boolean forceContinue)
Alternative parseBestEffort(String)
-Methode mit einer ERROR(/List)
von
Argumente und kann zwangsweise bis zum Ende geparst werden, auch wenn einige Argumente dies nicht tun.
parsen.
Parameter | |
---|---|
args |
: Liste, die die verbleibenden Argumente enthält |
forceContinue |
boolean : „True“, wenn das Parsen fortgesetzt werden soll, auch wenn einige Argumente nicht geparst werden können. |
Returns | |
---|---|
|
ein ERROR(/List) der verbleibenden Argumente |
parseBestEffort
publicparseBestEffort (String... args)
Eine Best-Effort-Version von parse(String)
. Wenn eine ConfigurationException
ausgelöst wird, wird diese Ausnahme intern erfasst, und die verbleibenden Argumente (einschließlich der
-Argument, das die Ausnahme ausgelöst hat, zurückgegeben. Diese Methode löst nicht aus.
Parameter | |
---|---|
args |
String |
Returns | |
---|---|
|
ein ERROR(/List) der verbleibenden Argumente |
validMandatoryOptions
public void validateMandatoryOptions ()
Prüft, ob alle als obligatorisch markierten Felder festgelegt wurden.
Ausgabe | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |