Comparator Reflector

Olá:

Gostaria de convidar os colegas de fórum para conhecer meu pequeno projeto OpenSource, o Comparator Reflector. É meu primeiro projeto Open Source e me consumiu árduas 3 semanas. Inicialmente era para ficar no Java.net, entretanto enfretei alguns problemas lá e resolvi mudar para o SourceForge. Agradeço à todos aqueles me me auxiliaram nas minhas dúvidas principalmente no que se refere ao CVS. Aguardo a opinião de vocês.

Grato,

Bem legal seu projeto. Parabéns!

[]'s

Obrigado. Mas gostaria de esperar mais para vocês utilizarem para emitirem suas opiniões sobre a funcionalidade. Ainda vou fazer mais alterações na API: Vou alterar os métodos serach() e searchByAttribute() para que eles retornem uma Collection.
Alías, não seria interessante que o pessoal falasse dos projetos Open Souce em que eles estivessem eventualmente envolvidos?

Olá:

A nova versão de meu projeto Comparator Reflector, a 0.9.1 está disponível. A principal alteração estão nos métodos search(Collection, Object) e searchByAttribute(Collection, Object) que agora retornam uma Collection ao invés de apenas um Objeto.

Grato,

Rafael,

eu estou fazendo um projeto aqui onde eu preciso ordenar umas classes pelo nome de um atributo, então resolvi utilizar o ComparatorReflector.

parabéns!! ficou muito bom! :slight_smile:

Ricardo:

Obrigado pela Preferência :oops: . Na verdade pretendo fazer umas alterações no Comparator Reflector, para que se possa usar vários atributos nas comparações. Por exemplo: ao invés de ordenar apenas pelo atributo nascimento ordenar por nascimento, nome, rg e o que for mais necessário. Esse será minha incubênci apessoal para este final de ano.

Grato,

eu tinha pensado nisso tb :slight_smile:

poderia receber um array de String[] dos atributos para comparar.

Olá:

Exatamente! Deste Array de Strings, seria gerado um array de Methods com os respectivos métodos getters de cada atributo. Dentro do método compare(), este array sera percorrido até se chegar ao fim dele ou obter um resultado diferente de 0 ao se chamar o método compareTo().
Caso não haja método getterp público para algum atributo do array, será disparada uma ComparatorReflectorException. Ah! Método setAttributeName() continuará valendo, mas neste caso ele chamará o método setAttributes com um array de Strings contendo apenas o String passado.

Grato,

Rafael, de uma olhada na OGNL ( www.ognl.org ) e no Commons-BeanUtils ( http://jakarta.apache.org/commons ). Eles fazem boa parte disso que vc esta falando :wink:

Pô! Roubaram minha idéia! :frowning:
Falando sério: Já me avisaram qua havia alguma coisa parecida com o que faço no Commons Utils. O que achei na BeanUtils é a classe BeanComparator. Mas ela aceita apenas um atributo (como o Comparator Reflector faz atualmente) e não vários (como o Comparator Reflector fará no futuro). E além disso minha classe faz mais coisas (que, de fato, poderiam ser feitas com o java.util.Collections). Quanto ao OGNL Não consegui achar nada parecido, mas vou olhar melhor mais tarde.
De qualquer forma, vou dar uma olhada no código fonte dos dois projetos para ver como eles fazem.

Grato,