Para aqueles que utilizam RemoteObject do LiveCycle para fazer chamada a
classes Java fiz uma implementação de um Service que chama classes de
comando do Java via Reflection. Essa funcionalidade é interessante porque
com apenas uma classe/service é possível fazer a chamada a diversos
"comandos" na camada Java, é um arquitetura simples mas muito funcional.
A classe Service é como segue:
public class CommandService {
public void setCommand(List commandArgs) {
if(commandArgs != null || commandArgs.size() > 0) {
String nomeComando = "br.com.cleberlecheta.command." +
((String)commandArgs.get(0));
try {
Object classeCommand = Class.forName
(nomeComando).newInstance();
Class param = List.class;
Method metodo = classeCommand.getClass().getMethod("execute",
param);
metodo.invoke(classeCommand, commandArgs);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
A classe Command:
public class TesteCommand implements Command{
@Override
public void execute(List commandArgs) {
System.out.println("TESTE DE PARAMENTRO: " + commandArgs.get(0));
System.out.println("TESTE DE PARAMENTRO: " + commandArgs.get(1));
}
}
Ademais tudo que se há por fazer é declarar um RemoteObject no Flex e
utilizá-lo para fazer chamada a diversas classes de comando Java, que podem,
inclusive, tratar da persistência ou negócio da sua aplicação.
<mx:RemoteObject id="commandSrv" destination="commandSrv"
showBusyCursor="true">
<mx:method name="execute">
<mx:arguments>
<commandArgs>{ArrayCollection}</commandArgs>
</mx:arguments>
</mx:method>
</mx:RemoteObject>
A aplicação desse padrão tem sido muito útil na arquitetura de meus
projetos, a idéia é contribuir e abrir margem para discussão, espero que
seja útil para vossos projetos também.
--
Atenciosamente
Cleber Lecheta Franchini
www.cleberlecheta.com.br
MBA em Gerenciamento por Projetos - FGV
Especialista em Sistemas GNU/Linux - Conectiva S.A
Tecnologia em Informática - UFPR
ANTES DE IMPRIMIR tenha em mente seu compromisso com o MEIO AMBIENTE!
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---