alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Commons Collections example source code file (history.xml)

This example Commons Collections source code file (history.xml) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Commons Collections tags/keywords

all, also, apache, as, as, asf, asf, license, license, of, see, the, the, you

The Commons Collections history.xml source code

<?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
   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.
  -->

<document>

 <properties>
  <title>History
  <author email="dev@commons.apache.org">Commons Documentation Team
 </properties>

 <body>

<section name="History of Commons Collections">

<p>
Commons-Collections is a classic example of an open-source project evolving over time.
This page documents some of the key stages.
</p>

<p>
<b>Collections 1.0 was a gathering of different Collection, Comparator, Iterator and
Utility classes written elsewhere in Jakarta.
At this stage, the component focussed mainly on getting re-use of code by making
everything available together.
</p>
<p>
All classes were placed in one package except the comparators, which had their own subpackage.
</p>

<p>
<b>Collections 2.0 started the process of growth. The Bag interface was added with
various implementations. Also added were additional collections implementations.
</p>
<p>
All classes were placed in one package except the comparators, which had their own subpackage.
</p>

<p>
<b>Collections 2.1 increased the growth again. The Buffer interface was added, unifying
various previous implementations. Numerous decorators were added as inner classes that
behave like the unmodifiable or synchronized JDK decorators.
</p>
<p>
As the size of the component increased, the iterators were broken out into their own subpackage.
Thus there were now three packages, main, comparator and iterator.
</p>

<p>
<b>Collections 3.0 represented a re-birth of collections after an 18 month absence.
Many, many classes were added to CVS but not released including primitive and
event-generating classes. In order to control the size of the collections distribution,
these became two new projects - primitives and events.
</p>
<p>
New interfaces BidiMap, MapIterator, ResettableIterator and KeyValue were added.
Also added were many new implementations of existing collections, especially Maps.
</p>
<p>
As more decorators were added the decision was taken to create a new subpackage for
the decorators (no more inner classes). However, it became clear that whether a class was
a decorator or not was not the most important division in finding a collection.
As a result of this, and the general ongoing growth in the component, a full subpackage
layout was chosen - one subpackage for each principal collections interface.
</p>
<p>
Essentially the 3.0 release represented the result of changing from a 'dumping ground'
of re-used collections to a component <b>designed for the purpose.
Of course, backwards compatibility has been retained during all transitions using deprecation.
</p>

<p>
<b>Collections 2.1.1 was a patch release to v2.1.
Unfortunately, v3.0 created a <a href="compatibility.html">binary incompatibility in the IteratorUtils class.
This patch was created as a work around, enabling v2.1.1 to be compatible with v3.1.
</p>

<p>
<b>Collections 3.1 fixed some bugs in v3.0 and adds a few new enhancements.
The most notable change is a new list implementation, TreeList, that is well balanced for insertions and removals at any index.
Other changes included more classes implementing Serializable and a ReferenceIdentityMap.
</p>

<p>
<b>Collections 3.2 combined bug fixes and some new features.
Notably MultiValueMap is a new more flexible implementation of MultiHashMap.
</p>

<p>
<b>Collections 3.2.1 Re-packaged v3.2 release which is OSGi enabled.
</p>

</section>

</body>
</document>

Other Commons Collections examples (source code examples)

Here is a short list of links related to this Commons Collections history.xml source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.