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.

Strings im übergebenen String[] werden von links nach rechts geparst. Jeder String wird als kurze Option (wie "-v"), lange Option (wie "--verbose"), Argument für eine Option (wie "out.txt" in "-f out.txt" "), oder ein Positionsargument, das keine Option ist.

Jede Option Argument muss auf eine oder mehrere Karte 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 für eine Sammlung von Objekten.

ArgsOptionParser (Object... optionSources)

Erstellt eine ArgsOptionParser für ein oder mehr Objekte.

Ö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 Option in OptionObjekt .

parse (String... args)

Analysiert die Befehlszeilenargumente 'args' und setzt die @Option-Felder der 'optionSource', die dem Konstruktor bereitgestellt wird.

parse ( args) parse ( args)

Alternate parse(String) Methode , die eine dauert ERROR(/List) des Arguments

parseBestEffort ( args) parseBestEffort ( args)

Alternate parseBestEffort(String) Methode , die eine dauert ERROR(/List) des Arguments

parseBestEffort ( args, boolean forceContinue) parseBestEffort ( 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.

parseBestEffort (String... args)

Eine Best-Effort - Version von parse(String) .

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 : die Konfigurationsobjekte.

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

public  getInopOptions ()

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 .

Der Hilfetext für jede Option in folgendem Format sein wird

   [-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

public  parse (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

public  parse ( 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

public  parseBestEffort ( args)

Alternate parseBestEffort(String) Methode , die eine dauert ERROR(/List) des Arguments

Parameter
args

Kehrt zurück
ein ERROR(/List) der Argumente übrig

analysierenBestEffort

public  parseBestEffort ( 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 : Liste, die die restlichen Argumente enthält.

forceContinue boolean : Wahr , wenn es selbst analysieren fortsetzen sollte , wenn einige args analysieren nicht.

Kehrt zurück
ein ERROR(/List) der Argumente übrig

analysierenBestEffort

public  parseBestEffort (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