Mirror DSL
Jonas Abreu em 16/11/2008Alguns devem ter notado que faz alguns meses que não escrevo para o VG com frequencia. Um dos motivos disso foi este projeto.
O Mirror é uma DSL simples construida em cima da Java Reflection API pra facilitar um pouco a utilizacao dela.
A idéia é remover tudo aquilo que deixa o código praticamente incompreensível. Quem já brincou um pouco com reflection em Java sabe que você precisa suar bastante pra entender o código.
Com Mirror, seu código passa disso:
Field toSet = null;
for (Field f : target.getClass().getDeclaredFields()) {
if (f.getName().equals("field")) {
toSet = f;
}
}
if (toSet != null && ((toSet.getModifiers() & Modifier.STATIC) == 0)
&& ((toSet.getModifiers() & Modifier.FINAL) == 0)) {
toSet.setAccessible(true);
toSet.set(target, value);
}
Para isso:
Mirror.on(target).set().field(fieldName).withValue(value);
Não sei quanto a vocês, mas eu prefiro a segunda forma ;)
Todo feedback é bem vindo!