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.

Zeichenfolgen im übergebenen String[] werden von links nach rechts analysiert. Jeder String wird als kurze Option (z. B. „-v“), lange Option (z. B. „--verbose“), als Argument für eine Option (z. B. „out.txt“ in „-f out.txt“) klassifiziert ") oder ein nicht optionales Positionsargument.

Jedes Optionsargument muss einem oder mehreren 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 für eine Sammlung von Objekten.

ArgsOptionParser (Object... optionSources)

Erstellt einen ArgsOptionParser für ein oder mehrere Objekte.

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

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 parse(String) -Methode, die einen ERROR(/List) von Argumenten entgegennimmt

parseBestEffort ( args) parseBestEffort ( args)

Alternative parseBestEffort(String) -Methode, die einen ERROR(/List) von Argumenten entgegennimmt

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

parseBestEffort (String... args)

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

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

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

public  getInopOptions ()

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 .

Der Hilfetext für jede Option hat das folgende Format

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

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

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

public  parseBestEffort ( args)

Alternative parseBestEffort(String) -Methode, die einen ERROR(/List) von Argumenten entgegennimmt

Parameter
args

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

parseBestEffort

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

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

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