| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/10/2009 08:51:19
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
Duvida...
Estou dando uma olhada, e vi que é possivel, criar classes dinamicas, porem a minha duvida é se é possivel criar uma classe similar, porem com retornos diferentes, ou isso seria apenas um sonho ??
por exemplo
public class Teste {
public void bla();
public void foo();
}
e entao usar algo como
createDinamico(Teste.class).bla().foo();
ou seja, o retorno de bla() mudaria de void para a propria classe... isso é possivel ?
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/10/2009 09:05:22
|
Leonardo3001
GUJ Ranger
Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline
|
Eu já cheguei a mexer no CGLIB, mas pra fazer coisa simples, que era acrescentar uma implementação padrão de uma interface a várias classes. Meio que fácil, porque o compilador não me proíbe de fazer um cast pra qualquer interface (mesmo que a classe não a implemente).
Agora, mesmo que você consiga mudar o retorno de um método (não acho que seja impossível), ainda assim o compilador irá reclamar da atribuição de variável; e você só terá a opção de invocar o método via API de reflection.
This message was edited 1 time. Last update was at 13/10/2009 09:05:49
|
Leonardo Veríssimo
-------------------------------------------------
Objectzilla |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/10/2009 09:13:43
|
palmadias
JavaTeenager
Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline
|
bom dia!
Uma alternativa para criar proxy dinamico tem no livro "Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering".
No capitulo 16 desse livro tem um técnica interessante usando java puro sem a necessidade de usar uma API terceira.
abraços.
|
http://palmadias.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/10/2009 09:20:51
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
usar java puro é tenso ^^
cglib rox =x
reinventar a roda é algo complicado, nem sempre vc consegue pensar nas N possibilidades
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/10/2009 09:57:55
|
barenko
JavaBaby
![[Avatar]](/images/avatar/4c32ad344b09ff872f942b6d2196e720.jpg)
Membro desde: 07/04/2008 21:09:30
Mensagens: 81
Offline
|
palmadias wrote:bom dia!
Uma alternativa para criar proxy dinamico tem no livro "Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering".
No capitulo 16 desse livro tem um técnica interessante usando java puro sem a necessidade de usar uma API terceira.
abraços.
Excelênte dica! Dei uma olhada e o livro tem ótimos exemplos de várias coisas interessantes! Obrigado pela referência!
This message was edited 1 time. Last update was at 13/10/2009 09:58:21
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/10/2009 13:13:22
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
É que estou usando proxy para montar criteira... ate agora a montagem esta assim:
eu gostaria de poder trocar a ordem entre o isEqual e o getDdi por exemplo.... o ideal seria assim
mas como o retorno dos métodos de Telefone são já definidos, não consigo fazer o encadeamento como queria =/
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
|
|