O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

ArgsOptionParser

public class ArgsOptionParser
extends OptionSetter

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


Popula Option campos de argumentos de linha de comando analisado.

As strings na String passada [] são analisadas da esquerda para a direita. Cada string é classificada como uma opção curta (como "-v"), uma opção longa (como "--verbose"), um argumento para uma opção (como "out.txt" em "-f out.txt "), ou um argumento posicional não opcional.

Cada argumento opção deve mapear a um ou mais Option campos. Uma longa opção mapeia para a Option nome, ea uma curta opção mapeia para Option nome curto. Cada nome de opção e nome curto opção deve ser exclusivo no que diz respeito a todos os outros Option campos dentro do mesmo objeto.

Um argumento opção única pode obter mapeados para vários Option campos com o mesmo nome em vários objetos. Option argumentos podem ser namespaced para se referir exclusivamente a uma Option campo dentro de um único objeto usando o nome completo da classe desse objeto ou seu OptionClass valor do alias separados por ':'. ou seja

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

Uma opção curta simples é um "-" seguido por um caractere de opção curta. Se a opção requer um argumento (o que é verdadeiro para qualquer opção não booleana), ele pode ser escrito como um parâmetro separado, mas não precisa ser. Ou seja, "-f out.txt" e "-fout.txt" são ambos aceitáveis.

É possível especificar várias opções curtas após um único "-", desde que todos (exceto possivelmente o último) não requeiram argumentos.

Uma opção longa começa com "-" seguido por vários caracteres. Se a opção requer um argumento, ele pode ser escrito diretamente após o nome da opção, separado por "=" ou como o próximo argumento. (Ou seja, "--file = out.txt" ou "--file out.txt".)

Uma opção booleana longa '--name' obtém automaticamente um companheiro '--no-name'. Dada uma opção "--flag", então, "--flag", "--no-flag", "--flag = true" e "--flag = false" são todos válidos, embora nenhum "--flag true "nem" --flag false "são permitidos (visto que" --flag "por si só é suficiente, o seguinte" true "ou" false "é interpretado separadamente). Você pode usar "sim" e "não" como sinônimos para "verdadeiro" e "falso".

Cada String que não começa com um "-" e não é um argumento obrigatório de uma opção anterior é um argumento posicional sem opção, assim como todas as Strings sucessivas. Cada String após um "-" é um argumento posicional não opcional.

Os campos correspondentes às opções são atualizados à medida que suas opções são processadas. Quaisquer argumentos posicionais restantes são retornados como uma Lista <String>.

Aqui está um exemplo simples:

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

 }

 
Veja também:
  • a página do manual getopt (1)
  • Módulo "optparse" do Python (http://docs.python.org/library/optparse.html)
  • as "Diretrizes de sintaxe de utilitários" POSIX (http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap12.html#tag_12_02)
  • os "Padrões para interfaces de linha de comando" GNU (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)

Veja também:

Resumo

Construtoras públicas

ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources)

Cria um ArgsOptionParser para uma coleção de objetos.

ArgsOptionParser (Object... optionSources)

Cria um ArgsOptionParser para um ou mais objetos.

Métodos públicos

getInopOptions ()

Retorna o conjunto de opções que não alterou nenhum valor padrão.

static String getOptionHelp (boolean importantOnly, Object optionObject)

Texto de ajuda de saída para todos os Option campos optionObject .

parse (String... args)

Analisa os argumentos da linha de comando 'args', definindo os campos @Option de 'optionSource' fornecido ao construtor.

parse ( args) parse ( args)

Alternate parse(String) método que leva um ERROR(/List) de argumentos

parseBestEffort ( args) parseBestEffort ( args)

Alternate parseBestEffort(String) método que leva um ERROR(/List) de argumentos

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

Alternate parseBestEffort(String) método que leva um ERROR(/List) de argumentos, e pode ser forçado a continuar a análise até o fim, mesmo que alguns argumentos não analisar.

parseBestEffort (String... args)

Uma versão de melhor esforço de parse(String) .

void validateMandatoryOptions ()

Valida se todos os campos marcados como obrigatórios foram definidos.

Construtoras públicas

ArgsOptionParser

public ArgsOptionParser ( optionSources)

Cria um ArgsOptionParser para uma coleção de objetos.

Parâmetros
optionSources : os objetos de configuração.

Lança
ConfigurationException se os objetos de configuração estiverem configurados incorretamente.

ArgsOptionParser

public ArgsOptionParser (Object... optionSources)

Cria um ArgsOptionParser para um ou mais objetos.

Parâmetros
optionSources Object : a configuração de objetos.

Lança
ConfigurationException se os objetos de configuração estiverem configurados incorretamente.

Métodos públicos

getInopOptions

public  getInopOptions ()

Retorna o conjunto de opções que não alterou nenhum valor padrão.

Devoluções

getOptionHelp

public static String getOptionHelp (boolean importantOnly, 
                Object optionObject)

Texto de ajuda de saída para todos os Option campos optionObject .

O texto de ajuda para cada opção será no seguinte formato

   [-option_shortname, --option_name]          [option_description] Default:
   [current option field's value in optionObject]
 
O 'Default ..." texto será omitido se o campo de opção é nulo ou vazio.

Parâmetros
importantOnly boolean : se true imprimir apenas ajuda para as opções importantes

optionObject Object : o objeto para imprimir texto de ajuda para

Devoluções
String uma string contendo texto de ajuda amigável para todos os campos de opção

analisar

public  parse (String... args)

Analisa os argumentos da linha de comando 'args', definindo os campos @Option de 'optionSource' fornecido ao construtor.

Parâmetros
args String

Devoluções
um ERROR(/List) dos argumentos posicionais que sobraram após o processamento de todas as opções.

Lança
ConfigurationException se ocorreu um erro ao analisar os argumentos.

analisar

public  parse ( args)

Alternate parse(String) método que leva um ERROR(/List) de argumentos

Parâmetros
args

Devoluções
um ERROR(/List) dos argumentos posicionais que sobraram após o processamento de todas as opções.

Lança
ConfigurationException se ocorreu um erro ao analisar os argumentos.

parseBestEffort

public  parseBestEffort ( args)

Alternate parseBestEffort(String) método que leva um ERROR(/List) de argumentos

Parâmetros
args

Devoluções
um ERROR(/List) dos argumentos que sobraram

parseBestEffort

public  parseBestEffort ( args, 
                boolean forceContinue)

Alternate parseBestEffort(String) método que leva um ERROR(/List) de argumentos, e pode ser forçado a continuar a análise até o fim, mesmo que alguns argumentos não analisar.

Parâmetros
args : lista que conterá os argumentos restantes.

forceContinue boolean : Verdadeiro se deve continuar a analisar, mesmo que alguns argumentos não analisar.

Devoluções
um ERROR(/List) dos argumentos que sobraram

parseBestEffort

public  parseBestEffort (String... args)

Uma versão de melhor esforço de parse(String) . Se uma ConfigurationException for lançada, essa exceção será capturada internamente e os argumentos restantes (incluindo o argumento que causou o lançamento da exceção) são retornados. Este método não joga.

Parâmetros
args String

Devoluções
um ERROR(/List) dos argumentos que sobraram

validateMandatoryOptions

public void validateMandatoryOptions ()

Valida se todos os campos marcados como obrigatórios foram definidos.

Lança
ConfigurationException