Criar classes java (.java) dinamicamente.  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
joca_java
JavaChild
[Avatar]

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!
Marky.Vasconcelos
Moderador
[Avatar]

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!
[WWW] [MSN]
joca_java
JavaChild
[Avatar]

Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline

Alguma outra maneira???
Será que o CGLIB faz isso?
Marky.Vasconcelos
Moderador
[Avatar]

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!
[WWW] [MSN]
MrDataFlex
Virtual Machine Man
[Avatar]

Membro desde: 23/03/2007 18:33:34
Mensagens: 569
Offline

usa o maker.. kkkkkkkkkkkkkk brincadeira!

SCJP 5.0
joca_java
JavaChild
[Avatar]

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...
kicolobo
Moderador
[Avatar]

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
[WWW] [MSN] [ICQ]
joca_java
JavaChild
[Avatar]

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

marcelo_mococa
Virtual Machine Man
[Avatar]

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

rubinelli
JavaEvangelist
[Avatar]

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.
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team