Updated to reflect (almost) all contents of current CVS tree. Left out

primitives stuff because that's still in progress.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk@130805 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
pjack 2002-08-20 00:50:07 +00:00
parent ab21cb546c
commit 7617bc52ce
1 changed files with 122 additions and 32 deletions

View File

@ -7,7 +7,7 @@
<div align="center">
<h1>The Jakarta Commons <em>Collections</em> Package</h1>
$Id: STATUS.html,v 1.15 2002/08/17 11:39:50 scolebourne Exp $<br>
$Id: STATUS.html,v 1.16 2002/08/20 00:50:07 pjack Exp $<br>
<a href="#Introduction">[Introduction]</a>
<a href="#Dependencies">[Dependencies]</a>
<a href="#Release Info">[Release Info]</a>
@ -24,8 +24,6 @@ $Id: STATUS.html,v 1.15 2002/08/17 11:39:50 scolebourne Exp $<br>
extend or augment the Java Collections Framework.
The following classes are included:</p>
<ul>
<li><strong>ArrayEnumeration</strong> - a java.util.Enumeration wrapper for arrays.</li>
<li><strong>ArrayIterator</strong> - a java.util.Iterator wrapper for arrays.</li>
<li><strong>ArrayStack</strong> - An implementation of the java.util.Stack API
that is based on an ArrayList instead of a Vector, so it is not synchronized to
protect against multi-threaded access.</li>
@ -35,25 +33,23 @@ The following classes are included:</p>
getCount on <code>a</code> would return 2, while calling
uniqueSet would return <code>{a, b, c}</code>. <i>Note: this is an
interface with several implementations.</i></li>
<li><strong>BagUtils</strong> - Provides utility methods and decorators
for Bag and SortedBag instances.</li>
<li><strong>BeanMap</strong> - An implementation of the java.util.Map API
that is based on a JavaBean using introspection. The property names are the
keys of the map and the property values are the values of the map.</li>
<li><strong>BinaryHeap</strong> - Binary heap implementation
of PriorityQueue and Buffer.</li>
<li><strong>BoundedFifoBuffer</strong> - a very efficient implementation of
Buffer that does not alter the size of the buffer at runtime.</li>
<li><strong>Buffer</strong> - a collection that allows objects to be removed
in some well-defined order.</li>
<li><strong>BufferUtils</strong> - Contains static utility methods for
buffers.</li>
<li><strong>CollectionUtils</strong> - a variety of helper methods
for working with collections.</li>
<li><strong>ComparableComparator</strong> - A Comparator that compares Comparable objects.
This Comparator is useful, for example,
for enforcing the natural order in custom implementations
of SortedSet and SortedMap.</li>
<li><strong>ComparatorChain</strong> - ComparatorChain is a Comparator that wraps one or
more Comparators in sequence. The ComparatorChain
calls each Comparator in sequence until either 1)
any single Comparator returns a non-zero result
(and that result is then returned),
or 2) the ComparatorChain is exhausted (and zero is
returned). This type of sorting is very similar
to multi-column sorting in SQL, and this class
allows Java classes to emulate that kind of behaviour
when sorting a List.</li>
<li><strong>ComparatorUtils</strong> - Contains static utility methods for
comparators.</li>
<li><strong>CursorableLinkedList</strong> - an implementation of the java.util.List
interface supporting a java.util.ListIterator that allows concurrent
modifications to the underlying list.</li>
@ -74,20 +70,10 @@ The following classes are included:</p>
<li><strong>FastTreeMap</strong> - a custom implementation of java.util.TreeMap
designed to operate in a multithreaded environment where the large majority of
method calls are read-only, instead of structural changes.</li>
<li><strong>FilterIterator</strong> - A Proxy <code>Iterator</code> which takes a
<code>Predicate</code>
instance to filter out objects from an underlying <code>Iterator</code> instance.
Only objects for which the
specified <code>Predicate</code> evaluates to <code>true</code> are
returned.</li>
<li><strong>FilterListIterator</strong> - A proxy <code>ListIterator</code> which
takes a <code>Predicate</code> instance to filter
out objects from an underlying <code>ListIterator</code>
instance. Only objects for which the specified
<code>Predicate</code> evaluates to <code>true</code> are
returned by the iterator.</li>
<li><strong>HashBag</strong> - An implementation of <strong>Bag</strong> that is backed by a
HashMap.</li>
<li><strong>IteratorUtils</strong> - Contains static utility methods for
iterators.</li>
<li><strong>ListUtils</strong> - miscelaneous utilities to manipulate Lists.</li>
<li><strong>MultiMap</strong> - This is simply a Map with slightly different semantics.
Instead of returning an Object, it returns a Collection.
@ -104,17 +90,91 @@ The following classes are included:</p>
build to extensions for its wrapped <code>Map</code> object which
would be unavailable or inconvenient via sub-classing (but usable
via composition).</li>
<li><strong>ReverseComparator</strong> - Reverses the order of another comparator.</li>
<li><strong>ReferenceMap</strong> - Hashtable-based Map implementation that
allows mappings to be removed by the garbage collector.</li>
<li><strong>SequencedHashMap</strong> - A map of objects whose mapping entries are
sequenced based on the order in
which they were added.</li>
<li><strong>SingletonIterator</strong> - An Iterator over a single
object instance.</li>
<li><strong>SortedBag</strong> - A type of <strong>Bag</strong> that maintains order among its unique
representative members</li>
<li><strong>StaticBucketMap</strong> - An efficient, thread-safe
implementation of java.util.Map that performs well in in a highly
thread-contentious environment.</li>
<li><strong>StringStack</strong> - A stack for string objects.</li>
<li><strong>SynchronizedPriorityQueue</strong> - A thread-safe version of
the priority queue.</li>
<li><strong>TreeBag</strong> - An implementation of <strong>Bag</strong> that is backed by a
TreeMap. Order will be maintained among the unique representative
members.</li>
<li><strong>UnboundedFifoBuffer</strong> - Efficient implementation of Buffer
that alters the size of the buffer at runtime.</li>
</ul>
<p><b>comparators subpackage:</b></p>
<ul>
<li><strong>ComparableComparator</strong> - A Comparator that compares Comparable objects.
This Comparator is useful, for example,
for enforcing the natural order in custom implementations
of SortedSet and SortedMap.</li>
<li><strong>ComparatorChain</strong> - ComparatorChain is a Comparator that wraps one or
more Comparators in sequence. The ComparatorChain
calls each Comparator in sequence until either 1)
any single Comparator returns a non-zero result
(and that result is then returned),
or 2) the ComparatorChain is exhausted (and zero is
returned). This type of sorting is very similar
to multi-column sorting in SQL, and this class
allows Java classes to emulate that kind of behaviour
when sorting a List.</li>
<li><strong>NullComparator</strong> - A comparator that will compare nulls
to be either higher or lower than other objects.</li>
<li><strong>ReverseComparator</strong> - Reverses the order of another
comparator.</li>
<li><strong>TransformingComparator</strong> - Decorates another comparator
with transformation behavior.</li>
</ul>
<p><b>iterators subpackage:</b></p>
<ul>
<li><strong>ArrayIterator</strong> - a java.util.Iterator wrapper for arrays.</li>
<li><strong>CollectinIterator</strong> - Provides an ordered iterator over
the elements contained in a collection of ordered iterators.</li>
<li><strong>EnumerationIterator</strong> - Adapter to make Enumeration
instances appear to be Iterator instances.</li>
<li><strong>FilterIterator</strong> - A Proxy <code>Iterator</code> which takes a
<code>Predicate</code>
instance to filter out objects from an underlying <code>Iterator</code> instance.
Only objects for which the
specified <code>Predicate</code> evaluates to <code>true</code> are
returned.</li>
<li><strong>FilterListIterator</strong> - A proxy <code>ListIterator</code> which
takes a <code>Predicate</code> instance to filter
out objects from an underlying <code>ListIterator</code>
instance. Only objects for which the specified
<code>Predicate</code> evaluates to <code>true</code> are
returned by the iterator.</li>
<li><strong>IteratorChain</strong> - An iterator that wraps one or more
iterators.</li>
<li><strong>IteratorEnumeration</strong> - Adapter to make Iterator instances
appear to be Enumeration instances.</li>
<li><strong>ListIteratorWrapper</strong> - As the wrapped Iterator is
traversed, ListIteratorWrapper builds a LinkedList of its values,
permitting all required operations of ListIterator.</li>
<li><strong>ProxyIterator</strong> - Delegates its methods to a proxy
instance.</li>
<li><strong>ProxyListIterator</strong> - Delegates its methods to a proxy
instance.</li>
<li><strong>SingletonIterator</strong> - An Iterator over a single
object instance.</li>
<li><strong>SingletonListIterator</strong> - A ListIterator over a single
object instance.</li>
<li><strong>TransformIterator</strong> - Uses a Transformer instance to
transform the contents of the Iterator into some other form.</li>
<li><strong>UniqueFilterIterator</strong> - A FilterIterator which only
returns "unique" Objects.</li>
</ul>
<a name="Dependencies"></a>
@ -182,6 +242,36 @@ component to ensure that it continues to meet a variety of needs.</p>
User's Guide, examples, or other documentation for this package.</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td><strong>Serializable Collections</strong>. All of the concrete
Collection and Map implementations should be properly Serializable
across all versions of the JDK. Also, decorators should be
Serializable if the underlying instance is.</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td><strong>Fail-Fast Iterators</strong>. All concrete Collection and
Map implementations that can have fail-fast iterators should have
them. Some classes, like StaticBucketMap, cannot possibly have
fail-fast iterators, but otherwise everything else should.</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td><strong>Standard Constructors</strong>. All concrete Collection and
Map implementations should have the standard copy and no-argument
constructors.</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td><strong>Additional Unit Tests</strong>. Create generic unit tests
for SortedSet and SortedMap.</td>
<td align="center">&nbsp;</td>
</tr>
</table>
</body>