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

S

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.

D

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.

F

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