| <html> |
| <head> |
| <title>Status File for Jakarta Commons "Lang" Component</title> |
| </head> |
| <body bgcolor="white"> |
| |
| |
| <div align="center"> |
| <h1>The Jakarta Commons <em>Lang</em> Component</h1> |
| $Id: STATUS.html,v 1.32 2002/12/29 22:07:55 scolebourne Exp $<br /> |
| <a href="#Introduction">[Introduction]</a> |
| <a href="#Dependencies">[Dependencies]</a> |
| <a href="#Release Info">[Release Info]</a> |
| <a href="#Known Issues">[Known Issues]</a> |
| <a href="#Action Items">[Action Items]</a> |
| <a href="#Committers">[Committers]</a> |
| <br /><br /> |
| </div> |
| |
| |
| <a name="Introduction"></a> |
| <h3>1. INTRODUCTION</h3> |
| |
| <p>The <em>Lang</em> Component contains a set of Java classes that provide |
| a basic set of common utility code on top of the standard Java classes. |
| The following principal classes are included:</p> |
| <ul> |
| <li><strong>Main package</strong> - A package for the manipulation of basic Java classes |
| <ul> |
| <li><strong>StringUtils</strong> - Helper for java.lang.String.</li> |
| <li><strong>CharSetUtils</strong> - Methods for dealing with CharSets, which are sets of characters such as [a-z] and [abcdez].</li> |
| <li><strong>RandomStringUtils</strong> - Helper for creating randomised Strings.</li> |
| <li><strong>BooleanUtils</strong> - Helper for boolean and java.lang.Boolean.</li> |
| <li><strong>NumberUtils</strong> - Helper for java.lang.Number and its subclasses.</li> |
| <li><strong>ObjectUtils</strong> - Helper for java.lang.Object.</li> |
| <li><strong>ArrayUtils</strong> - Helper for manipulating arrays.</li> |
| <li><strong>ClassUtils</strong> - Helper for manipulating java.lang.Class objects.</li> |
| <li><strong>SerializationUtils</strong> - Helper for serializing Objects.</li> |
| <li><strong>SystemUtils</strong> - Utility class defining the Java system properties.</li> |
| </ul> |
| |
| <li><strong>Builder package</strong> - A package for the creation of equals, hashCode, compareTo and toString methods. |
| <ul> |
| <li><strong>ToStringBuilder</strong> - Helper for building toString methods.</li> |
| <li><strong>EqualsBuilder</strong> - Helper for building equals methods.</li> |
| <li><strong>HashCodeBuilder</strong> - Helper for building hashCode methods.</li> |
| <li><strong>CompareToBuilder</strong> - Helper for building compareTo methods.</li> |
| </ul> |
| |
| <li><strong>Enum package</strong> - A package for the creation of enumerated types. |
| <ul> |
| <li><strong>EnumUtils</strong> - Helper for manipulating enumerated types.</li> |
| <li><strong>Enum</strong> - Abstract superclass for enumerated types to extend.</li> |
| <li><strong>ValuedEnum</strong> - Superclass for enumerated types with an integer constant.</li> |
| </ul> |
| |
| <li><strong>Exception package</strong> - A package for the creation and manipulation of nested exceptions.</li> |
| <ul> |
| <li><strong>ExceptionUtils</strong> - Helper for manipulating exceptions.</li> |
| <li><strong>NestedException</strong> - An exception that supports a nested exception.</li> |
| <li><strong>NestedRuntimeException</strong> - An exception that supports a nested exception.</li> |
| <li><strong>NestedError</strong> - An exception that supports a nested exception.</li> |
| </ul> |
| |
| <li><strong>Functor package</strong> - A package for basic f(x) type functions. |
| <ul> |
| <li><strong>Predicate</strong> - f(x) that evaluates an Object and returns a boolean.</li> |
| <li><strong>PredicateUtils</strong> - Implementations of most commonly required predicates.</li> |
| <li><strong>Transformer</strong> - f(x) that transforms one Object into another.</li> |
| <li><strong>TransformerUtils</strong> - Implementations of most commonly required transformers.</li> |
| <li><strong>Executor</strong> - f(x) that receives an Object and executes an action.</li> |
| <li><strong>ExecutorUtils</strong> - Implementations of most commonly required executors.</li> |
| <li><strong>Factory</strong> - f(x) that creates an Object.</li> |
| <li><strong>FactoryUtils</strong> - Implementations of most commonly required factories.</li> |
| </ul> |
| |
| <li><strong>Math package</strong> - A package for simple business (not scientific) maths classes. |
| <ul> |
| <li><strong>Range</strong> - A range of numbers.</li> |
| <li><strong>Fraction</strong> - A fraction.</li> |
| </ul> |
| |
| <li><strong>Util package</strong> - A package for common useful utilities. |
| <ul> |
| <li><strong>BitField</strong> - A class to assist with manipulating bits.</li> |
| <li><strong>IdentifierUtils</strong> - Implementation of various identifier factories.</li> |
| <li><strong>Validate</strong> - A class to simplify method argument validation.</li> |
| </ul> |
| |
| </ul> |
| |
| |
| <a name="Dependencies"></a> |
| <h3>2. DEPENDENCIES</h3> |
| |
| <p>The <em>Lang</em> component is dependent upon the following external |
| components for development and use:</p> |
| <ul> |
| <li><a href="http://java.sun.com/j2se">Java Development Kit</a> |
| (Version 1.2 or later)</li> |
| <li><a href="http://www.junit.org">JUnit Testing Framework</a> |
| (Version 3.7 or later) - for unit tests only, not required |
| for deployment</li> |
| </ul> |
| |
| |
| <a name="Release Info"></a> |
| <h3>3. RELEASE INFO</h3> |
| |
| <p>Current Release: |
| <a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-lang/v1.0">Version 1.0</a> |
| </p> |
| |
| <p>Planned Next Release: |
| A 2.0 will be released after a undefined period of development. |
| </p> |
| |
| |
| <a name="Known Issues"></a> |
| <h3>4. KNOWN ISSUES</h3> |
| <p> |
| <ul> |
| <li>CharRange.UNSET - will have problems if we introduce reverse ranges that go down to \u0000.</lI> |
| <li>Null effects - the classes are not standardised in how they handle null.</li> |
| </ul> |
| </p> |
| |
| |
| <a name="Action Items"></a> |
| <h3>5. ACTION ITEMS</h3> |
| |
| <p>Want to help? Here's some "to do" items the team has identified. Note that all are |
| still under discussion, so please mail the list before actioning.</p> |
| <ul> |
| <li>Reflection utilities - work underway in reflect package.</li> |
| <li>Operating system information - maybe part of SystemUtils, maybe another project</li> |
| <li>Maths utils - possible addition of mathmatics helper.</li> |
| <li>Date and Calendar utils - work underway in time package.</li> |
| <li>DateRange</li> |
| <li>CloneUtils - utility class to enable cloning via various different mechanisms. This code exists in [pattern] at present.</li> |
| <li>StringUtils truncateNicely method - A substring with some extra power to choose where to cut off. It was in Avalon and was added separately to String Taglib from a code submission. This suggests it may have some commonality. [CODED]</li> |
| <li>StringUtils unescape method - String Taglib has shown that this method is missing from StringUtils. It would take a String with "\n" in and convert it to the Java character. unescape and escape should be symmetric - [DONE. Test symmetry] </li> |
| <li>CharUtils - Utilities to work on a char[] in the same way as a String |
| <li>AStringBuffer - A StringBuffer implementation with additional methods from StringUtils |
| <li>O(n) - Document all algorithm-implementing methods with the order. Possibly with an O(n) on the end of each parameterm or with an @order tag.</li> |
| <li>Money and Currency</li> |
| </ul> |
| |
| |
| <a name="Committers"></a> |
| <h3>6. COMMITTERS</h3> |
| |
| <p>The following individuals are the primary developers and maintainers of this |
| component. Developers who plan to use <em>Lang</em> in their own |
| projects are encouraged to collaborate on the future development of this |
| component to ensure that it continues to meet a variety of needs.</p> |
| <ul> |
| <li><a href="mailto:bayard@apache.org">Henri Yandell</a></li> |
| <li><a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a></li> |
| <li><a href="mailto:scolebourne@joda.org">Stephen Colebourne</a></li> |
| <li><a href="mailto:steven@caswell.name">Steven Caswell</a></li> |
| <li><a href="mailto:rdonkin@apache.org">Robert Burrell Donkin</a></li> |
| </ul> |
| |
| </body> |
| </html> |