ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.Object | ||
?? | com.android.tradefed.config.OptionSetter | |
?? | com.android.tradefed.config.ArgsOptionParser |
Remplit Option
champs d'arguments de ligne de commande analysée.
Option
champs. Une longue option associe à l' Option
nom, et une option courte cartes à Option
nom court. Chaque nom de l' option et l' option de nom court doit être unique par rapport à toutes les autres Option
champs dans le même objet. Un seul argument d'option peut être mappé sur plusieurs Option
champs avec le même nom sur plusieurs objets. Option
arguments peuvent être de se référer uniquement d' espace de nom à une Option
champ à l' intérieur d' un seul objet en utilisant le nom complet de la classe de cet objet ou sa OptionClass
valeur d'alias séparés par « : ». à- dire --classname:optionname optionvalue or --optionclassalias:optionname optionvalue.Une option courte simple est un "-" suivi d'un caractère d'option courte. 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 ce n'est pas obligatoire. C'est-à-dire que "-f out.txt" et "-fout.txt" sont tous les 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 option longue 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. (C'est-à-dire "--file=out.txt" ou "--file out.txt".) Une option booléenne longue '--name' obtient automatiquement un compagnon '--no-name'. Étant donné une option "--flag", alors, "--flag", "--no-flag", "--flag=true" et "--flag=false" sont tous valides, bien que ni "--flag true" ni "--flag false" ne sont autorisés (puisque "--flag" en lui-même est suffisant, les "true" ou "false" suivants sont interprétés 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 le sont toutes les chaînes successives. Chaque chaîne après un "--" est un argument positionnel non optionnel. Les champs correspondant aux options sont mis à jour au fur et à mesure du traitement de leurs options. Tous les arguments positionnels 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 aussi:
- la page de manuel getopt(1)
- Le 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:
Sommaire
Constructeurs publics | |
---|---|
ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources) Crée un | |
ArgsOptionParser (Object... optionSources) Crée un |
Méthodes publiques | |
---|---|
getInopOptions () Renvoie l'ensemble d'options qui n'a modifié aucune valeur par défaut. | |
static String | getOptionHelp (boolean importantOnly, Object optionObject) Sortie texte d'aide pour toutes les |
parse (String... args) Analyse les arguments de ligne de commande 'args', définissant les champs @Option de 'optionSource' fournis au constructeur. | |
parse ( args) parse ( args) Autre | |
parseBestEffort ( args) parseBestEffort ( args) Autre | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) Autre | |
parseBestEffort (String... args) Une version meilleur effort de | |
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 |
Jetés | |
---|---|
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 : la configuration des objets. |
Jetés | |
---|---|
ConfigurationException | si les objets de configuration sont mal configurés. |
Méthodes publiques
getInopOptions
publicgetInopOptions ()
Renvoie l'ensemble d'options qui n'a modifié aucune valeur par défaut.
Retour | |
---|---|
getOptionHelp
public static String getOptionHelp (boolean importantOnly, Object optionObject)
Sortie texte d'aide pour toutes les Option
champs optionObjet .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]Le texte « par défaut ... » sera supprimée si le champ d'option est nul ou vide.
Paramètres | |
---|---|
importantOnly | boolean : si true que l' aide pour imprimer les options importantes |
optionObject | Object : l'objet à imprimer le texte d'aide pour |
Retour | |
---|---|
String | une chaîne contenant un texte d'aide convivial pour tous les champs d'option |
analyser
publicparse (String... args)
Analyse les arguments de ligne de commande 'args', définissant les champs @Option de 'optionSource' fournis au constructeur.
Paramètres | |
---|---|
args | String |
Retour | |
---|---|
une ERROR(/List) des arguments de position reste après le traitement de toutes les options. |
Jetés | |
---|---|
ConfigurationException | si une erreur s'est produite lors de l'analyse des arguments. |
analyser
publicparse ( args)
Autre parse(String)
méthode qui prend une ERROR(/List)
des arguments
Paramètres | |
---|---|
args |
Retour | |
---|---|
une ERROR(/List) des arguments de position reste après le traitement de toutes les options. |
Jetés | |
---|---|
ConfigurationException | si une erreur s'est produite lors de l'analyse des arguments. |
parseMeilleurEffort
publicparseBestEffort ( args)
Autre parseBestEffort(String)
méthode qui prend une ERROR(/List)
des arguments
Paramètres | |
---|---|
args |
Retour | |
---|---|
une ERROR(/List) de la gauche sur les arguments |
parseMeilleurEffort
publicparseBestEffort ( args, boolean forceContinue)
Autre parseBestEffort(String)
méthode qui prend une ERROR(/List)
des arguments, et peut être forcé de continuer l' analyse syntaxique jusqu'à la fin, même si certains ne args pas analyser.
Paramètres | |
---|---|
args | |
forceContinue | boolean : Vrai si elle doit continuer à analyser même si certains ne args pas analyser. |
Retour | |
---|---|
une ERROR(/List) de la gauche sur les arguments |
parseMeilleurEffort
publicparseBestEffort (String... args)
Une version meilleur 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) de la gauche sur les arguments |
validerMandatoryOptions
public void validateMandatoryOptions ()
Valide que tous les champs marqués comme obligatoires ont été définis.
Jetés | |
---|---|
ConfigurationException |