I don't think there is one in Commons yet. I've had one for myself for a bit and it can be a lifesaver sometimes.
BeanComparator bc = new BeanComparator("[1]"); was very sweet when I realised that would work :) Not just Beans but also arrays/collections. I'm +1 for a BeanComparator, +1 in that I plan to do it sometime but have not had the time to learn the Jakarta BeanUtils and stop using my own. Hen On Fri, 7 Jun 2002, Eric Pugh wrote: > Hi all, > > I have a series of Torque objects that I want to sort. Sometimes I want to > sort by MethodA, sometiems by MethodB. (Basically mapping onto all the > columns in my database). > > Right now, I have a comparator compare method that looks like this: > public int compare( Object o1, Object o2 ) { > Daughterboard db1 = (Daughterboard) o1; > Daughterboard db2 = (Daughterboard) o2; > int sort = 0; > if ( sortMethod.equals( "ScintillationFileNumber" ) ) { > /* > * if ( db1 == null == db2 ) { > * return 0; > * } > * else if (db1 == null && > */ > sort = Strings.clean( db1.getScintillationFileNumber() >).compareTo( > Strings.clean( db2.getScintillationFileNumber() ) ); > > } > else if ( sortMethod.equals( "DaughterboardId" ) ) { > sort = db1.getDaughterboardId().compareTo( >db2.getDaughterboardId() ); > } > if ( sortPolarity.equals( "desc" ) ) { > sort = sort * -1; > } > > return sort; > } > > What I really want to do is pass in a sortMethod like > ScintillationFileNumber, and dynamically call the objects getter for that > name. If I wrap my object in a WrapDynaBean, and use that to call the data, > will is actually change the ordering of my objects? Or should I just use > the WrapDynaBean locally inside of my compare method to facilitate calling > the methods? > > First time using BeanUtils, but it looks great.. > > Lastly, would a comparator like this be something of general interest to add > to the collections list of comparators? > > Eric > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>