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
 

Constructor Detail

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().
Method Detail

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.