# Proposal for Lang Package

### (0) Rationale

The standard Java libraries fail to provide enough methods for manipulation of its main components. The Lang Package provides these extra methods. There are other classes which might justifiably be included in java.lang someday, this package also provides for them.

### (1) Scope of the Package

This proposal is to create a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. The Lang Package also applies to primitives and arrays.

### (1.5) Interaction With Other Packages

Lang relies only on standard JDK 1.2 (or later) APIs for production deployment. It utilizes the JUnit unit testing framework for developing and executing unit tests, but this is of interest only to developers of the component. Lang will be a dependency for several existing components in the open source world.

No external configuration files are utilized.

### (2) Initial Source of the Package

The initial classes came from the Commons.Util subproject.

The proposed package name for the new component is `org.apache.commons.lang`.

### (3) Required Jakarta-Commons Resources

- CVS Repository - New directory `lang` in the `jakarta-commons` CVS repository.
- Mailing List - Discussions will take place on the general dev@commons.apache.org mailing list. To help list subscribers identify messages of interest, it is suggested that the message subject of messages about this component be prefixed with [lang].
- Bugzilla - New component "Lang" under the "Commons" product category, with appropriate version identifiers as needed.
- Jyve FAQ - New category "commons-lang" (when available).

### (4) Initial Committers

The initial committers on the Lang component shall be as follows:

- Henri Yandell (bayard)
- Daniel Rall (dlr)
- Stephen Colebourne (scolebourne)