| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 12:35:05
|
joca_java
JavaChild
![[Avatar]](/images/avatar/85fa59ac8a893137b2777551335631ed.jpg)
Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline
|
Pessoal, alguém sabe dizer se tem como eu criar classes Java dinamicamente???
Não seria o .class e sim o .java!
O .class sei que tem como por exemplo pelo Javassist...
Alguem sabe como posso fazer pra gerar um .java?
Ou eu teria que criar um arquivo texto na mão mesmo e renomear pra .java?
Valeu!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 12:38:27
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Gerar o arquivo?
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 12:42:46
|
joca_java
JavaChild
![[Avatar]](/images/avatar/85fa59ac8a893137b2777551335631ed.jpg)
Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline
|
Alguma outra maneira???
Será que o CGLIB faz isso?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 12:48:33
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Ai eu já não sei, mas qual é a sua intenção?
Apenas criar o arquivo e escrever nele?
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 12:54:51
|
MrDataFlex
Virtual Machine Man
![[Avatar]](/images/avatar/a2009556541dfee38d822cf642d80b8c.jpg)
Membro desde: 23/03/2007 18:33:34
Mensagens: 569
Offline
|
usa o maker.. kkkkkkkkkkkkkk brincadeira!
|
SCJP 5.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 13:03:27
|
joca_java
JavaChild
![[Avatar]](/images/avatar/85fa59ac8a893137b2777551335631ed.jpg)
Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline
|
Sim sim... queria saber se teria algo mais rápido... que criar o arquivo...
é que to querendo automatizar algumas coisas... ai preciso inserir anotações
em atributos de classes criadas sacasse? Na verdade seria editar essa classe...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 13:09:18
|
kicolobo
Moderador
![[Avatar]](/images/avatar/445b6949ed8860ca6175e8c89464ba85.jpg)
Membro desde: 19/07/2006 14:11:09
Mensagens: 1188
Localização: Belo Horizonte
Offline
|
Sugestão: ao invés de criar classes Java, utilize alguma linguagem dinâmica para Java, como por exemplo Groovy, JRuby, Rhino ou qualquer outra.
PS: só por curiosidade, por que gerar as classes Java dinâmicamente?
|
http://devkico.itexto.com.br
Twitter: http://www.twitter.com/loboweissmann
Vamos aprender Grails?
http://www.grailsbrasil.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 13:35:19
|
joca_java
JavaChild
![[Avatar]](/images/avatar/85fa59ac8a893137b2777551335631ed.jpg)
Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline
|
kicolobo wrote:Sugestão: ao invés de criar classes Java, utilize alguma linguagem dinâmica para Java, como por exemplo Groovy, JRuby, Rhino ou qualquer outra.
PS: só por curiosidade, por que gerar as classes Java dinâmicamente?
Opa kicolobo, na verdade não seria nem gerar novas... desculpe a má forma de expressão... e sim alterar essas classes. Como por exemplo,
adicionar uma anotação em um atributo.
Pensei que tinha como fazer via Reflection...
This message was edited 1 time. Last update was at 13/02/2008 13:37:17
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 14:10:52
|
marcelo_mococa
Virtual Machine Man
![[Avatar]](/images/avatar/90248d0a98105fa534cf2b0696ddd12f.jpg)
Membro desde: 03/03/2005 10:03:32
Mensagens: 622
Localização: São Paulo
Offline
|
você quer adicionar funcionalidades no objeto em tempo de execução?
se for isso, porque não tenta criar um proxy do objeto?
em ultimo caso, o javaassist pode te ajudar.
|
Marcelo Madeira - TCS
SCJP 1.5
SCWCD 1.4
blog
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 14:24:15
|
rubinelli
JavaEvangelist
![[Avatar]](/images/avatar/5e15fb59326e7a9c3d6558ca74621683.jpg)
Membro desde: 26/04/2005 11:18:25
Mensagens: 469
Offline
|
Eu vejo algumas saídas aí.
A mais complexa é usar um parser com uma gramática Java para avaliar o seu .java e inserir as anotações que você quer. A vantagem é que você escreve um arquivo totalmente válido, que vai compilar mesmo que não passe pelo seu pré-processador, não vai aprecer com erros no seu Eclipse ou Netbeans, e você não tem que marcar com nada especial para funcionar.
A mais simples é usar um template engine. A desvantagem é que o código original não é compilável, então você perde o apoio do seu IDE.
A solução intermediária é usar uma notação que possa ser ignorada, semelhante por exemplo a Javadocs, e fazer o seu parsing com uma gramática mais simples. Provavelmente dá pra fazer só com expressões regulares, se você não quer nada avançado.
|
|
|
 |
|
|