Filewatcher File Search
FTP Search
  
Directory (beta)
  
Content Search (beta)
   
pkg://jakarta-commons-collections-3.1-1jpp_4fc.src.rpm:1149728/commons-collections-3.1-src.tar.gz  info  downloads

commons-collections-3.1/ 40755      0      0           0 10066136772  12406 5ustar     0      0 commons-collections-3.1/data/ 40755      0      0           0 10066136774  13321 5ustar     0      0 commons-collections-3.1/data/test/ 40755      0      0           0 10066136774  14300 5ustar     0      0 commons-collections-3.1/src/ 40755      0      0           0 10066136774  13177 5ustar     0      0 commons-collections-3.1/src/java/ 40755      0      0           0 10066136774  14120 5ustar     0      0 commons-collections-3.1/src/java/org/ 40755      0      0           0 10066136774  14707 5ustar     0      0 commons-collections-3.1/src/java/org/apache/ 40755      0      0           0 10066136774  16130 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/ 40755      0      0           0 10066136774  17603 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/ 40755      0      0           0 10066136774  22121 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/list/ 40755      0      0           0 10066136774  23074 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/buffer/ 40755      0      0           0 10066136774  23372 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/map/ 40755      0      0           0 10066136774  22676 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/functors/ 40755      0      0           0 10066136774  23764 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/set/ 40755      0      0           0 10066136774  22714 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/collection/ 40755      0      0           0 10066136774  24254 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/bag/ 40755      0      0           0 10066136774  22652 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/bidimap/ 40755      0      0           0 10066136774  23526 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/iterators/ 40755      0      0           0 10066136774  24135 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/comparators/ 40755      0      0           0 10066136776  24455 5ustar     0      0 commons-collections-3.1/src/java/org/apache/commons/collections/keyvalue/ 40755      0      0           0 10066137000  23725 5ustar     0      0 commons-collections-3.1/src/test/ 40755      0      0           0 10066136774  14156 5ustar     0      0 commons-collections-3.1/src/test/org/ 40755      0      0           0 10066136774  14745 5ustar     0      0 commons-collections-3.1/src/test/org/apache/ 40755      0      0           0 10066136774  16166 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/ 40755      0      0           0 10066136774  17641 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/ 40755      0      0           0 10066136774  22157 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/list/ 40755      0      0           0 10066136774  23132 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/buffer/ 40755      0      0           0 10066136774  23430 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/set/ 40755      0      0           0 10066136774  22752 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/map/ 40755      0      0           0 10066136774  22734 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/collection/ 40755      0      0           0 10066136774  24312 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/iterators/ 40755      0      0           0 10066136774  24173 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/comparators/ 40755      0      0           0 10066136774  24511 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/bidimap/ 40755      0      0           0 10066136774  23564 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/keyvalue/ 40755      0      0           0 10066136776  24006 5ustar     0      0 commons-collections-3.1/src/test/org/apache/commons/collections/bag/ 40755      0      0           0 10066137000  22667 5ustar     0      0 commons-collections-3.1/src/conf/ 40755      0      0           0 10066136774  14124 5ustar     0      0 commons-collections-3.1/src/media/ 40755      0      0           0 10066137002  14237 5ustar     0      0 commons-collections-3.1/xdocs/ 40755      0      0           0 10066136774  13530 5ustar     0      0 commons-collections-3.1/xdocs/images/ 40755      0      0           0 10066136776  14777 5ustar     0      0 commons-collections-3.1/xdocs/style/ 40755      0      0           0 10066137004  14653 5ustar     0      0 commons-collections-3.1/project.xml100644      0      0       24114 10066136772  14715 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>
 <!--
   Copyright 2002-2004 The Apache Software Foundation

   Licensed 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.
  -->
<project>
  <pomVersion>3</pomVersion>
  <id>commons-collections</id>
  <currentVersion>3.1</currentVersion>
  <inceptionYear>2001</inceptionYear>
  <name>Collections</name>
  <shortDescription>Commons Collections</shortDescription>
  <description>Types that extend and augment the Java Collections Framework.</description>
  <logo>/images/logo.png</logo>
   
  <url>http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</url>
  <package>org.apache.commons.${pom.artifactId.substring(8)}</package>

  <organization>
    <name>The Apache Software Foundation</name>
    <url>http://jakarta.apache.org</url>
    <logo>http://jakarta.apache.org/images/original-jakarta-logo.gif</logo>
  </organization>

  <licenses>
	<license>
    	<name>The Apache Software License, Version 2.0</name>
    	<url>/LICENSE.txt</url>
    	<distribution>repo</distribution>
	</license>
  </licenses>
  
  <gumpRepositoryId>jakarta</gumpRepositoryId>
  <issueTrackingUrl>http://issues.apache.org/bugzilla/</issueTrackingUrl>
  <siteAddress>jakarta.apache.org</siteAddress>
  <siteDirectory>/www/jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</siteDirectory>
  <distributionDirectory>/www/jakarta.apache.org/builds/jakarta-commons/${pom.artifactId.substring(8)}/</distributionDirectory>
  
  <repository>
    <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-commons/${pom.artifactId.substring(8)}</connection>
    <url>http://cvs.apache.org/viewcvs/jakarta-commons/${pom.artifactId.substring(8)}/</url>
  </repository>
  
  <mailingLists>
    <mailingList>
      <name>Commons Dev List</name>
      <subscribe>commons-dev-subscribe@jakarta.apache.org</subscribe>
      <unsubscribe>commons-dev-unsubscribe@jakarta.apache.org</unsubscribe>
      <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=commons-dev@jakarta.apache.org</archive>
    </mailingList>
    <mailingList>
      <name>Commons User List</name>
      <subscribe>commons-user-subscribe@jakarta.apache.org</subscribe>
      <unsubscribe>commons-user-unsubscribe@jakarta.apache.org</unsubscribe>
      <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=commons-user@jakarta.apache.org</archive>
    </mailingList>
  </mailingLists>

  <developers>
    <developer>
      <name>Stephen Colebourne</name>
      <id>scolebourne</id>
      <email></email>
      <organization></organization>
    </developer>
    <developer>
      <name>Morgan Delagrange</name>
      <id>morgand</id>
      <email></email>
      <organization></organization>
    </developer>
    <developer>
      <name>Matthew Hawthorne</name>
      <id>matth</id>
      <email></email>
      <organization></organization>
    </developer>
    <developer>
      <name>Geir Magnusson</name>
      <id>geirm</id>
      <email></email>
      <organization></organization>
    </developer>
    <developer>
      <name>Craig McClanahan</name>
      <id>craigmcc</id>
      <email></email>
      <organization></organization>
    </developer>
    <developer>
      <name>Phil Steitz</name>
      <id>psteitz</id>
      <email></email>
      <organization></organization>
    </developer>
    <developer>
      <name>Arun M. Thomas</name>
      <id>amamment</id>
      <email></email>
      <organization></organization>
    </developer>
    <developer>
      <name>Rodney Waldhoff</name>
      <id>rwaldhoff</id>
      <email></email>
      <organization></organization>
    </developer>
    <developer>
      <name>Henri Yandell</name>
      <id>bayard</id>
      <email></email>
      <organization></organization>
    </developer>
  </developers>
  
  <contributors>
    <contributor>
      <name>Max Rydahl Andersen</name>
    </contributor>
    <contributor>
      <name>Federico Barbieri</name>
    </contributor>
    <contributor>
      <name>Arron Bates</name>
    </contributor>
    <contributor>
      <name>Nicola Ken Barozzi</name>
    </contributor>
    <contributor>
      <name>Ola Berg</name>
    </contributor>
    <contributor>
      <name>Christopher Berry</name>
    </contributor>
    <contributor>
      <name>Janek Bogucki</name>
    </contributor>
    <contributor>
      <name>Chuck Burdick</name>
    </contributor>
    <contributor>
      <name>Dave Bryson</name>
    </contributor>
    <contributor>
      <name>Julien Buret</name>
    </contributor>
    <contributor>
      <name>Jonathan Carlson</name>
    </contributor>
    <contributor>
      <name>Ram Chidambaram</name>
    </contributor>
    <contributor>
      <name>Peter Donald</name>
    </contributor>
    <contributor>
      <name>Steve Downey</name>
    </contributor>
    <contributor>
      <name>Rich Dougherty</name>
    </contributor>
    <contributor>
      <name>Stefano Fornari</name>
    </contributor>
    <contributor>
      <name>Andrew Freeman</name>
    </contributor>
    <contributor>
      <name>Gerhard Froehlich</name>
    </contributor>
    <contributor>
      <name>Paul Jack</name>
    </contributor>
    <contributor>
      <name>Eric Johnson</name>
    </contributor>
    <contributor>
      <name>Kent Johnson</name>
    </contributor>
    <contributor>
      <name>Marc Johnson</name>
    </contributor>
    <contributor>
      <name>Nissim Karpenstein</name>
    </contributor>
    <contributor>
      <name>Mohan Kishore</name>
    </contributor>
    <contributor>
      <name>Simon Kitching</name>
    </contributor>
    <contributor>
      <name>Peter KoBek</name>
    </contributor>
    <contributor>
      <name>David Leppik</name>
    </contributor>
    <contributor>
      <name>Berin Loritsch</name>
    </contributor>
    <contributor>
      <name>Stefano Mazzocchi</name>
    </contributor>
    <contributor>
      <name>Brian McCallister</name>
    </contributor>
    <contributor>
      <name>Steven Melzer</name>
    </contributor>
    <contributor>
      <name>Leon Messerschmidt</name>
    </contributor>
    <contributor>
      <name>Mauricio S. Moura</name>
    </contributor>
    <contributor>
      <name>Kasper Nielsen</name>
    </contributor>
    <contributor>
      <name>Alban Peignier</name>
    </contributor>
    <contributor>
      <name>Mike Pettypiece</name>
    </contributor>
    <contributor>
      <name>Steve Phelps</name>
    </contributor>
    <contributor>
      <name>Ilkka Priha</name>
    </contributor>
    <contributor>
      <name>Jonas Van Poucke</name>
    </contributor>
    <contributor>
      <name>Herve Quiroz</name>
    </contributor>
    <contributor>
      <name>Daniel Rall</name>
    </contributor>
    <contributor>
      <name>Henning P. Schmiedehausen</name>
    </contributor>
    <contributor>
      <name>Howard Lewis Ship</name>
    </contributor>
    <contributor>
      <name>Joe Raysa</name>
    </contributor>
    <contributor>
      <name>Jon Schewe</name>
    </contributor>
    <contributor>
      <name>Michael Smith</name>
    </contributor>
    <contributor>
      <name>Jan Sorensen</name>
    </contributor>
    <contributor>
      <name>Jon S. Stevens </name>
    </contributor>
    <contributor>
      <name>James Strachan</name>
    </contributor>
    <contributor>
      <name>Leo Sutic</name>
    </contributor>
    <contributor>
      <name>Neil O'Toole</name>
    </contributor>
    <contributor>
      <name>Jeff Turner</name>
    </contributor>
    <contributor>
      <name>Jeff Varszegi</name>
    </contributor>
    <contributor>
      <name>Ralph Wagner</name>
    </contributor>
    <contributor>
      <name>David Weinrich</name>
    </contributor>
    <contributor>
      <name>Dieter Wimberger</name>
    </contributor>
    <contributor>
      <name>Serhiy Yevtushenko</name>
    </contributor>
    <contributor>
      <name>Jason van Zyl</name>
    </contributor>
  </contributors>

  <dependencies>
    <dependency>
      <id>junit</id>
      <version>3.8.1</version>
    </dependency>
  </dependencies>

  <build>
    	<nagEmailAddress>commons-dev@jakarta.apache.org</nagEmailAddress>
    	<sourceDirectory>src/java</sourceDirectory>
    	<unitTestSourceDirectory>src/test</unitTestSourceDirectory>
    	<integrationUnitTestSourceDirectory/>
    	<aspectSourceDirectory/>

    	<!-- Unit test classes -->
    	<unitTest>
      		<includes>
        		<include>org/apache/commons/collections/TestAllPackages.java</include>
      		</includes>
   		</unitTest>

    	<!-- Integration unit test classes -->
    	<integrationUnitTestPatterns></integrationUnitTestPatterns>
    
    	<resources>
      		<includes>
       			<include>**/*.properties</include>
      		</includes>
    	</resources>
    	<jars/>
  	</build>

  <reports>
     <report>maven-changelog-plugin</report>
     <report>maven-changes-plugin</report>
     <!--report>maven-checkstyle-plugin</report-->
     <!--report>maven-clover-plugin</report-->
     <report>maven-developer-activity-plugin</report>
     <report>maven-file-activity-plugin</report>
     <report>maven-javadoc-plugin</report>
     <!--report>maven-jellydoc-plugin</report-->
     <report>maven-junit-report-plugin</report>
     <report>maven-jxr-plugin</report>
     <report>maven-license-plugin</report>
     <!--report>maven-linkcheck-plugin</report-->
     <!--report>maven-statcvs-plugin</report-->
     <!--report>maven-tasklist-plugin</report-->
  </reports>

</project>
commons-collections-3.1/build.xml100644      0      0       63601 10066136772  14352 0ustar     0      0  <!--
   Copyright 2001-2004 The Apache Software Foundation

   Licensed 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.
  -->
<project name="commons-collections" default="compile" basedir=".">

<!-- ========== Properties ================================================ -->

  <property file="build.properties"/>


<!-- ========== Component Declarations ==================================== -->

  <!-- The name of this component -->
  <property name="component.name"          value="commons-collections"/>

  <!-- The primary package name of this component -->
  <property name="component.package"       value="org.apache.commons.collections"/>

  <!-- The short title of this component -->
  <property name="component.title"         value="Commons Collections"/>

  <!-- The full title of this component -->
  <property name="component.title.full"    value="Apache Jakarta Commons Collections"/>

  <!-- The current version number of this component -->
  <property name="component.version"       value="3.1"/>

  <!-- The base directory for component configuration files -->
  <property name="source.conf"               value="src/conf"/>

  <!-- The base directory for component sources -->
  <property name="source.java"             value="src/java"/>

  <!-- The base directory for unit test sources -->
  <property name="source.test"             value="src/test"/>

  <!-- The directories for compilation targets -->
  <property name="build.home"              value="build"/>
  <property name="build.conf"              value="${build.home}/conf"/>
  <property name="build.classes"           value="${build.home}/classes"/>
  <property name="build.tests"             value="${build.home}/tests"/>
  <property name="build.docs"              value="${build.home}/docs/apidocs"/>
  
  <!-- The name/location of the jar file to build -->
  <property name="jar.name"             value="${component.name}-${component.version}.jar"/>
  <property name="build.jar.name"       value="${build.home}/${jar.name}"/>
  
  <!-- The name/location of the zip files to build -->
  <property name="build.dist.bin"       value="${build.home}/bin"/>
  <property name="build.dist.bin.work"  value="${build.dist.bin}/${component.name}-${component.version}"/>
  <property name="build.dist.src"       value="${build.home}/src"/>
  <property name="build.dist.src.work"  value="${build.dist.src}/${component.name}-${component.version}"/>
  <property name="build.dist"           value="${build.home}/dist"/>
  <property name="build.bin.tar.name"   value="${build.dist}/${component.name}-${component.version}.tar"/>
  <property name="build.bin.gz.name"    value="${build.dist}/${component.name}-${component.version}.tar.gz"/>
  <property name="build.bin.zip.name"   value="${build.dist}/${component.name}-${component.version}.zip"/>
  <property name="build.src.tar.name"   value="${build.dist}/${component.name}-${component.version}-src.tar"/>
  <property name="build.src.gz.name"    value="${build.dist}/${component.name}-${component.version}-src.tar.gz"/>
  <property name="build.src.zip.name"   value="${build.dist}/${component.name}-${component.version}-src.zip"/>


<!-- ========== Settings ================================================== -->

  <!-- Javac -->
  <property name="compile.debug"           value="true"/>
  <property name="compile.deprecation"     value="true"/>
  <property name="compile.optimize"        value="false"/>

  <!-- Javadoc -->
  <property name="javadoc.access"          value="protected"/>
  <property name="javadoc.links"           value="http://java.sun.com/j2se/1.3/docs/api/"/>

  <!-- JUnit -->
  <property name="test.failonerror"        value="true"/>


<!-- ====================================================================== -->
<!-- ========== Executable Targets ======================================== -->
<!-- ====================================================================== -->

  <target name="clean"
          description="Clean build and distribution directories">
    <delete dir="${build.home}"/>
  </target>

<!-- ====================================================================== -->

  <target name="init"
          description="Initialize and evaluate conditionals">
    <echo message="-------- ${component.name} ${component.version} --------"/>
  </target>

<!-- ====================================================================== -->

  <target name="prepare" depends="init"
          description="Prepare build directory">
    <mkdir dir="${build.home}"/>
  </target>

<!-- ====================================================================== -->

  <target name="compile" depends="prepare"
          description="Compile main code">
    <mkdir dir="${build.classes}"/>
    <javac  srcdir="${source.java}"
           destdir="${build.classes}"
             debug="${compile.debug}"
       deprecation="${compile.deprecation}"
          optimize="${compile.optimize}">
    </javac>
  </target>

<!-- ====================================================================== -->

  <target name="jar" depends="compile"
          description="Create jar">
    <mkdir      dir="${build.classes}/META-INF"/>
    <copy      file="LICENSE.txt"
             tofile="${build.classes}/META-INF/LICENSE.txt"/>
    <copy      file="NOTICE.txt"
             tofile="${build.classes}/META-INF/NOTICE.txt"/>
             
    <tstamp/>
    <mkdir      dir="${build.conf}"/>
    <copy     todir="${build.conf}" filtering="on">
      <filterset>
        <filter token="name"     value="${component.name}"/>
        <filter token="title"    value="${component.title}"/>
        <filter token="package"  value="${component.package}"/>
        <filter token="version"  value="${component.version}"/>
      </filterset>
      <fileset dir="${source.conf}" includes="*.MF"/>
    </copy>
             
    <!-- NOTE: A jar built using JDK1.4 is incompatible with JDK1.2 -->
    <jar    jarfile="${build.jar.name}"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF"/>
  </target>

<!-- ====================================================================== -->
  <!-- Targets you might use to get smaller jar files - not recommended -->

  <target name="splitjar" depends="jar"
          description="Create split jar">
    <jar    jarfile="${build.home}/${component.name}-bag-${component.version}.jar"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF">
      <include name="**/META-INF/*"/>
      <include name="**/BagUtils*.class"/>
      <include name="**/bag/*.class"/>
    </jar>
    <jar    jarfile="${build.home}/${component.name}-bidimap-${component.version}.jar"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF">
      <include name="**/META-INF/*"/>
      <include name="**/bidimap/*.class"/>
    </jar>
    <jar    jarfile="${build.home}/${component.name}-buffer-${component.version}.jar"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF">
      <include name="**/META-INF/*"/>
      <include name="**/BufferUtils*.class"/>
      <include name="**/buffer/*.class"/>
    </jar>
    <jar    jarfile="${build.home}/${component.name}-comparators-${component.version}.jar"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF">
      <include name="**/META-INF/*"/>
      <include name="**/ComparatorUtils*.class"/>
      <include name="**/comparators/*.class"/>
    </jar>
    <jar    jarfile="${build.home}/${component.name}-functors-${component.version}.jar"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF">
      <include name="**/META-INF/*"/>
      <include name="**/ClosureUtils*.class"/>
      <include name="**/FactoryUtils*.class"/>
      <include name="**/PredicateUtils*.class"/>
      <include name="**/TransformerUtils*.class"/>
      <include name="**/functors/*.class"/>
    </jar>
    <jar    jarfile="${build.home}/${component.name}-main-${component.version}.jar"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF">
      <include name="**/META-INF/*"/>
      <include name="**/*"/>
      <exclude name="**/BagUtils*.class"/>
      <exclude name="**/BufferUtils*.class"/>
      <exclude name="**/ComparatorUtils*.class"/>
      <exclude name="**/ClosureUtils*.class"/>
      <exclude name="**/FactoryUtils*.class"/>
      <exclude name="**/PredicateUtils*.class"/>
      <exclude name="**/TransformerUtils*.class"/>
      <exclude name="**/bag/*.class"/>
      <exclude name="**/bidimap/*.class"/>
      <exclude name="**/buffer/*.class"/>
      <exclude name="**/comparators/*.class"/>
      <exclude name="**/functors/*.class"/>
      <exclude name="**/iterators/ProxyIterator*.class"/>
      <exclude name="**/iterators/ProxyListIterator*.class"/>
      <exclude name="org/apache/commons/collections/BinaryHeap*.class"/>
      <exclude name="org/apache/commons/collections/BoundedFifoBuffer*.class"/>
      <exclude name="org/apache/commons/collections/CursorableLinkedList*.class"/>
      <exclude name="org/apache/commons/collections/CursorableSubList*.class"/>
      <exclude name="org/apache/commons/collections/DefaultMapBag*.class"/>
      <exclude name="org/apache/commons/collections/DefaultMapEntry*.class"/>
      <exclude name="org/apache/commons/collections/DoubleOrderedMap*.class"/>
      <exclude name="org/apache/commons/collections/HashBag*.class"/>
      <exclude name="org/apache/commons/collections/LRUMap*.class"/>
      <exclude name="org/apache/commons/collections/PriorityQueue*.class"/>
      <exclude name="org/apache/commons/collections/ProxyMap*.class"/>
      <exclude name="org/apache/commons/collections/ReferenceMap*.class"/>
      <exclude name="org/apache/commons/collections/SequencedHashMap*.class"/>
      <exclude name="org/apache/commons/collections/StaticBucketMap*.class"/>
      <exclude name="org/apache/commons/collections/SynchronizedPriorityQueue*.class"/>
      <exclude name="org/apache/commons/collections/TreeBag*.class"/>
      <exclude name="org/apache/commons/collections/UnboundedFifoBuffer*.class"/>
    </jar>
    <jar    jarfile="${build.home}/${component.name}-deprecated-${component.version}.jar"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF">
      <include name="**/META-INF/*"/>
      <include name="**/iterators/ProxyIterator*.class"/>
      <include name="**/iterators/ProxyListIterator*.class"/>
      <include name="org/apache/commons/collections/BinaryHeap*.class"/>
      <include name="org/apache/commons/collections/BoundedFifoBuffer*.class"/>
      <include name="org/apache/commons/collections/CursorableLinkedList*.class"/>
      <include name="org/apache/commons/collections/CursorableSubList*.class"/>
      <include name="org/apache/commons/collections/DefaultMapBag*.class"/>
      <include name="org/apache/commons/collections/DefaultMapEntry*.class"/>
      <include name="org/apache/commons/collections/DoubleOrderedMap*.class"/>
      <include name="org/apache/commons/collections/HashBag*.class"/>
      <include name="org/apache/commons/collections/LRUMap*.class"/>
      <include name="org/apache/commons/collections/PriorityQueue*.class"/>
      <include name="org/apache/commons/collections/ProxyMap*.class"/>
      <include name="org/apache/commons/collections/ReferenceMap*.class"/>
      <include name="org/apache/commons/collections/SequencedHashMap*.class"/>
      <include name="org/apache/commons/collections/StaticBucketMap*.class"/>
      <include name="org/apache/commons/collections/SynchronizedPriorityQueue*.class"/>
      <include name="org/apache/commons/collections/TreeBag*.class"/>
      <include name="org/apache/commons/collections/UnboundedFifoBuffer*.class"/>
    </jar>

    <!--jar    jarfile="${build.home}/${component.name}-nodeprecated-${component.version}.jar"
            basedir="${build.classes}"
           manifest="${build.conf}/MANIFEST.MF">
      <include name="**/META-INF/*"/>
      <include name="**/*"/>
      <exclude name="**/iterators/ProxyIterator*.class"/>
      <exclude name="**/iterators/ProxyListIterator*.class"/>
      <exclude name="org/apache/commons/collections/BinaryHeap*.class"/>
      <exclude name="org/apache/commons/collections/BoundedFifoBuffer*.class"/>
      <exclude name="org/apache/commons/collections/CursorableLinkedList*.class"/>
      <exclude name="org/apache/commons/collections/CursorableSubList*.class"/>
      <exclude name="org/apache/commons/collections/DefaultMapBag*.class"/>
      <exclude name="org/apache/commons/collections/DefaultMapEntry*.class"/>
      <exclude name="org/apache/commons/collections/DoubleOrderedMap*.class"/>
      <exclude name="org/apache/commons/collections/HashBag*.class"/>
      <exclude name="org/apache/commons/collections/LRUMap*.class"/>
      <exclude name="org/apache/commons/collections/PriorityQueue*.class"/>
      <exclude name="org/apache/commons/collections/ProxyMap*.class"/>
      <exclude name="org/apache/commons/collections/ReferenceMap*.class"/>
      <exclude name="org/apache/commons/collections/SequencedHashMap*.class"/>
      <exclude name="org/apache/commons/collections/StaticBucketMap*.class"/>
      <exclude name="org/apache/commons/collections/SynchronizedPriorityQueue*.class"/>
      <exclude name="org/apache/commons/collections/TreeBag*.class"/>
      <exclude name="org/apache/commons/collections/UnboundedFifoBuffer*.class"/>
    </jar-->
  </target>

<!-- ====================================================================== -->

  <target name="compile.tests" depends="compile"
          description="Compile unit test cases">
    <mkdir dir="${build.tests}"/>
    <javac  srcdir="${source.test}"
           destdir="${build.tests}"
             debug="true"
       deprecation="false"
          optimize="false">
      <classpath>
        <pathelement location="${build.classes}"/>
        <pathelement location="${junit.jar}"/>
      </classpath>
    </javac>
  </target>

<!-- ====================================================================== -->

  <!-- Used to obtain more detailed info on test failures -->
  <target name="test"  depends="compile.tests"
          description="Run all unit test cases">
    <junit printsummary="yes" haltonfailure="yes" showoutput="yes">
      <formatter type="brief" />
      <classpath>
        <pathelement location="${build.classes}"/>
        <pathelement location="${build.tests}"/>
        <pathelement location="${junit.jar}"/>
      </classpath>

      <batchtest fork="yes">
        <fileset dir="${source.test}">
          <include name="**/Test*.java"/>
          <exclude name="**/TestAll*.java"/>
          <exclude name="**/TestAbstract*"/>
          <exclude name="**/TestArrayList.java"/>
          <exclude name="**/TestLinkedList.java"/>
          <exclude name="**/TestHashMap.java"/>
          <exclude name="**/TestTreeMap.java"/>
          <exclude name="**/TestTypedCollection.java"/>
        </fileset>
        <formatter type="brief" usefile="false" />
      </batchtest>
    </junit>
  </target>

<!-- ====================================================================== -->

  <target name="testjar"  depends="compile.tests,jar"
          description="Run all unit test cases">
    <echo message="Running collections tests against built jar ..."/>
    <junit printsummary="yes" haltonfailure="yes">
      <classpath>
        <pathelement location="${build.jar.name}"/>
        <pathelement location="${build.tests}"/>
        <pathelement location="${junit.jar}"/>
      </classpath>

      <batchtest fork="yes">
        <fileset dir="${source.test}">
          <include name="**/TestAllPackages.java"/>
        </fileset>
        <formatter type="brief" usefile="false" />
      </batchtest>
    </junit>
  </target>

<!-- ====================================================================== -->

  <target name="javadoc" depends="prepare"
          description="Create component Javadoc documentation">
    <tstamp><format property="year" pattern="yyyy"/></tstamp>
    <delete     dir="${build.docs}"/>
    <mkdir      dir="${build.docs}"/>
    <javadoc sourcepath="${source.java}"
                destdir="${build.docs}"
           packagenames="${component.package}.*"
                 access="${javadoc.access}"
                 author="true"
                version="true"
                    use="true"
                   link="${javadoc.links}"
               overview="${source.java}/org/apache/commons/collections/overview.html"
               doctitle="${component.title} ${component.version} API;"
            windowtitle="${component.title} ${component.version} API"
                 bottom="Copyright &amp;copy; 2001-${year} Apache Software Foundation. All Rights Reserved.">
    </javadoc>
  </target>

<!-- ====================================================================== -->
<!-- ========== Test framework ============================================ -->
<!-- ====================================================================== -->
   
  <property name="tf.name"                 value="commons-collections-testframework"/>
  <property name="tf.package"              value="org.apache.commons.collections"/>
  <property name="tf.title"                value="Commons Collections Test Framework"/>
  <property name="tf.title.full"           value="Apache Jakarta Commons Collections Test Framework"/>
  <property name="tf.version"              value="${component.version}"/>

  <property name="tf.build.conf"           value="${build.home}/tfconf"/>
  <property name="tf.build.tf"             value="${build.home}/testframework"/>
  <property name="tf.build.docs"           value="${build.home}/docs/testframework"/>
  
  <property name="tf.jar.name" value="${tf.name}-${tf.version}.jar"/>
  <property name="tf.build.jar.name" value="${build.home}/${tf.jar.name}"/>


<!-- ====================================================================== -->

  <!-- patternset describing test framework source not dependent on collections jar -->
  <patternset id="tf.patternset.validate">
    <include name="**/AbstractTestObject.java"/>
    <include name="**/AbstractTestCollection.java"/>
    <include name="**/AbstractTestSet.java"/>
    <include name="**/AbstractTestSortedSet.java"/>
    <include name="**/AbstractTestList.java"/>
    <include name="**/AbstractTestMap.java"/>
    <include name="**/AbstractTestSortedMap.java"/>
    <include name="**/AbstractTestComparator.java"/>
    <include name="**/AbstractTestIterator.java"/>
    <include name="**/AbstractTestListIterator.java"/>
    <include name="**/AbstractTestMapEntry.java"/>
    <include name="**/BulkTest.java"/>
  </patternset>
  
  <target name="tf.validate" depends="prepare"
          description="Testframework - Validate testframework independence">
    <delete    dir="${tf.build.tf}"/>
    <mkdir     dir="${tf.build.tf}"/>
    <javac  srcdir="${source.test}"
           destdir="${tf.build.tf}"
             debug="true"
       deprecation="false"
          optimize="false">
      <patternset refid="tf.patternset.validate" />
      <classpath>
        <pathelement location="${junit.jar}"/>
      </classpath>
    </javac>
    <delete dir="${tf.build.tf}"/>
  </target>

<!-- ====================================================================== -->

  <target name="tf.jar" depends="compile.tests"
          description="Testframework - Create jar">
    <mkdir      dir="${tf.build.tf}"/>
    <copy     todir="${tf.build.tf}">
      <fileset dir="${build.tests}">
        <include name="**/AbstractTest*.class"/>
        <include name="**/BulkTest*.class"/>
      </fileset>
    </copy>
    
    <mkdir      dir="${tf.build.tf}/META-INF"/>
    <copy      file="LICENSE.txt"
             tofile="${tf.build.tf}/META-INF/LICENSE.txt"/>
    <copy      file="NOTICE.txt"
             tofile="${tf.build.tf}/META-INF/NOTICE.txt"/>
             
    <tstamp/>
    <mkdir      dir="${tf.build.conf}"/>
    <copy     todir="${tf.build.conf}" filtering="on">
      <filterset>
        <filter token="name"     value="${tf.name}"/>
        <filter token="title"    value="${tf.title}"/>
        <filter token="package"  value="${tf.package}"/>
        <filter token="version"  value="${tf.version}"/>
      </filterset>
      <fileset dir="${source.conf}" includes="*.MF"/>
    </copy>
             
    <!-- NOTE: A jar built using JDK1.4 is incompatible with JDK1.2 -->
    <jar    jarfile="${tf.build.jar.name}"
            basedir="${tf.build.tf}"
           manifest="${tf.build.conf}/MANIFEST.MF"/>
  </target>

<!-- ====================================================================== -->

  <target name="tf.javadoc" depends="prepare"
          description="Testframework - Create Javadoc documentation">
    <tstamp><format property="year" pattern="yyyy"/></tstamp>
    <delete     dir="${tf.build.docs}"/>
    <mkdir      dir="${tf.build.docs}"/>
    <javadoc    destdir="${tf.build.docs}"
                 access="protected"
                 author="false"
                version="false"
                   link="${javadoc.links}"
               overview="${source.test}/org/apache/commons/collections/overview.html"
               doctitle="${tf.title} ${tf.version} API;"
            windowtitle="${tf.title} ${tf.version} API"
                 bottom="Copyright &amp;copy; 2001-${year} Apache Software Foundation. All Rights Reserved.">
      <fileset dir="${source.test}">
        <include name="**/AbstractTest*.java"/>
        <include name="**/BulkTest*.java"/>
      </fileset>
    </javadoc>
  </target>


<!-- ====================================================================== -->
<!-- ========== Distributions ============================================= -->
<!-- ====================================================================== -->
   
<!-- ====================================================================== -->

  <target name="dist" depends="jar,testjar,javadoc,tf.validate,tf.jar,dist.bin,dist.src"
          description="Create distribution folders">
  </target>
  
  <target name="dist.bin">
    <mkdir      dir="${build.dist.bin.work}"/>
    <copy     todir="${build.dist.bin.work}">
      <fileset dir=".">
        <include name="LICENSE.txt"/>
        <include name="NOTICE.txt"/>
        <include name="README.txt"/>
        <include name="RELEASE-NOTES.html"/>
      </fileset>
    </copy>
    <copy     todir="${build.dist.bin.work}">
      <fileset dir="${build.home}">
        <include name="*.jar"/>
        <include name="docs/**"/>
      </fileset>
    </copy>
  </target>
  
  <target name="dist.src">
    <mkdir      dir="${build.dist.src.work}"/>
    <copy     todir="${build.dist.src.work}">
      <fileset dir=".">
        <include name="LICENSE.txt"/>
        <include name="NOTICE.txt"/>
        <include name="README.txt"/>
        <include name="RELEASE-NOTES.html"/>
        <include name="DEVELOPERS-GUIDE.html"/>
        <include name="PROPOSAL.html"/>
        <include name="STATUS.html"/>
        <include name="build.properties.sample"/>
        <include name="build.xml"/>
        <include name="maven.xml"/>
        <include name="project.xml"/>
        <include name="project.properties"/>
      </fileset>
    </copy>
    <copy     todir="${build.dist.src.work}">
      <fileset dir="${build.home}">
        <include name="*.jar"/>
      </fileset>
    </copy>
    <copy     todir="${build.dist.src.work}">
      <fileset dir=".">
        <include name="data/**"/>
        <include name="src/**"/>
        <include name="xdocs/**"/>
      </fileset>
    </copy>
  </target>

<!-- ====================================================================== -->

  <target name="zip" depends="zip.bin,zip.src"
          description="Create zipped distribution">
  </target>
  
  <target name="zip.bin">
    <mkdir dir="${build.dist}"/>
    <tar longfile="gnu" tarfile="${build.bin.tar.name}">
      <tarfileset dir="${build.dist.bin}"/>
    </tar>
    <gzip zipfile="${build.bin.gz.name}" src="${build.bin.tar.name}"/>
    <delete file="${build.bin.tar.name}" />
    
    <zip zipfile="${build.bin.zip.name}" >
      <zipfileset dir="${build.dist.bin}"/>
    </zip>
      
    <checksum file="${build.bin.gz.name}"/>
    <checksum file="${build.bin.zip.name}"/>
  </target>

  <target name="zip.src">
    <mkdir dir="${build.dist}"/>
    <tar longfile="gnu" tarfile="${build.src.tar.name}">
      <tarfileset dir="${build.dist.src}"/>
    </tar>
    <gzip zipfile="${build.src.gz.name}" src="${build.src.tar.name}"/>
    <delete file="${build.src.tar.name}" />
    
    <zip zipfile="${build.src.zip.name}" >
      <zipfileset dir="${build.dist.src}"/>
    </zip>
      
    <checksum file="${build.src.gz.name}"/>
    <checksum file="${build.src.zip.name}"/>
  </target>

  <target name="clirr">
    <property name="jar.baseline" value="commons-collections-2.1.1.jar" />
    <property name="jar.current" value="commons-collections-3.1.jar" />

    <taskdef resource="clirrtask.properties">
      <classpath path="/clirr/clirr-0.3.jar;/clirr/bcel-5.1.jar;" />
    </taskdef>

    <clirr>
      <origfiles dir="." includes="${jar.baseline}"/>
      <newfiles dir="." includes="${jar.current}" />
      <formatter type="plain" outfile="clirr.txt" />
    </clirr>

  </target>
</project>
commons-collections-3.1/NOTICE.txt100644      0      0         147 10066136772  14207 0ustar     0      0 This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
commons-collections-3.1/DEVELOPERS-GUIDE.html100644      0      0       10441 10066136772  15714 0ustar     0      0  <!--
   Copyright 2002-2004 The Apache Software Foundation

   Licensed 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>Developers guide for Jakarta Commons "Collections" Package</title>
<head>
<body bgcolor="white">


<div align="center">
<h1>The Jakarta Commons <em>Collections</em> Package</h1>
<h2>Developers Guide</h2>
$Id: DEVELOPERS-GUIDE.html,v 1.4 2004/02/19 21:41:04 scolebourne Exp $<br>
<a href="#Introduction">[Introduction]</a>
<a href="#CollectionInterfaces">[Collection Interfaces]</a>
<a href="#CollectionImplementations">[Collection Implementations]</a>
<a href="#UtilityClasses">[Utility Classes]</a>
<br><br>
</div>


<a name="Introduction"></a>
<h3>1.  INTRODUCTION</h3>

<p>The <em>Collections</em> package contains a set of Java classes that extend
or augment the Java Collections Framework. This developers guide seeks to set
out rules for the naming of classes and methods within the package. The purpose
of this, as with all naming standards, is to improve the coherency and
consistency of the whole API.</p>

<p>The philosophy of the naming standards is to follow those of
java.util.Collections.</p>


<a name="CollectionInterfaces"></a>
<h3>2.  COLLECTION INTERFACES</h3>

<p>Collection interfaces are new types of collections not included in Java.
Examples include <code>Bag</code> and <code>SortedBag</code>. These interfaces
shall:</p>
<ul>
<li>be top level interfaces</li>
<li>have a name that describes their purpose</li>
</ul>


<a name="CollectionImplementations"></a>
<h3>3.  COLLECTION IMPLEMENTATIONS</h3>

<p>Collection implementation are new implementations of collection interfaces.
Examples include <code>DoubleOrderedMap</code> and <code>DefaultMapBag</code>.
These interfaces shall:</p>
<ul>
<li>be top level classes</li>
<li>have a name that ends with the collection type being implemented</li>
<li>have a name that describes their implementation</li>
<li>contain no public inner classes</li>
<li>only contain the collection implementation, and any methods specific to
that implementation</li>
</ul>


<a name="UtilityClasses"></a>
<h3>4.  UTILITY CLASSES</h3>

<p>Utility classes provide additional functionality around an interface and
its basic implementations. Examples include CollectionUtils and ListUtils.</p>

<p>Each class shall follow the naming pattern XxxUtils where Xxx relates to the
object being returned by the class, for example <code>ListUtils</code> and
<code>BagUtils</code>. Variations on a theme (<code>SortedBag</code> as opposed
to <code>Bag</code>) will be dealt with in one Utils class. Each Utils class
shall:</p>

<ul>
<li>be a single, static method based, class</li>
<li>have a name consisting of the interface name plus 'Utils'</li>
<li>deal with one collection interface and its variations</li>
<li>provide methods that decorate the interface with additional
functionality</li>
<li>provide methods that perform useful utility functions on that
interface</li>
</ul>

<p>Where the method in a Utils class is a decorator, the name shall consist of
an adjective followed by the collection type.  Typically such adjective is
formed by appending an -ed suffix (meaning "having"/"characterized by") to the
word describing the type of decorator.  For example,
<code>synchronizedMap(Map)</code> or <code>predicatedSet(Set)</code>.
Occasionally, such construct is awkward and a more suitable adjective can be
used instead.  For example, <code>lazyList</code>,
<code>unmodifiableList</code>.</p>

<p>These decorators should be implemented either as non-public, static,
inner classes, or as public classes in a subpackage. If a subpackage is used,
the constructors should be protected and a public static decorate() method
provided on each class for construction.</p>

</body>
</html>


commons-collections-3.1/RELEASE-NOTES.html100644      0      0       14701 10066136772  15362 0ustar     0      0  <!--
   Copyright 2003-2004 The Apache Software Foundation

   Licensed 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.
  -->
<title>RELEASE NOTES: COLLECTIONS 3.1</title>

<center><h2>RELEASE NOTES: COLLECTIONS 3.1</h2></center>

<p>
This release adds various new classes and fixes a number of bugs.
All feedback should be directed to commons-user at jakarta.apache.org.

<hr />

<center><h3>COMPATABILITY</h3></center>
<p>
This release is fully source and binary compatible with v3.0.
(Checks performed using JDiff and Clirr, thanks).
</p>
<p>
The only new deprecations are in AbstractDualBidiMap.
These only impact non commons-collections subclasses, and existing code will still work.
</p>
<p>
This release also enables a workaround of the binary compatability issue with IteratorUtils in v3.0.
Collections v2.1.1 (with deprecations solved) and v3.1 are compatible with regards to iterators.
</p>

<center><h3>NEW CLASSES</h3></center>
<ul>
<li>TreeList - A list implementation that is faster than ArrayList for insertions and removals</li>
<li>MultiKeyMap - A map that allows multiple keys to be used to map the value</li>
<li>SingletonMap - fully featured singleton Map implementation</li>
<li>ObjectGraphIterator - An iterator that can iterate over a graph of objects</li>
<li>MapBackedSet - Set created by decorating a map</li>
<li>ReferenceIdentityMap - Similar to ReferenceMap, but matching keys and values by identity [26503]</li>
<li>AbstractReferenceMap - New base class for reference maps [26503]</li>
<li>Empty*Iterator - Iterators over empty collections</li>
<li>TransformedPredicate - A predicate where the input object is transformed [26946]</li>
<li>PredicateDecorator - An interface to provide a uniform interface to the decorated predicates</li>
<li>AbstractSerializable*Decorator - Abstract classes for decorators that are Serializable</li>
</ul>

<center><h3>ENHANCEMENTS</h3></center>
<ul>
<li>ReferenceMap - Changed to extend AbstractReferenceMap, thus gaining a mapIterator() and subclassability [26503]</li>
<li>Fast3Map - Add clone() method</li>
<li>MultiKey - Add getKey(index) and size() methods and make constructor public</li>
<li>MultiHashMap - Add five methods to improve the API</li>
<li>AbstractHashedMap,AbstractLinkedMap - Add methods to access entry methods when protected scope blocks</li>
<li>Functors - Add get methods to retrieve internal state [27515]</li>
<li>Functors - Add additional getInstance() methods for consistency [27856,27857]</li>
<li>CollectionUtils - get(Object,int) method now supports primitive arrays</li>
<li>CollectionUtils - cardinality() now works faster for Set and Bag instances [28629]</li>
<li>CollectionUtils - Add size(Object) method to find the size of various collection-like objects [27909]</li>
<li>SingletonIterator - make remove() functionality optional</li>
<li>AbstractLinkedList/NodeCachingLinkedList - added getValue() and setValue() to Node, and made everything use them</li>
<li>LRUMap - The addMapping() method now uses isFull() to determine whether it is full</li>
<li>LRUMap - Add boolean flag, scanUntilRemovable, giving the removeLRU() method more power [28887]</li>
<li>InvokerTransformer - Add additional getInstance() method</li>
<li>Reduced inter-class and inter-package dependencies, especially via *Utils classes</li>
<li>ListOrderedSet - Add new factory method decorate(Set,List)</li>
<li>ListOrderedSet - Add public constructor that uses a HashSet and ArrayList</li>
<li>ListOrderedMap - Add public constructor that uses a HashMap and ArrayList</li>
</ul>

<h4>Made Serializable</h4>
<ul>
<li>Fast3Map [27946]</li>
<li>ReferenceMap</li>
<li>UnboundedFifoBuffer</li>
<li>BoundedFifoBuffer</li>
<li>CircularFifoBuffer</li>
<li>TiedMapEntry</li>
<li>FixedSize* [18815]</li>
<li>Predicated* [18815]</li>
<li>Synchronized* [18815]</li>
<li>Transformed* [18815]</li>
<li>Typed* [18815]</li>
<li>Unmodifiable* [18815]</li>
<li>Lazy* [18815]</li>
<li>ListOrdered* [18815]</li>
<li>SetUniqueList [18815]</li>
</ul>

<center><h3>BUG FIXES</h3></center>
<ul>
<li>Map/BidiMap implementations only checked key and not value in entry set contains(Object) and remove(Object)</li>
<li>AbstractHashedMap subclasses failed to clone() correctly [27159]</li>
<li>ExtendedProperties - Close input stream in constructor [27737]</li>
<li>ExtendedProperties - Handle comma separated data in multiple keys</li>
<li>Flat3Map - Handle infinite loops in toString</li>
<li>LRUMap - The removeLRU() method was passed the wrong LinkEntry [28433]</li>
<li>EnumIterator/MapUtils - Changed enum references to enable JDK 1.5 compliance</li>
<li>UnmodifiableSortedBag - Fix to ensure unmodifiable</li>
<li>MultiHashMap - Fix copy constructor and clone to work properly [28972]</li>
<li>ListOrderedSet - Fix to throw IllegalArgumentException instead of NPE on null factory decorate(List)</li>
<li>*Dual*BidiMap - Fix poorly designed subclass method call from superclass constructor [29519]</li>
</ul>

<center><h3>JAVADOC</h3></center>
<ul>
<li>Bag - Indicate that no changes are likely to the interface despite its problems</li>
<li>TreeBidiMap - Add javadoc about requiring Comparable entries [26470]</li>
<li>MultiKey - Add extra explanatations, examples and warnings</li>
<li>MultiMap,MultiHashMap - Add extra documentation to clarify the interface and implementation</li>
<li>XxxUtils - Clarify the internal workings of the predicated decorator classes [28115]</li>
<li>BidiMap - Clarify 1 to 1 nature of the map</li>
<li>AbstractHashedMap - Fix isEqualValue() javadoc to refer to value not key</li>
<li>LRUMap - Added extra javadoc about method implementations</li>
<li>BoundedCollection/UnmodifiableBoundedCollection - reword to avoid misunderstandings</li>
<li>Closure/Predicate/Transformer/Factory - Additional javadoc with links</li>
<li>ClosureUtils/PredicateUtils/TransformerUtils/FactoryUtils - Additional links to implementations</li>
<li>Predicated* - Additional usage explanation [29018]</li>
</ul>
commons-collections-3.1/README.txt100644      0      0        3135 10066136772  14203 0ustar     0      0 Jakarta Commons Collections
===========================

Welcome to the Collections component of the Jakarta Commons project.
This component contains many new collections and collection utilities.

Two jar files are produced by this component.
The first, commons-collections.jar is the main jar used by applications.
The second, commons-collections-testframework.jar is an extension to junit
for testing new collection implementations and is not normally used by applications.


Building from source
--------------------
This component requires the excellent Ant utility.
It can be found here :

  http://ant.apache.org/

For testing the project, you will also need JUnit :

  http://www.junit.org/

To let the test process find JUnit, you may make a 
copy of the build.properties.sample file, rename to
build.properties,  and modify to reflect
the location of the junit.jar on your computer.


Once you have Ant propertly installed, and the
build.properties file correctly reflects the location
of your junit.jar, you are ready to build and test.
The major targets are:

ant compile      - compile the code
ant test         - test using junit
ant jar          - create a jar file
ant javadoc      - build the javadoc
ant dist         - create folders as per a distribution
ant tf.jar       - create the testframework jar file
ant tf.javadoc   - build the testframework javadoc


Maven
-----
The component can also be built using Maven. (Ant is the primary build tool.)
It can be found here :

  http://maven.apache.org/

Once installed, the jars may be built with 'maven jar'.
commons-collections-3.1/build.properties.sample100644      0      0        1300 10066136772  17172 0ustar     0      0 #   Copyright 2001-2004 The Apache Software Foundation
#
#   Licensed 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.

# junit.jar - JUnit 3.8.1 Classpath
junit.jar=/java/junit/junit.jar
commons-collections-3.1/project.properties100644      0      0        3537 10066136772  16277 0ustar     0      0 #   Copyright 2003-2004 The Apache Software Foundation
#
#   Licensed 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.

#maven.checkstyle.properties=src/conf/checkstyle.properties
maven.xdoc.jsl=../commons-build/commons-site.jsl
maven.xdoc.date=left
#maven.xdoc.version=${pom.currentVersion}
maven.xdoc.developmentProcessUrl=http://jakarta.apache.org/commons/charter.html
maven.xdoc.poweredby.image=maven-feather.png

maven.javadoc.author=false
maven.javadoc.links=http://java.sun.com/j2se/1.3/docs/api/
maven.javadoc.overview=src/java/org/apache/commons/collections/overview.html
#maven.javadoc.public=true
#maven.javadoc.package=false
#maven.javadoc.private=false

# Uncomment to generate old javadoc using  maven javadoc:generate
# These must be used one at a time
# The maven xml also has full support for tags as part of site generation
#collections.javadoc.tag=COLLECTIONS_2_1
#collections.javadoc.tag.windowtitle="Collections 2.1 release API"
#collections.javadoc.tag=COLLECTIONS_3_0
#collections.javadoc.tag.windowtitle="Collections 3.0 release API"
collections.javadoc.tag.access=public

maven.jdiff.old.tag=COLLECTIONS_3_0

maven.compile.debug=on
maven.compile.deprecation=off
maven.compile.optimize=off

maven.jarResources.basedir=src/java
maven.jar.excludes=**/package.html
maven.junit.fork=true

clover.excludes=**/Test*.java
commons-collections-3.1/PROPOSAL.html100644      0      0        7225 10066136772  14636 0ustar     0      0  <!--
   Copyright 2001-2004 The Apache Software Foundation

   Licensed 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 bgcolor="white">

<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 behaviour 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>
commons-collections-3.1/maven.xml100644      0      0       30177 10066136772  14363 0ustar     0      0  <!--
   Copyright 2002-2004 The Apache Software Foundation

   Licensed 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.
  -->
<project
    default="java:jar"
    xmlns:j="jelly:core"
    xmlns:license="license"
    xmlns:maven="jelly:maven"
    xmlns:util="jelly:util"
    xmlns:ant="jelly:ant">

  <postGoal name="clover:on">
    <j:set var="maven.junit.sysproperties" value="${maven.junit.sysproperties} org.apache.commons.collections:with-clover"/>
    <j:set var="org.apache.commons.collections:with-clover" value="true"/>
  </postGoal>

  <!-- ============== JAR ================== -->
  <postGoal name="jar:jar">
    <j:set var="finalName" value="${pom.getPluginContext('maven-jar-plugin').getVariable('maven.final.name')}"/>
    <j:set var="finalVersion" value="${finalName.substring(20)}" />
    <j:set var="testfwkBase" value="${pom.artifactId}-testframework" />
    <j:set var="testfwkName" value="${testfwkBase}-${finalVersion}" />
    
    <ant:jar 
        jarfile="${maven.build.dir}/${testfwkName}.jar">
      <j:set var="licenseFileName"><license:fileName/></j:set>
      <util:file name="${licenseFileName}" var="licenseFile"/>
      <ant:metainf dir="${licenseFile.canonicalFile.parent}">
        <ant:include name="${licenseFile.canonicalFile.name}"/>
      </ant:metainf>
      <ant:manifest>
        <ant:attribute name="Built-By" value="${user.name}"/>
        <ant:attribute name="Created-By" value="Apache Jakarta Maven"/>
        <ant:attribute name="Package" value="${pom.package}"/>
        <ant:attribute name="Build-Jdk" value="${java.version}"/>
        <!-- added supplementary entries -->
        <ant:attribute name="Extension-Name" value="Commons Collections Test Framework"/>
        <ant:attribute name="Specification-Version" value="${pom.specificationVersion}"/>
        <ant:attribute name="Specification-Vendor" value="${pom.organization.name}"/>
        <ant:attribute name="Specification-Title" value="Commons Collections Test Framework"/>
        <ant:attribute name="Implementation-Version" value="${pom.currentVersion}"/>
        <ant:attribute name="Implementation-Vendor" value="${pom.organization.name}"/>
        <ant:attribute name="Implementation-Vendor-Id" value="${pom.organization.identifier}"/>
      </ant:manifest>
      <ant:fileset dir="${maven.build.dir}/test-classes">
        <ant:include name="**/AbstractTest*.class"/>
        <ant:include name="**/BulkTest*.class"/>
      </ant:fileset>
    </ant:jar>
  </postGoal>
  
  <postGoal name="jar:install">
    <j:set var="finalName" value="${pom.getPluginContext('maven-jar-plugin').getVariable('maven.final.name')}"/>
    <j:set var="finalVersion" value="${finalName.substring(20)}" />
    <j:set var="testfwkBase" value="${pom.artifactId}-testframework" />
    <j:set var="testfwkName" value="${testfwkBase}-${finalVersion}" />
    
    <ant:property name="jardir__" value="${maven.repo.local}/${pom.artifactDirectory}/jars"/>
    <ant:mkdir dir="${jardir__}"/>    
    <ant:copy 
        file="${maven.build.dir}/${testfwkName}.jar"
        todir="${jardir__}"
        overwrite="true" />
  </postGoal>

  <postGoal name="jar:install-snapshot">
    <j:set var="finalName" value="${pom.getPluginContext('maven-jar-plugin').getVariable('maven.final.name')}"/>
    <j:set var="finalVersion" value="${finalName.substring(20)}" />
    <j:set var="testfwkBase" value="${pom.artifactId}-testframework" />
    <j:set var="testfwkName" value="${testfwkBase}-${finalVersion}" />

    <ant:property name="jardir__" value="${maven.repo.local}/${pom.artifactDirectory}/jars"/>
    <ant:mkdir dir="${jardir__}"/>
    <ant:copy
        file="${maven.build.dir}/${testfwkName}.jar"
        tofile="${jardir__}/${testfwkBase}-SNAPSHOT.jar"
        overwrite="true" />
    <ant:copy
        file="${maven.build.dir}/${testfwkName}.jar"
        tofile="${jardir__}/${testfwkName}.jar" />
  </postGoal>

  <!-- ============== JAVADOC PREVIOUS VERSIONS ================== -->
  <postGoal name="javadoc:generate">
<!-- This is a postGoal because we need data from the javadoc plugin which I can't get another way -->
<!--    description="Retrieves a tagged version of the source and generates the javadoc"-->

    <j:if test="${context.getVariable('collections.javadoc.tag') == null}">
      <ant:echo message="The collections.javadoc.tag property must be set for javadoc:tag" />
    </j:if>
    <j:if test="${context.getVariable('collections.javadoc.tag') != null}">
      <ant:echo message="Generate javadoc for ${collections.javadoc.tag}" />
      <!-- not in javadoc plugin, so have to setup properties -->
      <j:set var="maven.javadoc.destdir" value="${pom.getPluginContext('maven-javadoc-plugin').getVariable('maven.javadoc.destdir')}" />
      <j:set var="maven.javadoc.stylesheet" value="${pom.getPluginContext('maven-javadoc-plugin').getVariable('maven.javadoc.stylesheet')}" />
      
      <j:set var="collections.javadoc.tag.destdir" value="${maven.javadoc.destdir}-${collections.javadoc.tag}"/>
      <j:set var="collections.javadoc.tag.stylesheet" value="${maven.javadoc.stylesheet}"/>
      
      <j:set var="taggedBaseDir" value="${maven.build.dir}/javadoc/${collections.javadoc.tag}" />
      <ant:mkdir dir="${taggedBaseDir}" />
      <maven:makeRelativePath var="relativeSrcDir" basedir="${basedir}" path="${pom.build.sourceDirectory}" />
      <util:replace var="relativeSrcDir" oldChar="\" newChar="/" value="${relativeSrcDir}" />
      <j:set var="taggedSourceDir" value="${taggedBaseDir}/${pom.repository.cvsModule}/${relativeSrcDir}"/>
      <ant:cvs
          cvsRoot="${pom.repository.cvsRoot}"
          package="${pom.repository.cvsModule}/${relativeSrcDir}"
          dest="${taggedBaseDir}"
          tag="${collections.javadoc.tag}" />    
          
      <ant:mkdir dir="${collections.javadoc.tag.destdir}" />
      <ant:tstamp>
         <ant:format property="currentYear" pattern="yyyy"/>
      </ant:tstamp>
      <ant:tstamp>
        <j:choose>
          <j:when test="${pom.inceptionYear.equals(currentYear)}">
            <ant:format property="year" pattern="yyyy"/>
          </j:when>
          <j:otherwise>
            <ant:format property="year" pattern="${pom.inceptionYear}-yyyy"/>
          </j:otherwise>
        </j:choose>
      </ant:tstamp>
      <j:set var="copyright" value="Copyright &amp;copy; ${year} ${pom.organization.name}. All Rights Reserved." />
        
      <ant:javadoc
        packagenames="${pom.package}.*"
        destdir="${collections.javadoc.tag.destdir}"
        sourcepath="${taggedSourceDir}"
        access="${collections.javadoc.tag.access}"
        author="true"
        version="true"
        use="true"
        windowtitle="${collections.javadoc.tag.windowtitle}"
        doctitle="${collections.javadoc.tag.windowtitle}"
        bottom="${copyright}"
        stylesheetfile="${maven.javadoc.stylesheet}">
        
        <j:if test="${context.getVariable('collections.javadoc.tag.overview') != null}">
          <ant:setProperty name="overview" value="${collections.javadoc.tag.overview}" />
        </j:if>

      </ant:javadoc>
    </j:if>
  </postGoal>

  <postGoal name="site:run-reports"><!-- OLD MAVEN -->
    <j:set var="collections.javadoc.tag" value="COLLECTIONS_2_1_1" />
    <j:set var="collections.javadoc.tag.windowtitle" value="Collections 2.1.1 release API" />
    <attainGoal name="javadoc:generate" />
    <j:set var="collections.javadoc.tag" value="COLLECTIONS_3_0" />
    <j:set var="collections.javadoc.tag.windowtitle" value="Collections 3.0 release API" />
    <j:set var="collections.javadoc.tag.overview" value="src/java/org/apache/commons/collections/overview.html" />
    <attainGoal name="javadoc:generate" />
    <j:set var="collections.javadoc.tag" value="COLLECTIONS_3_1" />
    <j:set var="collections.javadoc.tag.windowtitle" value="Collections 3.1 release API" />
    <j:set var="collections.javadoc.tag.overview" value="src/java/org/apache/commons/collections/overview.html" />
    <attainGoal name="javadoc:generate" />
  </postGoal>
  <postGoal name="site:generate"><!-- NEW MAVEN -->
    <j:set var="collections.javadoc.tag" value="COLLECTIONS_2_1_1" />
    <j:set var="collections.javadoc.tag.windowtitle" value="Collections 2.1.1 release API" />
    <attainGoal name="javadoc:generate" />
    <j:set var="collections.javadoc.tag" value="COLLECTIONS_3_0" />
    <j:set var="collections.javadoc.tag.windowtitle" value="Collections 3.0 release API" />
    <j:set var="collections.javadoc.tag.overview" value="src/java/org/apache/commons/collections/overview.html" />
    <j:set var="collections.javadoc.tag" value="COLLECTIONS_3_1" />
    <j:set var="collections.javadoc.tag.windowtitle" value="Collections 3.1 release API" />
    <j:set var="collections.javadoc.tag.overview" value="src/java/org/apache/commons/collections/overview.html" />
    <attainGoal name="javadoc:generate" />
  </postGoal>
  
  <!-- ============== DIST ================== -->
  <postGoal name="dist:prepare-bin-filesystem">
    <j:set var="maven.dist.bin.assembly.dir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.bin.assembly.dir')}" />
    
    <!-- Copy Files -->
    <ant:copy todir="${maven.dist.bin.assembly.dir}">
      <ant:fileset dir=".">
        <ant:include name="RELEASE-NOTES.html"/>
      </ant:fileset>
    </ant:copy>

    <!-- Copy Jars -->
    <ant:copy todir="${maven.dist.bin.assembly.dir}">
      <ant:fileset dir="${maven.build.dir}">
        <ant:include name="*testframework*.jar"/>
      </ant:fileset>
    </ant:copy>

    <!-- Delete tagged old release documentation -->
    <ant:delete includeEmptyDirs="true">
      <ant:fileset dir="${maven.dist.bin.assembly.dir}/docs" includes="apidocs-*/**" />
    </ant:delete>
    
  </postGoal>
  
  <postGoal name="dist:prepare-src-filesystem">
    <j:set var="maven.dist.src.assembly.dir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.src.assembly.dir')}" />
    
    <!-- Copy Files -->
    <ant:copy todir="${maven.dist.src.assembly.dir}">
      <ant:fileset dir=".">
        <ant:include name="RELEASE-NOTES.html"/>
        <ant:include name="DEVELOPERS-GUIDE.html"/>
        <ant:include name="PROPOSAL.html"/>
        <ant:include name="STATUS.html"/>
        <ant:include name="build.properties.sample"/>
      </ant:fileset>
    </ant:copy>

    <!-- Copy Jars -->
    <ant:copy todir="${maven.dist.src.assembly.dir}">
      <ant:fileset dir="${maven.build.dir}">
        <ant:include name="*.jar"/>
      </ant:fileset>
    </ant:copy>
    
    <!-- Copy XDocs -->
    <ant:copy todir="${maven.dist.src.assembly.dir}/xdocs">
      <ant:fileset dir="xdocs" />
    </ant:copy>
    
    <!-- Copy Test Data -->
    <ant:copy todir="${maven.dist.src.assembly.dir}/data">
      <ant:fileset dir="data" />
    </ant:copy>
    
  </postGoal>
  
  <postGoal name="dist:build-bin">
    <j:set var="distDir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}"/>
    <j:set var="finalName" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}"/>
    <ant:checksum file="${distDir}/${finalName}.tar.gz"/>
    <ant:checksum file="${distDir}/${finalName}.zip"/>
  </postGoal>
  
  <postGoal name="dist:build-src">
    <j:set var="distDir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}"/>
    <j:set var="finalName" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}"/>
    <ant:checksum file="${distDir}/${finalName}-src.tar.gz"/>
    <ant:checksum file="${distDir}/${finalName}-src.zip"/>
  </postGoal>
  
</project>
commons-collections-3.1/LICENSE.txt100644      0      0       26450 10066136772  14355 0ustar     0      0 
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed 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.
commons-collections-3.1/STATUS.html100644      0      0        7171 10066136772  14422 0ustar     0      0  <!--
   Copyright 2001-2004 The Apache Software Foundation

   Licensed 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

       ht