From 36e0dc40a12b546ae1e04d9fcdf3b3627e92b5ba Mon Sep 17 00:00:00 2001 From: Stephen Colebourne Date: Mon, 29 Sep 2003 22:46:15 +0000 Subject: [PATCH] Start the process of writing 3.0 release notes - iterator package git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk@131207 13f79535-47bb-0310-9956-ffa450edef68 --- RELEASE-NOTES-2.0.html | 219 ---------------------------------- RELEASE-NOTES-2.1.html | 264 ----------------------------------------- RELEASE-NOTES.html | 107 +++++++++++++++++ build.xml | 4 +- 4 files changed, 109 insertions(+), 485 deletions(-) delete mode 100644 RELEASE-NOTES-2.0.html delete mode 100644 RELEASE-NOTES-2.1.html create mode 100644 RELEASE-NOTES.html diff --git a/RELEASE-NOTES-2.0.html b/RELEASE-NOTES-2.0.html deleted file mode 100644 index fa29de0a8..000000000 --- a/RELEASE-NOTES-2.0.html +++ /dev/null @@ -1,219 +0,0 @@ -RELEASE NOTES: COLLECTIONS 2.0 - -

RELEASE NOTES: COLLECTIONS 2.0

- - -

NEW COLLECTIONS AND COMPARATORS

- -

Collections 2.0 includes a significant number of new collections, in addition to several -useful Comparator classes. Descriptions of the new collections and comparators follow. -(For descriptions of all classes in Collections, see the STATUS.html file.)

- -

These collections are new to Collections 2.0:

- - - -

These are the new Comparator classes:

- - - - -

CHANGED COLLECTIONS

- -These classes have changed since Collections 1.0: - -

ArrayEnumeration

- -

ArrayEnumeration has been deprecated. This class has significant overlap with -ArrayIterator, and Collections focuses mainly on Java2-style -collections. If you need to enumerate an array, -create an ArrayIterator and wrap it with an -IteratorEnumeration instead.

- -

ArrayIterator

- -

Bugs fixed:

- - -

LRUMap

- -

LRUMap has been reimplemented as a subclass of -SynchronizedHashMap. The new implementation of -LRUMap should be faster, and it also offers true LRU -capabilities; now any get(Object) or -put(Object,Object) from this collection -promotes the key to the Most Recently Used position.

- -

LRUMap 2.0 compatibility changes:

- - -

New features:

- - -

Bugs fixed:

- - - -

BeanMap

- -

BeanMap's entrySet() now properly returns a set containing Map.Entry -objects. Previously, entrySet() was equivalent to keySet() (returns a set of -the readable properties) and there was no mechanism to retrieve all of the -readable properties along with their values. Additionally, the BeanMap clone -method has been revamped to work better for subclasses.

- -

BeanMap 2.0 compatibility changes:

- - -

Bugs fixed:

- - - -

PriorityQueue

- -

Changed to allow priority queue implementations that support determining -priorities using means other than the object's natural ordering (i.e. a -priority queue that does not depend on the object implementing the Comparable -interface).

- -

PriorityQueue 2.0 compatibility changes:

- - - - -

BinaryHeap

- -

Changed to allow the specification of a Comparator that should be used to -compare objects to determine "priority" of the objects. If no comparator is -specified, the object's natural ordering is used.

- -

BinaryHeap 2.0 compatibility changes:

- - - -

New features:

- \ No newline at end of file diff --git a/RELEASE-NOTES-2.1.html b/RELEASE-NOTES-2.1.html deleted file mode 100644 index dc0e12904..000000000 --- a/RELEASE-NOTES-2.1.html +++ /dev/null @@ -1,264 +0,0 @@ -RELEASE NOTES: COLLECTIONS 2.1 - -

RELEASE NOTES: COLLECTIONS 2.1

- -

Collections 2.1 includes a significant number of new collections -in addition to various bug fixes and refactoring changes. The major additions -are: -

- -

-The decorators are found on classes named XxxUtils where Xxx is the -collection type. The decorators are: -

- -

-Access to Iterators and Comparators has also been brought in line, by the provision -of IteratorUtils and ComparatorUtils. -

- -
- -

-NEW COLLECTIONS, COMPARATORS, ITERATORS AND UTILITY CLASSES -

- -

These collections are new to Collections 2.1:

- - - -

These comparators are new to Collections 2.1:

- - - -

These iterators are new to Collections 2.1:

- - - -

These are the new utility classes:

- - - - -
- -

CHANGED CLASSES

- -These classes have changed since Collections 2.0: - -

ArrayStack

- -

Now implements the Buffer interface. The Buffer.get() and Buffer.remove() -methods are implemented in terms of peek() and pop(). The class has also -been altered to allow null elements inline with ArrayList.

- -

BeanMap

- -

A new method was added to allow a bulk putAll(Map) operation only for -bean properties that are actually writeable. The new method, named -putAllWriteable(Map), can be used to set one bean's state to another's -by using two BeanMaps.

- -

BinaryHeap

- -

Now implements the Buffer interface. Since Buffer is a subinterface of -Collection, BinaryHeap is also a Collection. This makes it much more -interoperable with existing APIs. The Buffer.get() and Buffer.remove() -methods are implemented in terms of peek() and pop().

- -

CollectionUtils

- -

Modified the index(Object,Object) method to work for arbitrary collections. -Previously the method only worked for Lists. Added the -predicatedCollection(Collection, Predicate) method.

- -

CursorableLinkedList

- -

Fixed NullPointerExceptions that were raised by contains(Object), -indexOf(Object), lastIndexOf(Object) and remove(Object) if the given -Object was null.

- -

DefaultMapBag

- -

A basic toString() method was added to aid in debugging.

- -

FastArrayList

- -

Added severe warning about possible unexpected failures of this class on -some architectures. Fixed the subList(int,int) method so that changes to the -sublist are reflected in the original list, even in fast mode.

- -

FastHashMap

- -

Added severe warning about possible unexpected failures of this class on -some architectures. Fixed the collection views so changes to the -map are reflected in the collection views and vice-versa, even in fast -mode.

- -

FastTreeMap

- -

Added severe warning about possible unexpected failures of this class on -some architectures. Fixed the collection views so changes to the -map are reflected in the collection views and vice-versa, even in fast -mode.

- -

LRUMap

- -

The get(Object) method was fixed to ensure that if containsKey(foo) -returns false, then get(foo) will not change that. (Before, invoking -get(Object) on a nonexistent key could cause that key to incorrectly map -to a null value). Also, the changes to SequencedHashMap were inherited -by LRUMap.

- -

ListUtils

- -

The previous version of this class was deprecated; it has been -un-deprecated. Decorators were added to allow predicated, lazy and -fixed-size lists.

- -

MapUtils

- -

Added decorators to allow predicated, lazy and fixed-size maps and -sorted maps.

- -

ProxyMap

- -

Fixed a bug in the equals(Object) method. Before the equals(Object) -method infinitely recursively called itself until a StackOverflowError -was raised. This version of the method properly delegates the method -call to the underlying map.

- -

SequencedHashMap

- -

The iterators on collection views now raise a ConcurrentModificationException -if the map is modified through something other than the iterator. The -equals(Object) and hashCode() methods were fixed to correctly implement -the Map specification. The remove(Object) methods in the keySet() and -entrySet() were fixed so that they correctly return false after removing -a null key.

- -

SoftRefHashMap

- -

SoftRefHashMap has been deprecated because it was all kinds of -wonky. Its semantics were never well-defined, many of its operations had -unintuitive side-effects, it violated the java.util.Map contract in several -places and its internal algorithms were inefficient. A new class, -ReferenceMap, is a more general solution that can be used in place of -SoftRefHashMap. -

- -

StringStack

- -

StringStack has been deprecated because it was unsuitable for -inclusion in collections. It enabled a delimited String to be built up. -This functionality is better placed in StringUtils in the lang project. -

- -
- - -

REFACTORING

- -

Documentation

- -

Almost every class released in 2.0 was touched to improve on, or in -some cases complete, the JavaDoc. Those documentation changes are not -described in detail below; but the goal was simply to have the public -and protected Collections API completely documentated. If a class released -in 2.0 had missing public or protected JavaDoc, then the class was modified -to add it.

- -

New Testing Suite

- -

The unit testing framework used to test collections and maps underwent -a major overhaul between 2.0 and 2.1. The new tests check for stricter -Collection and Map contract conformance. Many bugs were found and addressed -with the new tests; bug fixes are described below. The testing suite is -not considered part of the binary release and may undergo further changes.

- -

New iterators Subpackage

- -

All of the iterator classes released in Collections 2.0 have been -moved to an iterators subpackage in Collections 2.1. Versions of -the iterators still exist in the main package, but have been deprecated. -This was a simple organizational move that will hopefully make the packages -easier to navigate and absorb.

- -

The affected classes from 2.0 are:

- - - -

In addition, new iterators were added to the subpackage; these are -described below.

- -

Note that other than being in a new package, no other changes were made -to the iterator implementations.

diff --git a/RELEASE-NOTES.html b/RELEASE-NOTES.html new file mode 100644 index 000000000..e2e31df68 --- /dev/null +++ b/RELEASE-NOTES.html @@ -0,0 +1,107 @@ +RELEASE NOTES: COLLECTIONS 3.0 + +

RELEASE NOTES: COLLECTIONS 3.0

+ +

Collections 3.0 includes a significant number of new collections +in addition to various bug fixes and refactoring changes. The major additions +are: +

+ +

+The decorators are found on classes named XxxUtils where Xxx is the +collection type. The decorators are: +

+ +

+Access to Iterators and Comparators has also been brought in line, by the provision +of IteratorUtils and ComparatorUtils. +

+ +
+ +

+NEW COLLECTIONS, COMPARATORS, ITERATORS AND UTILITY CLASSES +

+ +

These collections are new to Collections 3.0:

+ + + +

These comparators are new to Collections 2.1:

+ + + +

These iterators are new to Collections 2.1:

+ + + +

These are the new utility classes:

+ + + + +
+ +

CHANGED CLASSES

+ +

These iterators have changed since Collections 2.1:

+ + + + +
+ + +

REFACTORING

+ +

Documentation

+ +

Every class released in 3.0 has been changed in some way. +This might be simply the update to the Apache license, or it could be improved Javadoc.

+ diff --git a/build.xml b/build.xml index 916ca570f..6e27d269e 100644 --- a/build.xml +++ b/build.xml @@ -1,4 +1,4 @@ - + @@ -52,7 +52,7 @@ - +