2004-02-18 04:52:30 -05:00
|
|
|
<document>
|
|
|
|
<properties>
|
2006-03-25 08:56:26 -05:00
|
|
|
<title>Proposal</title>
|
2004-02-18 04:52:30 -05:00
|
|
|
</properties>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
|
|
<section name="Proposal for Collections Package">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<subsection name="(0) Rationale">
|
|
|
|
<p>
|
|
|
|
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.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
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 behaviour of
|
|
|
|
existing abstract data types (e.g., Struts' FastHashMap).
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
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.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</subsection>
|
|
|
|
<subsection name="(1) Scope of the Package">
|
|
|
|
<p>
|
|
|
|
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.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</subsection>
|
|
|
|
<subsection name="(1.5) Interaction With Other Packages">
|
|
|
|
|
|
|
|
<p><em>Collections</em> 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 Jakarta Commons subproject. </p>
|
|
|
|
|
|
|
|
<p>No external configuration files are utilized.</p>
|
|
|
|
|
|
|
|
</subsection>
|
|
|
|
<subsection name="(2) Initial Source of the Package">
|
|
|
|
|
|
|
|
<p>
|
|
|
|
The initial codebase was harvested from existing and proposed
|
|
|
|
Jakarta packages, including the Commons Database Connection Pool,
|
|
|
|
Struts, and Avalon.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>The proposed package name for the new component is
|
|
|
|
<code>org.apache.commons.collections</code>.</p>
|
|
|
|
|
|
|
|
|
|
|
|
</subsection>
|
|
|
|
<subsection name="(3) Required Jakarta-Commons Resources">
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>CVS Repository - New directory <code>collections</code> in the
|
|
|
|
<code>jakarta-commons</code> CVS repository. All initial committers
|
|
|
|
are already committers on <code>jakarta-commons</code>, so no
|
|
|
|
additional user setups are required.</li>
|
|
|
|
<li>Mailing List - Discussions will take place on the general
|
|
|
|
<em>jakarta-commons@jakarta.apache.org</em> 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].</li>
|
|
|
|
<li>Bugzilla - New component "Collections" under the "Commons" product
|
|
|
|
category, with appropriate version identifiers as needed.</li>
|
|
|
|
<li>Jyve FAQ - New category "commons-collections" (when available). </li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</subsection>
|
|
|
|
<subsection name="(4) Initial Committers">
|
|
|
|
<ul>
|
|
|
|
<li>Peter Donald</li>
|
|
|
|
<li>Craig McClanahan</li>
|
|
|
|
<li>Rodney Waldhoff</li>
|
|
|
|
<li>James Strachan</li>
|
|
|
|
</ul>
|
|
|
|
</subsection>
|
|
|
|
</section>
|
|
|
|
</body>
|
|
|
|
</document>
|