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) {
        ...
     }
     ...

 }

 
Siehe auch: <ph type="x-smartling-placeholder">
    </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( optionSources)

Erstellt eine ArgsOptionParser für eine Sammlung von Objekten.

ArgsOptionParser(Object... optionSources)

Erstellt eine ArgsOptionParser für ein oder mehrere Objekte.

Ö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 Option-Felder im optionObject.

parse(String... args)

Analysiert die Befehlszeilenargumente „args“ und legt die @Option-Felder von „optionSource“ fest an den Konstruktor übergeben.

parse( args)

Alternative parse(String)-Methode, die eine ERROR(/List) von Argumenten annimmt

parseBestEffort( args)

Alternative parseBestEffort(String)-Methode mit einer ERROR(/List) von Argumente

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

parseBestEffort(String... args)

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

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

public  getInopOptions ()

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]
 
Die Option 'Standard...' Text wird weggelassen, wenn das Optionsfeld null oder leer ist.

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

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

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

public  parseBestEffort ( args)

Alternative parseBestEffort(String)-Methode mit einer ERROR(/List) von Argumente

Parameter
args

Returns
ein ERROR(/List) der verbleibenden Argumente

parseBestEffort

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

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