Commons Lang
Wiki Markup |
\[http://jakarta.apache.org/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 is \[http://jakarta.apache.org/commons/lang/api/index.html available\](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|http://issues.apache.org/bugzilla/show_bug.cgi?id= |
29294 29294\\[PATCH\] Fix the Fraction class - *Patch being reviewed.* Wiki Markup |
19331 \[lang\] General case: infinite loop: [ToStringBuilder].reflectionToString - *Need to confirm whether this is a bug* Wiki Markup |
---|
20015 \[lang\] Make Entities public and unit test - *Entities. Needs finishing.* |
- 21333 TimeoutController - Class in HttpClient. Needs evaluating.
- 21333 Support HttpClient's DateParser class.
- 22692 StringUtils.split ignores empty items
- 24910 new StringUtils.split methods that split on the whole separator string - method signature issue
Wiki Markup |
26297 \[lang\] [BitSetUtils]class, toIndexArray and fromIndexArray - *DONE - Gary to confirm, looks like primitive overloads are still needed* Wiki Markup |
---|
22172 \[lang\] [DateUtils].parseCVS behavior parsing "h:mm z" |
- 25560 DateUtils.truncate() is off by one hour when using a date in DST switch 'zone'
Wiki Markup |
---|
26922 \[lang\] public static boolean [DateUtils].equals(Date dt1, Date dt2) |
Wiki Markup |
---|
15082 \[lang\] elapsed time formatting utility method - *DurationFormatUtils. Needs finishing.* |
- 29794 Add convenience format(long) methods to FastDateFormat - Needs improvement
- 29163 Make StopWatch validate state transitions - Coding needed
Pushed back
Wiki Markup |
21663 \[lang\] Add support in [ToStringStyle] for [DateFormat]. - *Grows quickly into commons-convert* |
Wiki Markup |
---|
[27643|http://issues.apache.org/bugzilla/show_bug.cgi?id=27643] \[lang\]\[patch\] [ClassUtils].newInstance method - *Seems unnecessary* |
Wiki Markup |
---|
[29149|http://issues.apache.org/bugzilla/show_bug.cgi?id=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.* |
StringBuffer replacement - Probably 2.2/3.0. A lot of work in this I'd imagine. Wiki Markup |
---|
[26659|http://issues.apache.org/bugzilla/show_bug.cgi?id=26659] \[lang\] add method to [DateUtils] to get the distance between 2 dates - *Mainly replicated by [DurationFormatUtils], or non-obvious* |
Wiki Markup |
---|
[29692|http://issues.apache.org/bugzilla/show_bug.cgi?id=29692] \[lang\] String indentation feature request - *Needs design as a non-simple problem* |
\\
Resolved list
27592 \[lang\] [WordUtils] capitalize improvement - *DONE* |
- 23557 WordUtils.capitalizeFully(String str) should take a delimiter - DONE
Wiki Markup |
---|
27778 \[lang\] add remove methods to [ArrayUtils] - *DONE* |
- StringTokenizer replacement: (DONE - Tokenizer)
Wiki Markup |
25227[22172|http://issues.apache.org/bugzilla/show_bug.cgi?id=22172] \[lang\] [ |
StringEscapeUtilsunescapeHtml() doesn't handle hex entitiesparseCVS behavior parsing "h:mm z" - * |
DONE27640 \[lang\]\[patch\] [ClassUtils].primitivesToWrappers method - *DONE* |
Wiki Markup |
23749 [26297|http://issues.apache.org/bugzilla/show_bug.cgi?id=26297] \[lang\] |
\PATCH\[NumberRange] - adds inclusive and exclusive end points - *WONTFIX* Wiki Markup |
27876 \[lang\] [ReflectionToStringBuilder].toString(null) throws exception by design - *DONE*class, toIndexArray and fromIndexArray |
- 21333 Add TimeoutController - Class in HttpClient. Leaving til 3.0 as not much movement on it
27877 \[lang\]\[patch\] Make [ClassUtils] methods null-safe and not throw an IAE. - *DONE* |
Wiki Markup |
---|
26056 \[lang\] Add methods to [ArrayUtils]: add at end and insert-like ops - *DONE* |
- StringUtils.ordinalIndexOf() - Appears to be DONE
Wiki Markup |
---|
29673 \[lang\] [ExceptionUtils]: new getCause() methodname (for tomcat-exception) - *DONE*
\\ |
Seeking opinions
...
Wiki Markup |
---|
22717 \[lang\] [MutableNumbers] - *see lang.mutable.* |
...
[30674|http://issues.apache.org/bugzilla/show_bug.cgi?id=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.