1. INTRODUCTION
The Lang Component contains a set of Java classes that provide
helper methods for standard Java classes, especially those found in the
java.lang package in the Sun JDK.
The following classes are included:
- StringUtils - Helper for java.lang.String.
- CharSetUtils - Methods for dealing with CharSets, which are sets of characters such as [a-z] and [abcdez].
- RandomStringUtils - Helper for creating randomised Strings.
- NumberUtils - Helper for java.lang.Number and its subclasses.
- NumberRange - A range of numbers with an upper and lower bound.
- ObjectUtils - Helper for java.lang.Object.
- SerializationUtils - Helper for serializing Objects.
- SystemUtils - Utility class defining the Java system properties.
- NestedException package - A sub-package for the creation of nested exceptions.
- Enum package - A sub-package for the creation of enumerated types.
- Builder package - A sub-package for the creation of equals, hashCode, compareTo and toString methods.
2. DEPENDENCIES
The Lang component is dependent upon the following external
components for development and use:
3. RELEASE INFO
Current Release:
Version 1.0 - Beta 1
Planned Next Release:
An rc1 and then a full release are planned in early Autumn/Fall 2002.
4. KNOWN ISSUES
5. ACTION ITEMS
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.
- Reflection utilities - new sub-package to deal with reflection
- Operating system information - maybe part of SystemUtils, maybe another project
- MathUtils - possible addition of mathmatics helper. Could go in NumberUtils
- CalendarUtils - possible addition of a calendar utility class (from Serge Knystautas)
- CloneUtils - utility class to enable cloning via various different mechanisms
- StringUtils containsOnly method - proposed new method to check if a string contains only certain chars
- 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 comonality
- StringUtils parseBoolean method - This method is in OSCore's TextUtils and seems very reusable. It could go in a BooleanUtils if such a need was seen
- StringUtils uncapitaliseAllWords method - String Taglib has shown that this method is missing from StringUtils.
- 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.
- ArrayUtils - opinion seems to be that this belongs with [lang] and not [collections]
6. COMMITTERS
The following individuals are the primary developers and maintainers of this
component. Developers who plan to use Lang 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.