VRaptor 4 - vraptor-encryptor lançado

1 resposta
d34d_d3v1l

Bom dia pessoal.

Este tópico tem dois objetivos. O primeiro é anunciar que o plugin vraptor-encryptor esta pronto e pronto para uso! Eis a primeira versão:

O segundo objetivo, é pedir ajuda a vocês para implementar a feature marcada como Coming Soon (ultima feature do readme).
Podem ajudar? Não faço ideia de como fazer.

1 Resposta

Rafael_Guerreiro

No start da aplicação (aonde você chama a configuração), você pode usar o scannotation para que ele procure as classes que possuem as anotações.

Assim, você consegue ter um Set de classes que deverão ter o valor setado no field que está anotado.

Tome o cuidado de que a classe Class não implementa hashCode() e equals() então seria interessante usar o nome completo dela ou um wrapper para essa class.

O wrapper pode até ser interessante pois ele pode conter o field que contém a annotation que você quer e qual é a annotation que você quer.
Só precisa lembrar de implementar hashCode() e equals() para usar em um Set, assim, quando você fizer o set.contains(obj) ele funciona precisamente e é mais rápido que uma lista, dependendo da quantidade de objetos e da quantidade de requests que seu interceptor irá receber.

Para setar o field, você pode usar o Mirror para pegar o setter. Caso não exista setter, você faz um fallback para setar o valor próprio field (usando o setAcessible(true)).

Precisa pensar se compensa obrigar que todos os fields anotados precisam ser non-finals.
Ou deve existir alguma alternativa com reflection para setar um field final mesmo. (Isso aqui não me parece muito bom)

Criado 20 de agosto de 2014
Ultima resposta 20 de ago. de 2014
Respostas 1
Participantes 2