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.
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 (Object... optionSources) Cria um |
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 |
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 | |
parseBestEffort ( args) parseBestEffort ( args) Alternate | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) Alternate | |
parseBestEffort (String... args) Uma versão de melhor esforço de | |
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 |
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
publicgetInopOptions ()
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 .
[-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
publicparse (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
publicparse ( 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
publicparseBestEffort ( 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
publicparseBestEffort ( 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 | |
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
publicparseBestEffort (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 |