Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

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.

Las cadenas de la Cadena pasada [] se analizan de izquierda a derecha. Cada cadena se clasifica como una opción corta (como "-v"), una opción larga (como "--verbose"), un argumento para una opción (como "out.txt" en "-f out.txt "), o un argumento posicional sin opción.

Cada argumento opción debe asignar a una o más 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 para una colección de objetos.

ArgsOptionParser (Object... optionSources)

Crea un ArgsOptionParser para uno o más objetos.

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 Option campos optionObject .

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 parse(String) método que toma un ERROR(/List) de argumentos

parseBestEffort ( args) parseBestEffort ( args)

Alterna parseBestEffort(String) método que toma un ERROR(/List) de argumentos

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

parseBestEffort (String... args)

Una versión de mejor esfuerzo de parse(String) .

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 : los objetos de configuración.

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

public  getInopOptions ()

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 .

El texto de ayuda para cada opción será en el formato siguiente

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

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

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

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

public  parseBestEffort ( 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 : lista que contendrá los argumentos restantes.

forceContinue boolean : true si se debe continuar para analizar incluso si algunos argumentos no analizar.

Devoluciones
un ERROR(/List) de los argumentos sobrantes

parseBestEffort

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