Criando Classes Dinamicas

6 respostas
C

E ai galera, blz?
Seguinte, tenho a seguinte dúvida: tem como criar classes dinamicamente, atraves de banco de dados, arquivo, ou algum outro tipo de entrada? E se tiver, tem como gerar os anottations automaticamente?

Valeu Galera.

6 Respostas

ssh

ahn?

A

Você quer gerar o código das classes utilizando engenharia reversa ou quer classes novas criadas em tempo de execução?

No Netbeans, por exemplo, há uma ferramenta para ler tabelas do banco de dados e criar suas classes a partir delas.

Se for realmente para criar novas classes em tempo de execução, não seria algo tão trivial.

O que pretende fazer com isso?

C

Seria algo do tipo: em um banco de dados temos o campo nome do tipo texto, e o campo idade do tipo inteiro. Ai algum processo vai ler e gerar as classes.
O que eu pretendo fazer com isso é criar uma ferramenta para criação de games.
Tipo, pode ser feita uma meta classe, para servir de base para as classes gerada?

Abraços.

davidbuzatto

Para extrair os metadados do banco use ResultSetMetaData e DatabaseMetaData, ambas interfaces do pacote java.sql.
Para classes “dinâmicas”, você pode usar a biblioteca commons bean utils, mais precisamente a classe BasicDynaClass. Para beans (entenda “objetos”) dinâmicos, você pode usar a classe BasicDynaBean. Essas duas classes implementam respectivamente as interfaces DynaClass e DynaBean.

[]'s

C

Entendi, obrigado.

fabiofalci

Algo mais avançado, com classes dinâmicas em tempo de execução, vc pode usar algo como
http://www.csg.is.titech.ac.jp/~chiba/javassist/

Olha um exemplo de uso:
https://github.com/playframework/play/blob/master/framework/src/play/db/jpa/JPAEnhancer.java

Criado 31 de outubro de 2011
Ultima resposta 1 de nov. de 2011
Respostas 6
Participantes 5