Add overview for version 3.0

git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk@131464 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Stephen Colebourne 2003-12-28 18:00:23 +00:00
parent df7cafe578
commit 850cdd0029
3 changed files with 133 additions and 144 deletions

View File

@ -1,4 +1,4 @@
<!-- $Id: build.xml,v 1.54 2003/12/13 23:28:43 scolebourne Exp $ -->
<!-- $Id: build.xml,v 1.55 2003/12/28 18:00:23 scolebourne Exp $ -->
<project name="commons-collections" default="test" basedir=".">
<!-- patternset describing files to be copied from the doc directory -->
@ -226,7 +226,7 @@
protected="true"
version="true"
author="true"
overview="${source.src.java}/org/apache/commons/collections/package.html"
overview="${source.src.java}/org/apache/commons/collections/overview.html"
splitindex="false"
nodeprecated="true"
nodeprecatedlist="true"

View File

@ -0,0 +1,117 @@
<!-- $Id: overview.html,v 1.1 2003/12/28 18:00:23 scolebourne Exp $ -->
<body>
<p>
Commons-Collections contains implementations, enhancements and utilities
that complement the Java Collections Framework.
</p>
<p>
The Apache Jakarta Commons Collections Framework component adds a significant
amount of enhancements to the standard JDK collections. These enhancements
come in the form of new interfaces, new implementations and utility classes.
</p>
<p>
See also the <code>java.util</code> package for the standard Java collections.
</p>
<h4>Main features</h4>
<p>
Commons-Collections defines a number of key interfaces:
</p>
<table border="1" cellspacing="0" cellpadding="3">
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<th>Interface</th><th>Description</th>
</tr>
<tr>
<td>
{@link org.apache.commons.collections.Bag}
</td>
<td valign="top">
A new <code>Collection</code> subinterface that stores each object together
with the number of occurances. Methods are provided to get the number of
occurances, and to add and remove a certain number of that object.
</td>
</tr>
<tr>
<td>
{@link org.apache.commons.collections.Buffer}
</td>
<td valign="top">
A new <code>Collection</code> subinterface that allows objects to be removed
in some well-defined order. Methods enable the next item to be peeked and removed.
</td>
</tr>
<tr>
<td>
{@link org.apache.commons.collections.BidiMap}
</td>
<td valign="top">
A new <code>Map</code> subinterface that allows lookup from key to value and
from value to key with equal ease.
</td>
</tr>
<tr>
<td>
{@link org.apache.commons.collections.OrderedMap}
</td>
<td valign="top">
A new <code>Map</code> subinterface that is used when a map has an order, but is
not sorted. Methods enable bidriectional iteration through the map.
</td>
</tr>
<tr>
<td>
{@link org.apache.commons.collections.MapIterator}
</td>
<td valign="top">
A new <code>Iterator</code> subinterface specially designed for maps. This iterator
avoids the need for entrySet iteration of a map, and is simpler to use.
</td>
</tr>
<tr>
<td>
{@link org.apache.commons.collections.ResettableIterator}
</td>
<td valign="top">
A new <code>Iterator</code> subinterface that allows the iteration to be reset back
to the start. Many iterators in this library have this functionality.
</td>
</tr>
<tr>
<td>
{@link org.apache.commons.collections.Closure}<br />
{@link org.apache.commons.collections.Predicate}<br />
{@link org.apache.commons.collections.Transformer}<br />
{@link org.apache.commons.collections.Factory}<br />
</td>
<td valign="top">
A group of <i>functor</i> interfaces that provide plugin behaviour to various
collections and utilities.
</td>
</tr>
</table>
<p>
In addition to the interfaces, there are many implementations.
Consult each subpackage for full details of these.
</p>
<h4>Version 3.0</h4>
<p>
Commons-Collections was originally created as a place to share collection
implementations created in various places around Jakarta. As a result, there
was no clear design or structure to the component. As from this 3.0 release,
that changes with a clear, consistent package structure being used
</p>
<p>
As a result of the new structure, several classes have moved packages.
When moving from a previous release to this one it is important to check all your code.
Some implementations that were moved were also optimised, and may contain API changes.
</p>
<p>
In addition to the new package structure, it was determined that collections was
getting too large.
As a result, two new code donations - primitive collections and event
notification collections - have been separated into their own projects within commons.
Primitives has already released a version 1.0, while Events resides in the sandbox at present.
</p>
</body>

View File

@ -1,144 +1,16 @@
<!-- $Id: package.html,v 1.10 2003/12/13 23:51:28 scolebourne Exp $ -->
<!-- $Id: package.html,v 1.11 2003/12/28 18:00:23 scolebourne Exp $ -->
<body>
<p>
This package contains new interfaces to complement the Java Collections Framework,
and various utility classes.
<p>
The Apache Jakarta Commons Collections Framework extensions are implemented in
a number of packages.
<ul>
<li>The main package, described below, contains new collections
interfaces/implementations and new implementations of the standard interfaces.
<li>The <code>comparators</code> subpackage contains <code>Comparator</code> implementations.
<li>The <code>iterators</code> subpackage contains <code>Iterator</code> implementations.
<li>The <code>decorators</code> subpackage contains decorators that wrap other
implementations to add functionality such as validation or unmodifiability.
<li>The <code>primitives</code> subpackages contain implementations of collections
based around primitive types.
</ul>
</p>
<p>
See also the <tt>java.util</tt> package for the standard java collections.
</p>
<table border="1" cellspacing="0" cellpadding="3">
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<th>Category</th><th>Classes</th><th>Comments</th>
</tr>
<tr>
<td valign="top">List Implementations</td>
<td>
{@link org.apache.commons.collections.CursorableLinkedList}<br>
{@link org.apache.commons.collections.FastArrayList}<br>
{@link org.apache.commons.collections.NodeCachingLinkedList}<br>
</td>
<td valign="top">
Special-purpose implementations of the {@link
java.util.List} interface.
</td>
</tr>
<tr>
<td valign="top">Map Implementations</td>
<td>
{@link org.apache.commons.collections.BeanMap}<br>
{@link org.apache.commons.collections.DoubleOrderedMap}<br>
{@link org.apache.commons.collections.ExtendedProperties}<br>
{@link org.apache.commons.collections.FastHashMap}<br>
{@link org.apache.commons.collections.FastTreeMap}<br>
{@link org.apache.commons.collections.LRUMap}<br>
{@link org.apache.commons.collections.MultiHashMap}<br>
{@link org.apache.commons.collections.ReferenceMap}<br>
{@link org.apache.commons.collections.SequencedHashMap}<br>
{@link org.apache.commons.collections.StaticBucketMap}<br>
</td>
<td valign="top">
Special-purpose implementations of the {@link
java.util.Map} interface and associated classes.
</td>
</tr>
<tr>
<td valign="top">Bag Interface and Implementations</td>
<td>
{@link org.apache.commons.collections.Bag}<br>
{@link org.apache.commons.collections.DefaultMapBag}<br>
{@link org.apache.commons.collections.HashBag}<br>
{@link org.apache.commons.collections.SortedBag}<br>
{@link org.apache.commons.collections.TreeBag}<br>
</td>
<td valign="top">
New collections interface that keeps a count of its members.
</td>
</tr>
<tr>
<td valign="top">Buffer Interface and Implementations</td>
<td>
{@link org.apache.commons.collections.Buffer}<br>
{@link org.apache.commons.collections.ArrayStack}<br>
{@link org.apache.commons.collections.BinaryHeap}<br>
{@link org.apache.commons.collections.BoundedFifoBuffer}<br>
{@link org.apache.commons.collections.CircularFifoBuffer}<br>
{@link org.apache.commons.collections.UnboundedFifoBuffer}<br>
</td>
<td valign="top">
New collections interface that specifies a removal order for
the collection, used to implement queues and queue-like things.
</td>
</tr>
<tr>
<td valign="top">PriorityQueue Interface and Implementations</td>
<td>
{@link org.apache.commons.collections.PriorityQueue}<br>
{@link org.apache.commons.collections.BinaryHeap}<br>
</td>
<td valign="top">
New collections interface that defines a simple queue.
</td>
</tr>
<tr>
<td valign="top">Utilities</td>
<td valign="top">
{@link org.apache.commons.collections.BagUtils}<br>
{@link org.apache.commons.collections.BufferUtils}<br>
{@link org.apache.commons.collections.CollectionUtils}<br>
{@link org.apache.commons.collections.ComparatorUtils}<br>
{@link org.apache.commons.collections.IteratorUtils}<br>
{@link org.apache.commons.collections.ListUtils}<br>
{@link org.apache.commons.collections.MapUtils}<br>
{@link org.apache.commons.collections.PriorityQueueUtils}<br>
{@link org.apache.commons.collections.SetUtils}<br>
</td>
<td valign="top">
Manipulate collection objects, determine set theoretic
properties, ensure type-safety, provide decorators, etc.
</td>
</tr>
<tr>
<td valign="top">Functor Interfaces and Utilities</td>
<td valign="top">
{@link org.apache.commons.collections.Closure}<br>
{@link org.apache.commons.collections.ClosureUtils}<br>
{@link org.apache.commons.collections.Factory}<br>
{@link org.apache.commons.collections.FactoryUtils}<br>
{@link org.apache.commons.collections.Predicate}<br>
{@link org.apache.commons.collections.PredicateUtils}<br>
{@link org.apache.commons.collections.Transformer}<br>
{@link org.apache.commons.collections.TransformerUtils}<br>
</td>
<td valign="top">
Create views or functors on a collection. If your collection
represents <i>X</i>, these allow you to define and look at
<i>f(X)</i>. The utilities contain numerous implementations.
</td>
</tr>
<tr>
<td valign="top">Miscellaneous</td>
<td valign="top">
{@link org.apache.commons.collections.DefaultMapEntry}<br>
{@link org.apache.commons.collections.BoundedCollection}<br>
{@link org.apache.commons.collections.MultiKey}<br>
</td>
<td valign="top">
Other collection related classes.
</td>
</tr>
</table>
<p>
This package contains the interfaces and utilities shared across all the subpackages of this component.
</p>
<p>
The following collection implementations are provided in the package:
<ul>
<li>ArrayStack - a non synchronized Stack that follows the same API as java util Stack
<li>BeanMap - a map that wraps a JavaBean, representing its properties as map keys and values
<li>ExtendedProperties - extends the Properties class to add extra functionality
<li>MultiHashMap - an map that stores multiple values against each key
</ul>
<p>
</body>