Google s'est engagé à promouvoir l'équité raciale pour les communautés noires. Regarde comment.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

ArgsOptionParser

public class ArgsOptionParser
extends OptionSetter

java.lang.Object
com.android.tradefed.config.OptionSetter
com.android.tradefed.config.ArgsOptionParser


Remplit les champs Option partir des arguments de ligne de commande analysés.

Les chaînes de la chaîne transmise [] sont analysées de gauche à droite. Chaque chaîne est classée comme une option courte (telle que "-v"), une option longue (telle que "--verbose"), un argument à une option (telle que "out.txt" in "-f out.txt "), ou un argument positionnel non optionnel.

Chaque argument d'option doit correspondre à un ou plusieurs champs Option . Une option longue correspond au nom de l' Option et une courte option correspond au nom court de l' Option . Chaque nom d'option et nom abrégé d'option doivent être uniques par rapport à tous les autres champs Option dans le même objet.

Un seul argument d'option peut être mappé à plusieurs champs Option avec le même nom sur plusieurs objets. Option arguments d' Option peuvent être espacés de nom pour faire référence de manière unique à un champ Option dans un seul objet en utilisant le nom de classe complet de cet objet ou sa valeur d'alias OptionClass séparée par «:». c'est à dire

 --classname:optionname optionvalue or
 --optionclassalias:optionname optionvalue.
 

Une option courte simple est un "-" suivi d'un caractère d'option court. Si l'option nécessite un argument (ce qui est vrai pour toute option non booléenne), il peut être écrit en tant que paramètre séparé, mais pas nécessairement. Autrement dit, "-f out.txt" et "-fout.txt" sont tous deux acceptables.

Il est possible de spécifier plusieurs options courtes après un seul "-" tant que toutes (sauf peut-être la dernière) ne nécessitent pas d'arguments.

Une longue option commence par "-" suivi de plusieurs caractères. Si l'option nécessite un argument, il peut être écrit directement après le nom de l'option, séparé par "=", ou comme argument suivant. (Autrement dit, "--file = out.txt" ou "--file out.txt".)

Une option booléenne longue '--name' obtient automatiquement un compagnon '--no-name'. Avec l'option "--flag", alors, "--flag", "--no-flag", "--flag = true" et "--flag = false" sont tous valides, mais ni "--flag true "ni" --flag false "ne sont autorisés (puisque" --flag "suffit à lui seul, le" true "ou" false "suivant est interprété séparément). Vous pouvez utiliser «oui» et «non» comme synonymes de «vrai» et «faux».

Chaque chaîne ne commençant pas par un "-" et non un argument obligatoire d'une option précédente est un argument positionnel non optionnel, comme toutes les chaînes successives. Chaque chaîne après un "-" est un argument de position non optionnel.

Les champs correspondant aux options sont mis à jour au fur et à mesure que leurs options sont traitées. Tous les arguments de position restants sont renvoyés sous forme de List <String>.

Voici un exemple simple:

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

 }

 
Voir également:
  • la page de manuel getopt (1)
  • Module "optparse" de Python (http://docs.python.org/library/optparse.html)
  • les "Directives de syntaxe des utilitaires" POSIX (http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap12.html#tag_12_02)
  • les "Standards pour les interfaces de ligne de commande" GNU (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)

Voir également:

Résumé

Constructeurs publics

ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources)

Crée un ArgsOptionParser pour une collection d'objets.

ArgsOptionParser (Object... optionSources)

Crée un ArgsOptionParser pour un ou plusieurs objets.

Méthodes publiques

static String getOptionHelp (boolean importantOnly, Object optionObject)

Afficher le texte d'aide pour tous les champs Option dans optionObject .

parse (String... args)

Analyse les arguments de ligne de commande 'args', définissant les champs @Option de 'optionSource' fourni au constructeur.

parse ( args) parse ( args)

Autre méthode d' parse(String) qui prend une ERROR(/List) d'arguments

parseBestEffort ( args) parseBestEffort ( args)

Autre parseBestEffort(String) qui prend une ERROR(/List) d'arguments

parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue)

Autre parseBestEffort(String) qui prend une ERROR(/List) d'arguments, et peut être forcée à continuer l'analyse jusqu'à la fin, même si certains arguments ne sont pas analysés.

parseBestEffort (String... args)

Une version best-effort de parse(String) .

void validateMandatoryOptions ()

Valide que tous les champs marqués comme obligatoires ont été définis.

Constructeurs publics

ArgsOptionParser

public ArgsOptionParser ( optionSources)

Crée un ArgsOptionParser pour une collection d'objets.

Paramètres
optionSources : les objets de configuration.

Jette
ConfigurationException si les objets de configuration sont mal configurés.

ArgsOptionParser

public ArgsOptionParser (Object... optionSources)

Crée un ArgsOptionParser pour un ou plusieurs objets.

Paramètres
optionSources Object : les objets de configuration.

Jette
ConfigurationException si les objets de configuration sont mal configurés.

Méthodes publiques

getOptionHelp

public static String getOptionHelp (boolean importantOnly, 
                Object optionObject)

Afficher le texte d'aide pour tous les champs Option dans optionObject .

Le texte d'aide pour chaque option sera au format suivant

   [-option_shortname, --option_name]          [option_description] Default:
   [current option field's value in optionObject]
 
Le texte "Par défaut ..." sera omis si le champ d'option est nul ou vide.

Paramètres
importantOnly boolean : si true uniquement l'aide pour les options importantes

optionObject Object : l'objet pour lequel imprimer le texte d'aide

Retour
String une chaîne contenant un texte d'aide convivial pour tous les champs Option

analyser

public  parse (String... args)

Analyse les arguments de ligne de commande 'args', définissant les champs @Option de 'optionSource' fourni au constructeur.

Paramètres
args String

Retour
une ERROR(/List) des arguments de position restants après le traitement de toutes les options.

Jette
ConfigurationException si une erreur s'est produite lors de l'analyse des arguments.

analyser

public  parse ( args)

Autre méthode d' parse(String) qui prend une ERROR(/List) d'arguments

Paramètres
args

Retour
une ERROR(/List) des arguments de position restants après le traitement de toutes les options.

Jette
ConfigurationException si une erreur s'est produite lors de l'analyse des arguments.

parseBestEffort

public  parseBestEffort ( args)

Autre parseBestEffort(String) qui prend une ERROR(/List) d'arguments

Paramètres
args

Retour
une ERROR(/List) des arguments restants

parseBestEffort

public  parseBestEffort ( args, 
                boolean forceContinue)

Autre parseBestEffort(String) qui prend une ERROR(/List) d'arguments, et peut être forcée à continuer l'analyse jusqu'à la fin, même si certains arguments ne sont pas analysés.

Paramètres
args : liste qui contiendra les arguments restants.

forceContinue boolean : True s'il doit continuer à analyser même si certains arguments ne sont pas analysés.

Retour
une ERROR(/List) des arguments restants

parseBestEffort

public  parseBestEffort (String... args)

Une version best-effort de parse(String) . Si une ConfigurationException est levée, cette exception est capturée en interne et les arguments restants (y compris l'argument qui a provoqué la levée de l'exception) sont renvoyés. Cette méthode ne jette pas.

Paramètres
args String

Retour
une ERROR(/List) des arguments restants

validateMandatoryOptions

public void validateMandatoryOptions ()

Valide que tous les champs marqués comme obligatoires ont été définis.

Jette
ConfigurationException