26 Jul
A versão 1.5 do Mirror acaba de ser lançada.
Alguns problemas com performance foram corrigidos.
Também foi criada uma forma de evitar um padrão que etava se tornando muito comum. Filtrar a lista de elementos logo após refletí-los:
List originalMethods = new Mirror().on(clazz)
.reflectAll().methods();
List methods = new ArrayList();
for (Method m : originalMethods) {
if (wantThisMethod(m)) {
methods.add(m);
}
}
Agora você pode fazer apenas:
List methods = new Mirror().on(clazz).reflectAll()
.methodsMatching(new SeuMatcher());
Release notes completo pode ser encontrado aqui.
Posts Relacionados:
Acompanhe-nos por
RSS, por Email ou via Twitter.
Veja como ter um desconto no Dreamhost: um excelente servidor web.
6 Jun
Acabei de fazer o release da versão 1.4 do Mirror, do qual já falei por aqui.
Essa nova versão vem com alguns bugfixes, uma forma melhor de trabalhar com getters e setters e uma pequena mudança na forma de uso.
Essas e outras mudanças podem ser vistas em http://projetos.vidageek.net/mirror-pt/projeto/release-notes.
Todo feedback é bem vindo.
Posts Relacionados:
Acompanhe-nos por
RSS, por Email ou via Twitter.
Veja como ter um desconto no Dreamhost: um excelente servidor web.
16 Nov
Alguns 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!
Posts Relacionados:
Acompanhe-nos por
RSS, por Email ou via Twitter.
Veja como ter um desconto no Dreamhost: um excelente servidor web.