Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

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

  1. Bug fixes
  2. StrTokenizer
  3. StrBuilder
  4. VariableFormatter/interpolator - 18962

Other ideas

  1. Wiki Markup

    \

    [21663|http://issues.apache.org/bugzilla/show_bug.cgi?id=

    29294 29294\

    21663] 	\[lang\]

    \[PATCH\] Fix the Fraction class - *Patch being reviewed.* Wiki Markup19331

     

    \[lang\] General case: infinite loop: [ToStringBuilder].reflectionToString - *Need to confirm whether this is a bug*
  2. Wiki Markup
    20015 	\[lang\] Make Entities public and unit test - *Entities. Needs finishing.*
  3. 21333

    Add

    TimeoutController - Class in HttpClient. Needs evaluating.
  4. 21333 Support HttpClient's DateParser class.
  5. 22692 StringUtils.split ignores empty items
  6. 24910 new StringUtils.split methods that split on the whole separator string - method signature issue
  7. Wiki Markup26297 \[lang\] [BitSetUtils]

     

    class, toIndexArray and fromIndexArray - *DONE - Gary to confirm, looks like primitive overloads are still needed*
  8. Wiki Markup
    22172 	\[lang\] [DateUtils].parseCVS behavior parsing "h:mm z"
  9. 25560 DateUtils.truncate() is off by one hour when using a date in DST switch 'zone'
  10. Wiki Markup
    26922 	\[lang\] public static boolean [DateUtils].equals(Date dt1, Date dt2)
  11. Wiki Markup
    15082 	\[lang\] elapsed time formatting utility method - *DurationFormatUtils. Needs finishing.*
  12. 29794 Add convenience format(long) methods to FastDateFormat - Needs improvement
  13. 29163 Make StopWatch validate state transitions - Coding needed

Pushed back

  1. Wiki Markup21663 \[lang\] Add

    support in [ToStringStyle] for [DateFormat]. - *Grows quickly into commons-convert*

  2. Wiki Markup
    [27643|http://issues.apache.org/bugzilla/show_bug.cgi?id=27643] 	\[lang\]\[patch\] [ClassUtils].newInstance method - *Seems unnecessary*

  3. 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.

  4. 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*

  5. 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

  1. Wiki Markup

    27592 	\[lang\] [WordUtils] capitalize improvement - *DONE*
  2. 23557 WordUtils.capitalizeFully(String str) should take a delimiter - DONE
  3. Wiki Markup
    27778 	\[lang\] add remove methods to [ArrayUtils] - *DONE*
  4. StringTokenizer replacement: (DONE - Tokenizer)
  5. Wiki Markup25227

    [22172|http://issues.apache.org/bugzilla/show_bug.cgi?id=22172] 	\[lang\] [

    StringEscapeUtils

    DateUtils].

    unescapeHtml() doesn't handle hex entities

    parseCVS behavior parsing "h:mm z" - *

    DONE

    Moved to sandbox*

  6. Wiki Markup

    27640 	\[lang\]\[patch\] [ClassUtils].primitivesToWrappers method - *DONE*
    Wiki Markup23749

    [26297|http://issues.apache.org/bugzilla/show_bug.cgi?id=26297] 	\[lang\] 

    \

    [

    PATCH\

    BitSetUtils] 

    [NumberRange] - adds inclusive and exclusive end points - *WONTFIX* Wiki Markup27876 \[lang\] [ReflectionToStringBuilder].toString(null) throws exception by design - *DONE*

    class, toIndexArray and fromIndexArray

  7. 21333 Add TimeoutController - Class in HttpClient. Leaving til 3.0 as not much movement on it
  8. Wiki Markup

    27877 	\[lang\]\[patch\] Make [ClassUtils] methods null-safe and not throw an IAE. - *DONE*
  9. Wiki Markup
    26056 	\[lang\] Add methods to [ArrayUtils]: add at end and insert-like ops - *DONE*
  10. StringUtils.ordinalIndexOf() - Appears to be DONE
  11. Wiki Markup
    29673 	\[lang\] [ExceptionUtils]: new getCause() methodname (for tomcat-exception) - *DONE*
    \\

Seeking opinions

...

Wiki Markup
22717 	\[lang\] [MutableNumbers] - *see lang.mutable.*

...

  1. [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.*

  2. LocaleUtils - including toLocale(String,String)
  3. 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.