Inserir atributo via reflection

Galera,

Queria saber se tem como eu inserir atributos a uma classe via Reflection?
Ou se tem algum framework que faça isso.

Att

Qual é o objetivo, exatamente?
Se for criar novos atributos, o reflection não permite, pois, ele precisa de uma classe existente (isso significa que ela já está compilada) e não há um método setAttribute, por exemplo.

Entao vamos la!!!

Eu tenho a minha aplicacao que usa servidor e cliente. Estou trabalhando com GWT.

O problema é o seguinte:

O projeto tem que ser todo dinamico, como assim todo dinamico, em uma unica tela do GWT eu tenho que montar as telas de acordo com o que vem do servidor.

A tela de pesquisa vai usar o CellTable do GWT, so que para gerar o CellTable eu tenho que passar quais campos vou criar de uma determianda Classe, mais ou menos assim:

final CellTable<ClasseQueVaiRepresentarATabela> table = new CellTable<ClasseQueVaiRepresentarATabela>();

//Criando a coluna
TextColumn<ClasseQueVaiRepresentarATabela> column = new TextColumn<ClasseQueVaiRepresentarATabela>() {
      @Override
      public String getValue(ClasseQueVaiRepresentarATabela object) {
        return object.campoQueCriei;
      }
    };
    table.addColumn(column, "Nome da minha coluna");

Sei que isso é uma coisa muito cabulosa, ma quem pode manda e quem tem juizo fica doido rapidao!

Não sei se isso vai ser possivel.

Se alguem tiver uma ideia melhor sera muito bem vinda.

Att

Java != Javascript

Você não pode acrescentar novos campos a uma classe.

Entretanto, você pode criar um mapa (que é, na verdade, a maneira como o JavaScript implementa os campos em uma classe) para mapear um nome de atributo ao seu valor.

Exemplo:

Map<String, Object> atributos = new HashMap<String, Object> ();
...

atributos.put ("campoQueCriei", "123");
...
Object obj = atributos.get ("campoQueCriei");

Eu sei!

Mas o grande problema esta nesse camarada:

TextColumn<ClasseQueVaiRepresentarATabela> column = new TextColumn<ClasseQueVaiRepresentarATabela>() {  
      @Override  
      public String getValue(ClasseQueVaiRepresentarATabela object) {  
        return object.campoQueCriei;  // AQUI OH!!!! Esse cara tem que ser um atributo da classe que estou ussando.
      }  
    };  
    table.addColumn(column, "Nome da minha coluna");