Hi,
jarkarta-commons wird zwar oft kritisiert, weil angeblich nicht so sauber programmiert. Eine Menge Dinge sind aber extrem praktisch.
commons-lang: ToStringBuilder.
Für JavaBeans, Data Transfer Objects oder Value Objects ist es ja bekannte best-practise public String toString() aus java.lang.object zu überschreiben, um so leicht an Informationen über die Properties des Objekts zu haben.
Früher hat man da langatmige Dinge geschrieben wie
public String toString() {
return "val1=" + val1 + "\nval2=" + val2 + [...lots_of_stuff] + "\nvaln=" + valn
}
Bei Änderungen der properties muß man die auch da einfügen.
Mit eingebunden apache-commons-lang.jar schreibt man einfach:
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
Das funktioniert mit Introspection. Zwar ist Introspection tendentiell inperformant, normalerweise schreibt man sich aber solche Infos über die Objekte nur während der Entwicklung und nicht in produktiven Anwendungen raus.
Jason Menard hat recht interessante Artikel über xml und JavaBean Handling mit verschiedenen apache-commons geschrieben:
http://www.javaranch.com/newsletter/August2003/NewsletterAugust2003.jsp#a3