Alterar Annotation em tempo de execução

3 respostas
castiel

Bom dia/tarde/noite.

Pessoal é possível alterar o valor uma anotação em tempo de execução?

public @interface Grab {
	    boolean value();
}

@Grab(value=false)
public String getiRefer() {
	return iRefer;
}

nesse caso passar o valor para true, se ele satisfazer algumas condições.

3 Respostas

Alexandre_Saudate

Não, não dá…

Mas, que mal lhe pergunte… qual é a necessidade?

castiel

Estou fazendo um insert com prepared statement, dai ele passa por todos os meus getters da minha classe pegando os valores para o insert.
O que acontece tem umas situações que tenho que eliminar alguns campos do meu insert, só que quando eu elimino os campo, mesmo assim o meu método percorre todos os getters, dai pensei no annotation, e funcionou, só que tiver que fazer 2 método “quase iguais” única diferença é que 1 verifica se tem o annotation Grab false, dai ele não pega o método.
Queria deixar tudo em 1 método só, para isso teria que ficar alterando o valor da anotação.

castiel
private boolean grabMethod(Method method) {
	if(!method.getAnnotation(Grab.class).value()) return false;
	return true;
}
Criado 28 de janeiro de 2010
Ultima resposta 28 de jan. de 2010
Respostas 3
Participantes 2