Commons Lang
Lang aims to provide:
- Comprehensive String handling utilities
- Enumerated types (pre JDK 1.5)
- Nested exceptions (pre JDK 1.4)
- Builders to create hashCode, equals, toString and compareTo methods
- Utilities for Object, Date and Numbers
The Javadoc of the latest version (2.1) is available.
The Javadoc of the CVS version (development) is available.
Development plan for 2.2
- Bug fixes
- StrTokenizer
- StrBuilder
- VariableFormatter/interpolator - 18962
Other ideas
21663 [lang] Add support in [ToStringStyle] for [DateFormat]. - Grows quickly into commons-convert
27643 [lang][patch] [ClassUtils].newInstance method - Seems unnecessary
29149 [lang] [StringEscapeUtils].unescapeHtml() doesn't handle an empty entity - Empty entity is in fact illegal HTML, so need to decide if we should ignore. Current behaviour seems acceptable as we're not in the work with bad HTML market.
26659 [lang] add method to [DateUtils] to get the distance between 2 dates - Mainly replicated by [DurationFormatUtils], or non-obvious
29692 [lang] String indentation feature request - Needs design as a non-simple problem
22172 [lang] [DateUtils].parseCVS behavior parsing "h:mm z" - Moved to sandbox
26297 [lang] [BitSetUtils] class, toIndexArray and fromIndexArray
- 21333 Add TimeoutController - Class in HttpClient. Leaving til 3.0 as not much movement on it
30674 Support [HttpClient]'s [DateParser] class - This is basically a Date parseDate(String dateValue, String[] dateFormats) method.
- LocaleUtils - including toLocale(String,String)
- CloneUtils - multiple ways to clone an object
Articles
This article http://www.devx.com/Java/Article/29392/0/page/6 discusses some of the interesting classes in Commons Lang with real world examples.