VidaGeek.net

Linux, Open-source, Programação e Produtividade

Mirror 1.5 release

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:

  • Mirror 1.4 release
  • Mirror DSL
  • Infinitest
  • Rodas existem porque inventamos várias
  • Lançamento do Gentoo 2007.0
  • Retrospectiva 2008
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

    Mirror 1.4 release

    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:

  • Mirror 1.5 release
  • Mirror DSL
  • Infinitest
  • Rodas existem porque inventamos várias
  • Lançamento do Gentoo 2007.0
  • Retrospectiva 2008
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 0 Comments
  • Filed under: Java, News, OpenSource
  • Mirror DSL

    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 ;)

    Site oficial do projeto

    Todo feedback é bem vindo!

    Reblog this post [with Zemanta]

    Posts Relacionados:

  • Mirror 1.4 release
  • Mirror 1.5 release
  • Infinitest
  • Rodas existem porque inventamos várias
  • Retrospectiva 2008
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.