Tagged to the right commons project.
You might want to look at how beanutils accesses bean properties - its
slightly different to how you do it.

Stephen

----- Original Message -----
From: "Wickus Martin" <[EMAIL PROTECTED]>
> A while back I wrote a generic comparator for Java objects and called it
> GComp. We've been using it internally at the company where I work, but I
was
> wondering if it might not be of value to the commons project.
>
> Typically Java programmers create a custom Comparator implementation for
> every comparison scenario they encounter. GComp on the other hand can
> compare objects according to complex criteria based on a simple expression
> that explains how the objects should be compared. Great time saver and
> prevents problem of many small comparator classes bloating the code base.
>
> Usage scenario:
>
> Lets say we have a class called Customer with methods to access the first
> name and last name. Lets also say we have a class called Order that holds
a
> reference to an instance of Customer.
>
> To compare orders according to the customer surname (ascending) we could
> create the following comparator:
>
> new GComp("getLastName");
>
> To compare a collection of orders according to the customer last name
> (ascending) and then first name (descending) for those customers with the
> same last name we could create the following comparator:
>
> new
>
GComp("[EMAIL PROTECTED]|[EMAIL PROTECTED]
> ");
>
> To order null values last and ignore case we could create:
>
> new
>
GComp("[EMAIL PROTECTED],nulls=last|getCustomer.
> [EMAIL PROTECTED],nulls=last");
>
>
> The above code only orders on string objects, but all objects implementing
> the comparable interface is supported as is primitive types.
>
> Currently GComp uses commons-logging to output debugging information if
> commons logging is found on the classpath.
>
> I'm happy to donate the code for further study. Let me know.
>
> Keep well,
> Wickus Martin
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to