| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/01/2009 13:56:42
|
thiago.filadelfo
Virtual Machine Man
![[Avatar]](/images/avatar/a0dabc6f2a8ea64b7fb210eec0175a02.jpg)
Membro desde: 07/07/2007 00:32:26
Mensagens: 579
Localização: São Paulo
Offline
|
Olá Amigos
Gostaria de saber se existe alguma forma de eu fazer um filtro de eventos nos listeners, por exemplo
minha classe implementaria ActionListener e esse action pede a implementação de um metodo
actionPerformed, ok...
Dai gostaria que esse actionPerformed passe pelo meu filtro primeiro para depois ser envocado, normalmente.
É a mesma idéia do Filter no jee antes de chamar um servlet ou um action do struts.. tem modo de fazer isso??
Desde já agradeço
Flwssss
This message was edited 2 times. Last update was at 06/01/2009 20:48:45
|
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/01/2009 14:01:03
|
marcosharbs
Virtual Machine Man
![[Avatar]](/images/avatar/8d497e638156b68197ed9ad0978eaeaf.jpg)
Membro desde: 01/08/2008 11:53:39
Mensagens: 645
Offline
|
hmmm não sei se tem como fazer que nem com servlet, mas vc poderia chamar seu filtro dentro do actionPerformed e ai so executa o conteudo dele se seu filtro retorna true por exemplo, só uma ideia nao sei comko vc esta implementando.
|
======================================================
Blog com foco em desenvolvimento web com java.
http://marcosharbs.wordpress.com/
====================================================== |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/01/2009 14:29:43
|
thiago.filadelfo
Virtual Machine Man
![[Avatar]](/images/avatar/a0dabc6f2a8ea64b7fb210eec0175a02.jpg)
Membro desde: 07/07/2007 00:32:26
Mensagens: 579
Localização: São Paulo
Offline
|
Tentei fazer assim:
- Minha Classe que iria filtra as ações:
- Minha classe que iria produzir e consumir o evento:
Mais esta fazendo um loop da morte!!! srsrsrsrs
Também gostaria de fazer com que essa classe teste implementasse... mas tudo bem.. qualquer sugestão é válida!!!
Flwsss
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 00:32:33
|
renzonuccitelli
GUJ Master
Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline
|
Vejo algumas maneiras de fazer isso.
1) implemente o ActionListener em uma classe abstrata que receba seu filtro no construtor, e que possua o filtro como atributo. Seu filtro, poderia ser, por exemplo, uma interface com o método boolean verify(), de forma que vc pudesse implementar diferentes filtros. Entao em sua classe asbtrato, vc criaria o método execute() ou alguma coisa do gênero, que seria a acao a ser executada.
Vai um exemplo:
Outra forma seria definir filtros via Annotation+Reflection para evitar os if´s que o padrão Observer nos obriga a criar em Java. Esse foi o tema do meu TCC que eu resolvi, como exemplo, no JColtrane para evitar as cascatas de if´s no uso do SAX.
Enfim, acho que a primeira é mais simples para o que vc quer, mas derrepente vc pode dar uma olhada na segunda para coisas mais complicadas...
A propósito, a classe que vc fez fica em loop pq um método fica chamando o outro em seu escopo, ocasionando um ping pong sem fim
This message was edited 2 times. Last update was at 06/01/2009 00:33:23
|
Renzo Nuccitelli
Engenheiro de Computação - ITA
http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 07:23:03
|
thiago.filadelfo
Virtual Machine Man
![[Avatar]](/images/avatar/a0dabc6f2a8ea64b7fb210eec0175a02.jpg)
Membro desde: 07/07/2007 00:32:26
Mensagens: 579
Localização: São Paulo
Offline
|
Putz... é verdade, nem tinha visto!!! Isso.... ontem tinha tentado algumas coisas
mas logo desisti, vou tentar o que vc falou (primeira solução) e achei muito
interessante essa API JColtrane..
Muito obrigado pela dica
Flwsss
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 08:45:00
|
thiago.filadelfo
Virtual Machine Man
![[Avatar]](/images/avatar/a0dabc6f2a8ea64b7fb210eec0175a02.jpg)
Membro desde: 07/07/2007 00:32:26
Mensagens: 579
Localização: São Paulo
Offline
|
Opa!!!! Ueba!!!
Funcionou certinho!!! Legal.. gostei deste jeito
tinha feito um de extends.. não tinha gostado muito, pois se uma classe já extendida
dai tinha que fazer várias coisas... deste jeito que vc me falou saiu perfeito....
Brigaduuuuuuuuuuuuuu
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2009 11:44:51
|
renzonuccitelli
GUJ Master
Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline
|
Legal que vc tenha conseguido. Repare que vc pode também usar um var args no construtor para inserir vários filtros em vez de um só. As vezes vc pode querer criar várias condições. Aí bastaria ver se todas as condições dos filtros são atendidas.
|
Renzo Nuccitelli
Engenheiro de Computação - ITA
http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
|
|
|
 |
|
|