| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html> |
| <head> |
| <title>Proposal for Collections Package</title> |
| </head> |
| <body> |
| |
| <div align="center"> |
| <h1>Proposal for <em>Collections</em> Package</h1> |
| </div> |
| |
| <h3>(0) Rationale</h3> |
| <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 behavior 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> |
| |
| <h3>(1) Scope of the Package</h3> |
| <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> |
| |
| <h3>(1.5) Interaction With Other Packages</h3> |
| |
| <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> |
| |
| <h3>(2) Initial Source of the Package</h3> |
| |
| <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> |
| |
| |
| <h3>(3) Required Jakarta-Commons Resources</h3> |
| |
| <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> |
| |
| |
| <h3>(4) Initial Committers</h3> |
| <ul> |
| <li>Peter Donald</li> |
| <li>Craig McClanahan</li> |
| <li>Rodney Waldhoff</li> |
| <li>James Strachan</li> |
| </ul> |
| </body> |
| </html> |