Chamar método

Olá,

Estou usando ServerSocket para criar um pequeno servidor que aguarda conexões, pretendo implemtar um padrão de comandos, ex:

user nome_usuario
pass senha_usuario

ou seja, o servidor possui uma lista de “comandos”, dependendo do comando executa uma ação, o problema é que seria muito trabalhoso(feio tambem) usar uma sequencia de ifs e else ifs como abaixo:

if(comando.equals("user")){
   verifica usuário...
}else if(comando.equals("quit")){
   sair...
}else if(...) ...

A alternativa que encontrei foi criar um Hashtable que associa o comando a ação, ex:

hashtable.put("comando","método a ser chamado");
hashtable.put("comando2","método dois a ser chamado");

Bom, as dúvidas são
[1] - Como chamar um método atráves de uma string ?
[2] - Será essa a melhor alternativa para escapar da sequencia de ifs?

Espero a ajuda de vocês :slight_smile:

Cara desconheço um maneira de chamar um método apartir de uma string! o que vc pode fazer é fazer um outro método que receba um string e apartir dai ele fazerndo comparação de string’s chama o método conrespondente!

Mas isso vc já sabe hehe vc mesmo sujeriu! ehehhe acho que não tem muito como escapar disso n!

Cara, vc ta trabalhando com socket e ServerSocket neh?, vc teria algum artigo para me indicar ou mandar sobre o assunto? estou querendo mexer com isso mas to precisando de algo desse tipo.

caso vc tenha e queira fazer o favor de me enviar :victorsens@ig.com.br

Desde já obrigado…

[]s Victor,

Olá pessoal,
consegui resolver o problema, usei reflection para isso :-). eta mão na roda hein :D. O guj tem um tutorial muito bom sobre o assunto, segue o link http://guj.com.br/java.artigo.10.1.guj