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:
CharRange
CharSet
CharSetUtils
CompareToBuilder
Enum
Enum.Entry
EnumUtils
EqualsBuilder
ExceptionUtils
HashCodeBuilder
Nestable
NestableDelegate
NestableError
NestableException
NestableRuntimeException
NumberRange
NumberUtils
ObjectUtils
ObjectUtils.Null
RandomStringUtils
SerializationException
SerializationUtils
StandardToStringStyle
StringUtils
SystemUtils
ToStringBuilder
ToStringStyle
ToStringStyle.DefaultToStringStyle
ToStringStyle.MultiLineToStringStyle
ToStringStyle.NoFieldNameToStringStyle
ToStringStyle.SimpleToStringStyle
ValuedEnum
ArrayUtils
BitField
BooleanUtils
CharRange (previously package scoped)
ClassUtils
StringEscapeUtils
WordUtils
IllegalClassException
IncompleteArgumentException
NotImplementedException
NullArgumentException
SerializationException
UnhandledException
Validate
IntRange
LongRange
Range
DoubleRange
JVMRandom
NumberRange
FloatRange
NumberUtils
Fraction
RandomUtils
DateFormatUtils
FastDateFormat
DateUtils
StopWatch
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.