Proposal for Primitives Package

(0) Rationale

The Java language has a fundamental distinction between Object and primitive types. The JDK provides many method for manipulating and working with Objects. However, there is relatively little support for working with primitive types.

One key example is the Java Collection Framework. This defines a well-known and widely used API for object-based collections. The framework requires each primitive to be wrapped in an object, such as Integer, before they can be used in collections. This has a memory and performance overhead.

The primitives component will provide an API for collections and utilities based on primitives. Wrappers and adaptors will be provided for integration with object-based APIs.

(1) Scope of the Package

The package will create and maintain a set of collections and utilities for primitive types, distributed under the ASF license.

(1.5) Interaction With Other Packages

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

No external configuration files are utilized.

(2) Initial Source of the Package

The initial codebase was harvested from code in the Commons Collections CVS.

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

(3) Required Jakarta-Commons Resources

(4) Initial Committers