The Jakarta Apache Project has released Commons Lang 2.4, an open source 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
CompositeFormat
StrBuilder
StrLookup
StrMatcher
StrSubstitutor
StrTokenizer
New classes and interfaces in this release include IEEE754rUtils
, ExtendedMessageFormat
, and FormatFactory
.
There are also 58 new methods including 15 in StringUtils
:
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.