Proposal for Collections Package
(0) Rationale
The Java Collections Framework provides a set of abstract data
type interfaces and implementations that offer both a wealth
of useful functionality, and a solid foundation for extending
that functionality.
Many Jakarta projects have needs or design criteria that extend
beyond the core Collections API, such as introducing new abstract
data types (e.g., Avalon's BinaryHeap) or changing the behavior of
existing abstract data types (e.g., Struts' FastHashMap).
In keeping with the spirit of the Collections API and of abstract
data types in general, these components can and should be shared
assets. A Commons package for abstract data types would
encourage the development and reuse of a robust set of collections
classes.
(1) Scope of the Package
The package will create and maintain a set of collections and
related classes designed to be compatible with the Java Collections
Framework, and to be distributed under the ASF license.
(1.5) Interaction With Other Packages
Collections 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. Collections will also be a dependency for
several future proposed components for the Apache Commons subproject.
No external configuration files are utilized.
(2) Initial Source of the Package
The initial codebase was harvested from existing and proposed
Jakarta packages, including the Commons Database Connection Pool,
Struts, and Avalon.
The proposed package name for the new component is
org.apache.commons.collections
.
(3) Required Jakarta-Commons Resources
- CVS Repository - New directory
collections
in the
jakarta-commons
CVS repository. All initial committers
are already committers on jakarta-commons
, so no
additional user setups are required.
- Mailing List - Discussions will take place on the general
jakarta-commons@jakarta.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
[Collections].
- Bugzilla - New component "Collections" under the "Commons" product
category, with appropriate version identifiers as needed.
- Jyve FAQ - New category "commons-collections" (when available).
(4) Initial Committers
- Peter Donald
- Craig McClanahan
- Rodney Waldhoff
- James Strachan