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 Befehlszeilenargumente.
Option
Felder aus . Eine lange Option Karten auf die Option
und eine kurze Option abbildet Option
Kurznamen. Jede Option Namen und der Option Kurzname muss in Bezug auf alle anderen eindeutig sein Option
innerhalb des gleichen Objekts. Eine einzige Option Argument kann auf mehrere abgebildet bekommen Option
mit dem gleichen Namen auf mehrere Objekte Felder aus . Option
Argumente können Namensraum werden , um eindeutig ein beziehen Option
innerhalb eines einzelnen Objektfeldes , dass die vollständigen Klasse des Objekts unter Verwendung von Namen oder sein OptionClass
alias - Wert getrennt durch ‚:‘. 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 jede nicht-boolesche Option gilt), kann sie als separater Parameter geschrieben werden, muss es aber nicht. Das heißt, "-fout.txt" und "-fout.txt" sind beide akzeptabel. Es ist möglich, mehrere kurze Optionen nach einem einzelnen "-" anzugeben, solange alle (außer möglicherweise die letzte) 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 dann "--flag", "--no-flag", "--flag=true" und "--flag=false" alle gültig, obwohl weder "--flag true" noch "--flag false" sind erlaubt (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 Positionsargument, das keine Option ist, wie alle nachfolgenden Strings. Jeder String nach einem "--" ist ein Positionsargument, das keine Option ist. 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 getopt(1)-Manpage
- 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 for Command Line Interfaces" (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)
Siehe auch:
Zusammenfassung
Öffentliche Konstrukteure | |
---|---|
ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources) Erstellt eine | |
ArgsOptionParser (Object... optionSources) Erstellt eine |
Öffentliche Methoden | |
---|---|
getInopOptions () Gibt den Satz von Optionen zurück, die keine Standardwerte geändert haben. | |
static String | getOptionHelp (boolean importantOnly, Object optionObject) Ausgabehilfetext für alle |
parse (String... args) Analysiert die Befehlszeilenargumente 'args' und setzt die @Option-Felder der 'optionSource', die dem Konstruktor bereitgestellt wird. | |
parse ( args) parse ( args) Alternate | |
parseBestEffort ( args) parseBestEffort ( args) Alternate | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) Alternate | |
parseBestEffort (String... args) Eine Best-Effort - Version von | |
void | validateMandatoryOptions () Bestätigt, dass alle als obligatorisch gekennzeichneten Felder festgelegt wurden. |
Öffentliche Konstrukteure
ArgsOptionParser
public ArgsOptionParser (optionSources)
Erstellt eine ArgsOptionParser
für eine Sammlung von Objekten.
Parameter | |
---|---|
optionSources |
Würfe | |
---|---|
ConfigurationException | wenn Konfigurationsobjekte falsch konfiguriert sind. |
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
Erstellt eine ArgsOptionParser
für ein oder mehr 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 | |
---|---|
getOptionHilfe
public static String getOptionHelp (boolean importantOnly, Object optionObject)
Ausgabehilfetext für alle Option
in OptionObjekt .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]Die ‚Default ...“ Text wird weggelassen werden , wenn das Optionsfeld null oder leer ist.
Parameter | |
---|---|
importantOnly | boolean : Wenn true nur Hilfe für die wichtigen Optionen drucken |
optionObject | Object : das Objekt zu drucken Hilfetext für |
Kehrt zurück | |
---|---|
String | ein String mit benutzerfreundlichem Hilfetext für alle Optionsfelder |
analysieren
publicparse (String... args)
Analysiert die Befehlszeilenargumente 'args' und setzt die @Option-Felder der 'optionSource', die dem Konstruktor bereitgestellt wird.
Parameter | |
---|---|
args | String |
Kehrt zurück | |
---|---|
ein ERROR(/List) des Positionsarguments übrig bleiben , nachdem alle Optionen verarbeitet. |
Würfe | |
---|---|
ConfigurationException | wenn beim Parsen der Argumente ein Fehler aufgetreten ist. |
analysieren
publicparse ( args)
Alternate parse(String)
Methode , die eine dauert ERROR(/List)
des Arguments
Parameter | |
---|---|
args |
Kehrt zurück | |
---|---|
ein ERROR(/List) des Positionsarguments übrig bleiben , nachdem alle Optionen verarbeitet. |
Würfe | |
---|---|
ConfigurationException | wenn beim Parsen der Argumente ein Fehler aufgetreten ist. |
analysierenBestEffort
publicparseBestEffort ( args)
Alternate parseBestEffort(String)
Methode , die eine dauert ERROR(/List)
des Arguments
Parameter | |
---|---|
args |
Kehrt zurück | |
---|---|
ein ERROR(/List) der Argumente übrig |
analysierenBestEffort
publicparseBestEffort ( args, boolean forceContinue)
Alternate parseBestEffort(String)
Methode , die eine nimmt ERROR(/List)
von Argumenten und gezwungen werden kann bis zum Ende fortsetzen Parsen, auch wenn einige args analysieren nicht.
Parameter | |
---|---|
args | |
forceContinue | boolean : Wahr , wenn es selbst analysieren fortsetzen sollte , wenn einige args analysieren nicht. |
Kehrt zurück | |
---|---|
ein ERROR(/List) der Argumente übrig |
analysierenBestEffort
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 wirft nicht.
Parameter | |
---|---|
args | String |
Kehrt zurück | |
---|---|
ein ERROR(/List) der Argumente übrig |
validierenObligatorischeOptionen
public void validateMandatoryOptions ()
Bestätigt, dass alle als obligatorisch gekennzeichneten Felder festgelegt wurden.
Würfe | |
---|---|
ConfigurationException |