Commons JXPath - The announcement on TSS is the first I’ve heard of this. It’s kind of like the JSTL EL but in code. From one of their examples, this JXPath expression:
Address address = (Address)JXPathContext.newContext(vendor).
getValue("locations[address/zipCode='90210']/address");
is equivalent to this Java code:
Address address = null;
Collection locations = vendor.getLocations();
Iterator it = locations.iterator();
while (it.hasNext()){
Location location = (Location)it.next();
String zipCode = location.getAddress().getZipCode();
if (zipCode.equals("90210")){
address = location.getAddress();
break;
}
}
Very perlish, don't you think?
It's interesting how a number of the Jakarta Commons projects are implementing these sorts of shortcuts to make verbose Java more succinct -- some of the classes in the Commons Collections package library are trying to fold functional idioms (like map) into Java, which is most welcome.