Java News from Thursday, October 5, 2006

The Jakarta Apache Project has released Commons Lang 2.2, an open surce collection of "helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, creation and serialization, and System properties. Additionally it contains an inheritable enum type, an exception structure that supports multiple types of nested-Exceptions, basic enhancements to java.util.Date and a series of utlities dedicated to help with building methods, such as hashCode, toString and equals." Classes include:

Besides bug fixes, the main new addition in this release is a new text package that adds CompositeFormat, StrBuilder, StrLookup, StrMatcher, StrSubstitutor, and StrTokenizer classes. There's a lot of good stuff here. Everyone should check it out, at least for the ideas even if you don't want to use the library.

Larry Ogrodnek has released Sparklines for Java 1.0. "Sparklines are 'intense, simple, wordlike graphics.' They are detailed in Edward Tufte's latest book, Beautiful Evidence and also in his message board." Sparklines for Java contains Java and JSTL libraries for drawing sparklines.

Tom Copeland has released PMD 3.8, an open source tool for automatically checking Java code for various classes of bugs. Version 3.8 fixes bugs and adds four new rules: BrokenNullCheck, AvoidRethrowingException, UnnecessaryWrapperObjectCreation, and UselessStringValueOf.

As is my custom, I tested these new rules out on XOM. UnnecessaryWrapperObjectCreation and UselessStringValueOf were triggered once each. The UnnecessaryWrapperObjectCreation was really a false positive, since the rule it's based on only applies in Java 1.4 and later, and XOM tries to be compatible with Java 1.2. UselessStringValueOf was accurate, though I'm not sure how important it was. It certainly wasn't a bug; maybe a small code cleanup or a tiny performance hit. AvoidRethrowingException was triggered seven times, and everyone was a false positive.

Health Market Science, Inc. has released Jackcess 1.1.7, an open source (LGPL) Java library for reading and writing Microsoft Access 2000 (not 2003) files. This release adds support for compressed' indexes, overflow row reading, and multi-page long values.