ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.Object | ||
↳ | com.android.tradefed.config.OptionSetter | |
↳ | com.android.tradefed.config.ArgsOptionParser |
Puebla Option
campos de argumentos de línea de comandos analizada.
Option
campos. Una opción mucho asigna a la Option
nombre, y una opción a corto asigna a Option
nombre corto. El nombre de cada opción y la opción de nombre corto deben ser únicos con respecto a todos los demás Option
campos dentro del mismo objeto. Un argumento única opción puede conseguir asignado a múltiples Option
campos con el mismo nombre en varios objetos. Option
argumentos pueden espacio de nombres para hacer referencia únicamente a una Option
campo dentro de un único objeto utilizando el nombre completo de la clase de ese objeto o su OptionClass
valor alias separados por ':'. es decir --classname:optionname optionvalue or --optionclassalias:optionname optionvalue.Una opción corta simple es un "-" seguido de un carácter de opción corta. Si la opción requiere un argumento (lo cual es cierto para cualquier opción no booleana), puede escribirse como un parámetro separado, pero no es necesario. Es decir, "-f out.txt" y "-fout.txt" son ambos aceptables. Es posible especificar varias opciones cortas después de un solo "-" siempre que todas (excepto posiblemente la última) no requieran argumentos. Una opción larga comienza con "-" seguido de varios caracteres. Si la opción requiere un argumento, puede escribirse directamente después del nombre de la opción, separado por "=", o como el siguiente argumento. (Es decir, "--file = out.txt" o "--file out.txt"). Una opción larga booleana '--name' obtiene automáticamente un compañero '--no-name'. Dada una opción "--flag", entonces, "--flag", "--no-flag", "--flag = true" y "--flag = false" son todos válidos, aunque ninguno de los dos "--flag" true "ni" --flag false "están permitidos (dado que" --flag "por sí solo es suficiente, los siguientes" true "o" false "se interpretan por separado). Puede utilizar "sí" y "no" como sinónimos de "verdadero" y "falso". Cada cadena que no comience con un "-" y que no sea un argumento obligatorio de una opción anterior es un argumento posicional que no es de opción, al igual que todas las cadenas sucesivas. Cada cadena después de un "-" es un argumento posicional sin opción. Los campos correspondientes a las opciones se actualizan a medida que se procesan sus opciones. Cualquier argumento posicional restante se devuelve como una List <String>. He aquí un ejemplo sencillo:
// 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) { ... } ... }Ver también:
- la página de manual de getopt (1)
- Módulo "optparse" de Python (http://docs.python.org/library/optparse.html)
- las "Pautas de sintaxis de utilidades" de POSIX (http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap12.html#tag_12_02)
- los "Estándares para interfaces de línea de comandos" de GNU (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)
Ver también:
Resumen
Constructores públicos | |
---|---|
ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources) Crea un | |
ArgsOptionParser (Object... optionSources) Crea un |
Métodos públicos | |
---|---|
getInopOptions () Devuelve el conjunto de opciones que no cambiaron ningún valor predeterminado. | |
static String | getOptionHelp (boolean importantOnly, Object optionObject) Ayuda salida de texto para todos los |
parse (String... args) Analiza los argumentos de la línea de comandos 'args', estableciendo los campos @Option del 'optionSource' proporcionado al constructor. | |
parse ( args) parse ( args) Alternativo | |
parseBestEffort ( args) parseBestEffort ( args) Alterna | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) Alterna | |
parseBestEffort (String... args) Una versión de mejor esfuerzo de | |
void | validateMandatoryOptions () Valida que se hayan configurado todos los campos marcados como obligatorios. |
Constructores públicos
ArgsOptionParser
public ArgsOptionParser (optionSources)
Crea un ArgsOptionParser
para una colección de objetos.
Parámetros | |
---|---|
optionSources |
Lanza | |
---|---|
ConfigurationException | si los objetos de configuración están configurados incorrectamente. |
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
Crea un ArgsOptionParser
para uno o más objetos.
Parámetros | |
---|---|
optionSources | Object : la configuración de objetos. |
Lanza | |
---|---|
ConfigurationException | si los objetos de configuración están configurados incorrectamente. |
Métodos públicos
getInopOptions
publicgetInopOptions ()
Devuelve el conjunto de opciones que no cambiaron ningún valor predeterminado.
Devoluciones | |
---|---|
getOptionHelp
public static String getOptionHelp (boolean importantOnly, Object optionObject)
Ayuda salida de texto para todos los Option
campos optionObject .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]el 'defecto ..." texto se omite si el campo de opción es nulo o vacío.
Parámetros | |
---|---|
importantOnly | boolean : si true imprimir sólo ayuda para las opciones importantes |
optionObject | Object : el objeto de texto de ayuda para la impresión |
Devoluciones | |
---|---|
String | una cadena que contiene texto de ayuda fácil de usar para todos los campos de opciones |
analizar gramaticalmente
publicparse (String... args)
Analiza los argumentos de la línea de comandos 'args', estableciendo los campos @Option del 'optionSource' proporcionado al constructor.
Parámetros | |
---|---|
args | String |
Devoluciones | |
---|---|
un ERROR(/List) de los argumentos posicionales queda después de procesar todas las opciones. |
Lanza | |
---|---|
ConfigurationException | si se produjo un error al analizar los argumentos. |
analizar gramaticalmente
publicparse ( args)
Alternativo parse(String)
método que toma un ERROR(/List)
de argumentos
Parámetros | |
---|---|
args |
Devoluciones | |
---|---|
un ERROR(/List) de los argumentos posicionales queda después de procesar todas las opciones. |
Lanza | |
---|---|
ConfigurationException | si se produjo un error al analizar los argumentos. |
parseBestEffort
publicparseBestEffort ( args)
Alterna parseBestEffort(String)
método que toma un ERROR(/List)
de argumentos
Parámetros | |
---|---|
args |
Devoluciones | |
---|---|
un ERROR(/List) de los argumentos sobrantes |
parseBestEffort
publicparseBestEffort ( args, boolean forceContinue)
Alterna parseBestEffort(String)
método que toma un ERROR(/List)
de argumentos, y puede ser obligado a continuar el análisis hasta el final, incluso si algunos argumentos no analizar.
Parámetros | |
---|---|
args | |
forceContinue | boolean : true si se debe continuar para analizar incluso si algunos argumentos no analizar. |
Devoluciones | |
---|---|
un ERROR(/List) de los argumentos sobrantes |
parseBestEffort
publicparseBestEffort (String... args)
Una versión de mejor esfuerzo de parse(String)
. Si se lanza una ConfigurationException, esa excepción se captura internamente y se devuelven los argumentos restantes (incluido el argumento que provocó que se lanzara la excepción). Este método no arroja.
Parámetros | |
---|---|
args | String |
Devoluciones | |
---|---|
un ERROR(/List) de los argumentos sobrantes |
validateMandatoryOptions
public void validateMandatoryOptions ()
Valida que se hayan configurado todos los campos marcados como obligatorios.
Lanza | |
---|---|
ConfigurationException |