ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.Object | ||
↳ | com.android.tradefed.config.OptionSetter | |
↳ | com.android.tradefed.config.ArgsOptionParser |
Füllt Option
aus analysierten Befehlszeilenargumenten.
Option
zugeordnet sein. Eine lange Option wird dem Option
zugeordnet, eine kurze Option dem Option
. Jeder Optionsname und Optionskurzname muss im Hinblick auf alle anderen Option
innerhalb desselben Objekts eindeutig sein. Ein einzelnes Optionsargument kann mehreren Option
mit demselben Namen in mehreren Objekten zugeordnet werden. Option
können mit einem Namensraum versehen werden, um eindeutig auf ein Option
innerhalb eines einzelnen Objekts zu verweisen, indem der vollständige Klassenname dieses Objekts oder sein OptionClass
Aliaswert, getrennt durch „:“, verwendet wird. dh --classname:optionname optionvalue or --optionclassalias:optionname optionvalue.Eine einfache kurze Option ist ein „-“, gefolgt von einem kurzen Optionszeichen. Wenn die Option ein Argument erfordert (was für alle nicht-booleschen Optionen gilt), kann es als separater Parameter geschrieben werden, muss aber nicht. Das heißt, „-f out.txt“ und „-fout.txt“ sind beide akzeptabel. Es ist möglich, nach einem einzelnen „-“ mehrere kurze Optionen anzugeben, solange alle (außer möglicherweise der letzten) keine Argumente erfordern. Eine lange Option beginnt mit „--“, gefolgt von mehreren Zeichen. Wenn die Option ein Argument erfordert, kann es direkt nach dem Optionsnamen, getrennt durch „=“, oder als nächstes Argument geschrieben werden. (Das heißt „--file=out.txt“ oder „--file out.txt“.) Eine boolesche lange Option „--name“ erhält automatisch einen „--no-name“-Begleiter. Bei einer Option „--flag“ sind „--flag“, „--no-flag“, „--flag=true“ und „--flag=false“ alle gültig, obwohl weder „--flag noch „--flag“ gültig ist true“ und „--flag false“ sind zulässig (da „--flag“ allein ausreicht, wird das folgende „true“ oder „false“ separat interpretiert). Sie können „ja“ und „nein“ als Synonyme für „wahr“ und „falsch“ verwenden. Jeder String, der nicht mit einem „-“ beginnt und kein erforderliches Argument einer vorherigen Option ist, ist ein Nicht-Options-Positionsargument, ebenso wie alle aufeinanderfolgenden Strings. Jeder String nach einem „--“ ist ein nicht optionales Positionsargument. Die den Optionen entsprechenden Felder werden aktualisiert, während ihre Optionen verarbeitet werden. Alle verbleibenden Positionsargumente werden als List<String> zurückgegeben. Hier ist 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) { ... } ... }Siehe auch:
- die Manpage getopt(1).
- Pythons „optparse“-Modul (http://docs.python.org/library/optparse.html)
- die POSIX „Utility Syntax Guidelines“ (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)
Siehe auch:
Zusammenfassung
Öffentliche Bauträger | |
---|---|
ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources) Erstellt einen | |
ArgsOptionParser (Object... optionSources) Erstellt einen |
Öffentliche Methoden | |
---|---|
getInopOptions () Gibt den Satz von Optionen zurück, die keine Standardwerte geändert haben. | |
static String | getOptionHelp (boolean importantOnly, Object optionObject) Hilfetext für alle |
parse (String... args) Analysiert die Befehlszeilenargumente „args“ und legt die @Option-Felder der „optionSource“ fest, die dem Konstruktor bereitgestellt werden. | |
parse ( args) parse ( args) Alternative | |
parseBestEffort ( args) parseBestEffort ( args) Alternative | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) Alternative | |
parseBestEffort (String... args) Eine Best-Effort-Version von | |
void | validateMandatoryOptions () Überprüft, ob alle als Pflichtfelder markierten Felder festgelegt wurden. |
Öffentliche Bauträger
ArgsOptionParser
public ArgsOptionParser (optionSources)
Erstellt einen ArgsOptionParser
für eine Sammlung von Objekten.
Parameter | |
---|---|
optionSources |
Würfe | |
---|---|
ConfigurationException | wenn Konfigurationsobjekte falsch konfiguriert sind. |
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
Erstellt einen ArgsOptionParser
für ein oder mehrere Objekte.
Parameter | |
---|---|
optionSources | Object : die Konfigurationsobjekte. |
Würfe | |
---|---|
ConfigurationException | wenn Konfigurationsobjekte falsch konfiguriert sind. |
Öffentliche Methoden
getInopOptions
publicgetInopOptions ()
Gibt den Satz von Optionen zurück, die keine Standardwerte geändert haben.
Kehrt zurück | |
---|---|
getOptionHelp
public static String getOptionHelp (boolean importantOnly, Object optionObject)
Hilfetext für alle Option
in ausgeben optionObject .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]Der Text „Standard…“ wird weggelassen, wenn das Optionsfeld null oder leer ist.
Parameter | |
---|---|
importantOnly | boolean : Wenn true wird nur die Hilfe für die wichtigen Optionen ausgegeben |
optionObject | Object : Das Objekt, für das Hilfetext gedruckt werden soll |
Kehrt zurück | |
---|---|
String | ein String, der benutzerfreundlichen Hilfetext für alle Optionsfelder enthält |
analysieren
publicparse (String... args)
Analysiert die Befehlszeilenargumente „args“ und legt die @Option-Felder der „optionSource“ fest, die dem Konstruktor bereitgestellt werden.
Parameter | |
---|---|
args | String |
Kehrt zurück | |
---|---|
ein ERROR(/List) der Positionsargumente, die nach der Verarbeitung aller Optionen übrig bleiben. |
Würfe | |
---|---|
ConfigurationException | Wenn beim Parsen der Argumente ein Fehler aufgetreten ist. |
analysieren
publicparse ( args)
Alternative parse(String)
-Methode, die einen ERROR(/List)
von Argumenten entgegennimmt
Parameter | |
---|---|
args |
Kehrt zurück | |
---|---|
ein ERROR(/List) der Positionsargumente, die nach der Verarbeitung aller Optionen übrig bleiben. |
Würfe | |
---|---|
ConfigurationException | Wenn beim Parsen der Argumente ein Fehler aufgetreten ist. |
parseBestEffort
publicparseBestEffort ( args)
Alternative parseBestEffort(String)
-Methode, die einen ERROR(/List)
von Argumenten entgegennimmt
Parameter | |
---|---|
args |
Kehrt zurück | |
---|---|
ein ERROR(/List) der verbleibenden Argumente |
parseBestEffort
publicparseBestEffort ( args, boolean forceContinue)
Alternative parseBestEffort(String)
-Methode, die einen ERROR(/List)
von Argumenten entgegennimmt und gezwungen werden kann, die Analyse bis zum Ende fortzusetzen, auch wenn einige Argumente nicht analysiert werden.
Parameter | |
---|---|
args | |
forceContinue | boolean : True, wenn die Analyse fortgesetzt werden soll, auch wenn einige Argumente nicht analysiert werden. |
Kehrt zurück | |
---|---|
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 des Arguments, das das Auslösen der Ausnahme verursacht hat) werden zurückgegeben. Diese Methode löst nicht aus.
Parameter | |
---|---|
args | String |
Kehrt zurück | |
---|---|
ein ERROR(/List) der verbleibenden Argumente |
validateMandatoryOptions
public void validateMandatoryOptions ()
Überprüft, ob alle als Pflichtfelder markierten Felder festgelegt wurden.
Würfe | |
---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException |