webmngr.util
Class ParseOptions
java.lang.Object
|
+--webmngr.util.ParseOptions
- public class ParseOptions
- extends java.lang.Object
ParseOptions é uma classe utilizada para analisar argumentos passados pelo usuário através da
linha de comando. Um exemplo de como utilizar esta classe pode ser visto a seguir:
ParseOptions opt = new ParseOptions("monitor", args);
onde "monitor" é o nome da classe cujo método main() será executado, e args é o vetor de
argumentos passado como parâmetro através da linha de comando. Por exemplo:
public class monitor
{
public static void main(String args[])
{
ParseOptions opt = new ParseOptions("monitor", args);
...
}
}
Esta classe permite apresentar as possíveis opções para o usuário (caso ele digite parâmetros
incorretos) e recuperar seus valores. Para recuperação dos valores, é preciso antes adicionar
as possíveis opções e chamar o método parse(). O médoto parse() analisa então os argumentos
passados de acordo com as opções registradas, onde as opções podem ou não ter um valor
relacionado:
// adiciona opções
opt.addOption("-c", " configuration file (default:config.jar)", true);
opt.addOption("-v", "enable verbose output", false); // não tem um valor relacionado
opt.addOption("-h", "print this help message", false); // não tem um valor relacionado
// analisa os argumentos passados
if (opt.parse() == true)
{
System.out.println(opt.getUsage());
System.exit(1);
}
Pelo trecho de código acima, se o usuário digitou parâmetros incorretos, um aviso será mostrado
na tela indicando o uso correto das opções. Como exemplo, digamos que ele tenha digitado uma
opção que não foi especificada:
java monitor -c conf.jar -v -d
então ele verá na tela:
Usage: java monitor [-options] [remaining_args...]
where options include:
-c configuration file (default:config.jar)
-v enable verbose output
-h print this help message
Por default, os argumentos restantes são ignorados. Se interessa recuperar os argumentos
restantes, devemos chamar o seguinte método:
opt.setCatchRemainingArgs(true);
Para especificar na tela o que são os argumentos restantes, usamos o seguinte método:
opt.setDescRemainingArgs("name of elements to monitor");
A recuperação dos valores é realizada da seguinte forma:
// se a ajuda foi setada, mostra ela e sai
if(opt.getOptionValue("-h") != null)
{
System.out.println(opt.getUsage());
System.exit(1);
}
// se o nome do arquivo de configuração foi passado como parâmetro
if((option = opt.getOptionValue("-c")) != null)
{
// altera o arquivo de configuração
}
// se verbose foi ativada
if(opt.getOptionValue("-v") != null)
{
// altera para mostrar erros na tela }
}
Constructor Summary |
ParseOptions(java.lang.String className,
java.lang.String[] args)
Construtor default da classe. |
Method Summary |
void |
addOption(java.lang.String option,
java.lang.String usage,
boolean value)
Adiciona uma opção para ser analisada. |
java.lang.String[] |
getArgs()
Retorna um array de string com os argumentos passados na linha de comando. |
java.lang.String |
getDescRemainingArgs()
Retorna string que descreve os argumentos restantes. |
java.lang.String |
getOptionValue(java.lang.String option)
Retorna o valor relacionado com a opção analisada. |
java.lang.String[] |
getRemainingArgs()
Retorna os argumentos restantes. |
java.lang.String |
getUsage()
Retorna o uso correto das opções |
boolean |
isCatchRemainingArgs()
Verifica se ParseOptions está guardando os argumentos restantes. |
boolean |
isRemainingArg()
Retorna se existe argumentos restantes. |
boolean |
parse()
Médoto que analisa os argumentos passados. |
void |
removeOption(java.lang.String option)
Remove a opção da lista de opções registradas. |
void |
setArgs(java.lang.String[] args)
Altera os array de string com os argumentos passados na linha de comando. |
void |
setCatchRemainingArgs(boolean catchRemainingArgs)
Altera se ParseOptions deve guardar os argumentos restantes. |
void |
setDescRemainingArgs(java.lang.String descRemainingArgs)
Altera a string que descreve os argumentos restantes. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ParseOptions
public ParseOptions(java.lang.String className,
java.lang.String[] args)
- Construtor default da classe.
- Parameters:
className
- nome da classe que possui método main() invocado através da linha de comando.args
- argumentos passados pela linha de comando através do método main().
parse
public boolean parse()
- Médoto que analisa os argumentos passados.
- Returns:
- true se ouve erro na análise dos argumentos.
getUsage
public java.lang.String getUsage()
- Retorna o uso correto das opções
setCatchRemainingArgs
public void setCatchRemainingArgs(boolean catchRemainingArgs)
- Altera se ParseOptions deve guardar os argumentos restantes.
- Parameters:
remaisArgs
- true se ParseOptions deve guardar os argumentos restantes, false caso contrário.
isCatchRemainingArgs
public boolean isCatchRemainingArgs()
- Verifica se ParseOptions está guardando os argumentos restantes.
- Returns:
- true se ParseOptions guarda os argumentos restantes.
getDescRemainingArgs
public java.lang.String getDescRemainingArgs()
- Retorna string que descreve os argumentos restantes. Se catchRemainingArgs estiver setada
para true, essa string deve aparecer na mensagem que mostra o uso correto dos argumentos.
- Returns:
- argumentos restantes.
setDescRemainingArgs
public void setDescRemainingArgs(java.lang.String descRemainingArgs)
- Altera a string que descreve os argumentos restantes. Se catchRemainArgs estiver setada
para true, essa string deve aparecer na mensagem que mostra o uso correto dos argumentos.
- Parameters:
nome
- que identifica os argumentos restantes.
getArgs
public java.lang.String[] getArgs()
- Retorna um array de string com os argumentos passados na linha de comando.
- Returns:
- array de string contendo os argumentos.
setArgs
public void setArgs(java.lang.String[] args)
- Altera os array de string com os argumentos passados na linha de comando.
- Parameters:
array
- de string contendo os argumentos.
isRemainingArg
public boolean isRemainingArg()
- Retorna se existe argumentos restantes. Para que possa existir argumentos restantes,
é preciso que a propriedade catchRemainingArgs esteja setada como true.
getRemainingArgs
public java.lang.String[] getRemainingArgs()
- Retorna os argumentos restantes. Para existir argumentos restantes,
é preciso que a propriedade catchRemainingArgs esteja setada como true.
- Returns:
- argumentos restantes.
addOption
public void addOption(java.lang.String option,
java.lang.String usage,
boolean value)
- Adiciona uma opção para ser analisada. Uma opção pode ter ou nao um valor relacionado,
que é indicado através do parâmetro value.
- Parameters:
option
- string que identifica a opção.usage
- string que descreve a funcionalidade da opção.value
- true se a opção possuir um valor relacionado.
removeOption
public void removeOption(java.lang.String option)
- Remove a opção da lista de opções registradas.
- Parameters:
option
- string que identifica a opção.
getOptionValue
public java.lang.String getOptionValue(java.lang.String option)
- Retorna o valor relacionado com a opção analisada. Se a opção não possui um
valor relacionado, será retornada a string "set" indicando que ela foi usada.
Se a opção não existir, ou não foi usada, será retornado null.
- Parameters:
option
- string que identifica a opção.