Author: tn Date: Mon Jun 25 20:34:32 2012 New Revision: 1353731 URL: http://svn.apache.org/viewvc?rev=1353731&view=rev Log: Cleanup bag package: package-info.java, version, author tags, javadoc.
Added: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package-info.java - copied, changed from r1353227, commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package.html Removed: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package.html Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractBagDecorator.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractMapBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractSortedBagDecorator.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/HashBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedSortedBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedSortedBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedSortedBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TreeBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableBag.java commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractBagDecorator.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractBagDecorator.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractBagDecorator.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractBagDecorator.java Mon Jun 25 20:34:32 2012 @@ -27,9 +27,7 @@ import org.apache.commons.collections.co * Methods are forwarded directly to the decorated bag. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne + * @version $Id$ */ public abstract class AbstractBagDecorator<E> extends AbstractCollectionDecorator<E> implements Bag<E> { Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractMapBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractMapBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractMapBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractMapBag.java Mon Jun 25 20:34:32 2012 @@ -38,13 +38,7 @@ import org.apache.commons.collections.se * number of occurrences of that element in the bag. * * @since Commons Collections 3.0 (previously DefaultMapBag v2.0) - * @version $Revision$ - * - * @author Chuck Burdick - * @author Michael A. Smith - * @author Stephen Colebourne - * @author Janek Bogucki - * @author Steve Clark + * @version $Id$ */ public abstract class AbstractMapBag<E> implements Bag<E> { @@ -59,7 +53,6 @@ public abstract class AbstractMapBag<E> /** * Constructor needed for subclass serialisation. - * */ protected AbstractMapBag() { super(); @@ -198,10 +191,12 @@ public abstract class AbstractMapBag<E> this.canRemove = false; } + /** {@inheritDoc} */ public boolean hasNext() { return (itemCount > 0 || entryIterator.hasNext()); } + /** {@inheritDoc} */ public E next() { if (parent.modCount != mods) { throw new ConcurrentModificationException(); @@ -215,6 +210,7 @@ public abstract class AbstractMapBag<E> return current.getKey(); } + /** {@inheritDoc} */ public void remove() { if (parent.modCount != mods) { throw new ConcurrentModificationException(); @@ -451,6 +447,7 @@ public abstract class AbstractMapBag<E> /** * Returns an array of all of this bag's elements. * + * @param <T> the type of the array elements * @param array the array to populate * @return an array of all of this bag's elements */ Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractSortedBagDecorator.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractSortedBagDecorator.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractSortedBagDecorator.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/AbstractSortedBagDecorator.java Mon Jun 25 20:34:32 2012 @@ -26,9 +26,7 @@ import org.apache.commons.collections.So * Methods are forwarded directly to the decorated bag. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne + * @version $Id$ */ public abstract class AbstractSortedBagDecorator<E> extends AbstractBagDecorator<E> implements SortedBag<E> { @@ -65,14 +63,24 @@ public abstract class AbstractSortedBagD } //----------------------------------------------------------------------- + + /** + * {@inheritDoc} + */ public E first() { return decorated().first(); } + /** + * {@inheritDoc} + */ public E last() { return decorated().last(); } + /** + * {@inheritDoc} + */ public Comparator<? super E> comparator() { return decorated().comparator(); } Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/HashBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/HashBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/HashBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/HashBag.java Mon Jun 25 20:34:32 2012 @@ -26,20 +26,17 @@ import java.util.HashMap; import org.apache.commons.collections.Bag; /** - * Implements <code>Bag</code>, using a <code>HashMap</code> to provide the + * Implements {@link Bag}, using a {@link HashMap} to provide the * data storage. This is the standard implementation of a bag. * <p> - * A <code>Bag</code> stores each object in the collection together with a + * A {@link Bag} stores each object in the collection together with a * count of occurrences. Extra methods on the interface allow multiple copies * of an object to be added or removed at once. It is important to read the * interface javadoc carefully as several methods violate the - * <code>Collection</code> interface specification. + * {@link Collection} interface specification. * * @since Commons Collections 3.0 (previously in main package v2.0) - * @version $Revision$ - * - * @author Chuck Burdick - * @author Stephen Colebourne + * @version $Id$ */ public class HashBag<E> extends AbstractMapBag<E> implements Bag<E>, Serializable { @@ -48,7 +45,7 @@ public class HashBag<E> private static final long serialVersionUID = -6561115435802554013L; /** - * Constructs an empty <code>HashBag</code>. + * Constructs an empty {@link HashBag}. */ public HashBag() { super(new HashMap<E, MutableInteger>()); Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedBag.java Mon Jun 25 20:34:32 2012 @@ -23,12 +23,12 @@ import org.apache.commons.collections.Pr import org.apache.commons.collections.collection.PredicatedCollection; /** - * Decorates another <code>Bag</code> to validate that additions + * Decorates another {@link Bag} to validate that additions * match a specified predicate. * <p> * This bag exists to provide validation for the decorated bag. * It is normally created to decorate an empty bag. - * If an object cannot be added to the bag, an IllegalArgumentException is thrown. + * If an object cannot be added to the bag, an {@link IllegalArgumentException} is thrown. * <p> * One usage would be to ensure that no null entries are added to the bag. * <pre>Bag bag = PredicatedBag.decorate(new HashBag(), NotNullPredicate.INSTANCE);</pre> @@ -36,10 +36,7 @@ import org.apache.commons.collections.co * This class is Serializable from Commons Collections 3.1. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne - * @author Paul Jack + * @version $Id$ */ public class PredicatedBag<E> extends PredicatedCollection<E> implements Bag<E> { Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedSortedBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedSortedBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedSortedBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/PredicatedSortedBag.java Mon Jun 25 20:34:32 2012 @@ -22,12 +22,12 @@ import org.apache.commons.collections.Pr import org.apache.commons.collections.SortedBag; /** - * Decorates another <code>SortedBag</code> to validate that additions + * Decorates another {@link SortedBag} to validate that additions * match a specified predicate. * <p> * This bag exists to provide validation for the decorated bag. * It is normally created to decorate an empty bag. - * If an object cannot be added to the bag, an IllegalArgumentException is thrown. + * If an object cannot be added to the bag, an {@link IllegalArgumentException} is thrown. * <p> * One usage would be to ensure that no null entries are added to the bag. * <pre>SortedBag bag = PredicatedSortedBag.decorate(new TreeBag(), NotNullPredicate.INSTANCE);</pre> @@ -35,10 +35,7 @@ import org.apache.commons.collections.So * This class is Serializable from Commons Collections 3.1. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne - * @author Paul Jack + * @version $Id$ */ public class PredicatedSortedBag<E> extends PredicatedBag<E> implements SortedBag<E> { Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedBag.java Mon Jun 25 20:34:32 2012 @@ -23,7 +23,7 @@ import org.apache.commons.collections.co import org.apache.commons.collections.set.SynchronizedSet; /** - * Decorates another <code>Bag</code> to synchronize its behaviour + * Decorates another {@link Bag} to synchronize its behaviour * for a multi-threaded environment. * <p> * Methods are synchronized, then forwarded to the decorated bag. @@ -32,9 +32,7 @@ import org.apache.commons.collections.se * This class is Serializable from Commons Collections 3.1. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne + * @version $Id$ */ public class SynchronizedBag<E> extends SynchronizedCollection<E> implements Bag<E> { Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedSortedBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedSortedBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedSortedBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/SynchronizedSortedBag.java Mon Jun 25 20:34:32 2012 @@ -22,7 +22,7 @@ import org.apache.commons.collections.Ba import org.apache.commons.collections.SortedBag; /** - * Decorates another <code>SortedBag</code> to synchronize its behaviour + * Decorates another {@link SortedBag} to synchronize its behaviour * for a multi-threaded environment. * <p> * Methods are synchronized, then forwarded to the decorated bag. @@ -31,9 +31,7 @@ import org.apache.commons.collections.So * This class is Serializable from Commons Collections 3.1. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne + * @version $Id$ */ public class SynchronizedSortedBag<E> extends SynchronizedBag<E> implements SortedBag<E> { Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedBag.java Mon Jun 25 20:34:32 2012 @@ -24,7 +24,7 @@ import org.apache.commons.collections.co import org.apache.commons.collections.set.TransformedSet; /** - * Decorates another <code>Bag</code> to transform objects that are added. + * Decorates another {@link Bag} to transform objects that are added. * <p> * The add methods are affected by this class. * Thus objects must be removed or searched for using their transformed form. @@ -34,9 +34,7 @@ import org.apache.commons.collections.se * This class is Serializable from Commons Collections 3.1. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne + * @version $Id$ */ public class TransformedBag<E> extends TransformedCollection<E> implements Bag<E> { Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedSortedBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedSortedBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedSortedBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TransformedSortedBag.java Mon Jun 25 20:34:32 2012 @@ -22,7 +22,7 @@ import org.apache.commons.collections.So import org.apache.commons.collections.Transformer; /** - * Decorates another <code>SortedBag</code> to transform objects that are added. + * Decorates another {@link SortedBag} to transform objects that are added. * <p> * The add methods are affected by this class. * Thus objects must be removed or searched for using their transformed form. @@ -32,9 +32,7 @@ import org.apache.commons.collections.Tr * This class is Serializable from Commons Collections 3.1. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne + * @version $Id$ */ public class TransformedSortedBag<E> extends TransformedBag<E> implements SortedBag<E> { Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TreeBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TreeBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TreeBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/TreeBag.java Mon Jun 25 20:34:32 2012 @@ -28,23 +28,20 @@ import java.util.TreeMap; import org.apache.commons.collections.SortedBag; /** - * Implements <code>SortedBag</code>, using a <code>TreeMap</code> to provide + * Implements {@link SortedBag}, using a {@link TreeMap} to provide * the data storage. This is the standard implementation of a sorted bag. * <p> * Order will be maintained among the bag members and can be viewed through the * iterator. * <p> - * A <code>Bag</code> stores each object in the collection together with a count + * A {@link Bag} stores each object in the collection together with a count * of occurrences. Extra methods on the interface allow multiple copies of an * object to be added or removed at once. It is important to read the interface - * javadoc carefully as several methods violate the <code>Collection</code> + * javadoc carefully as several methods violate the {@link Collection} * interface specification. * * @since Commons Collections 3.0 (previously in main package v2.0) - * @version $Revision$ - * - * @author Chuck Burdick - * @author Stephen Colebourne + * @version $Id$ */ public class TreeBag<E> extends AbstractMapBag<E> implements SortedBag<E>, Serializable { @@ -52,7 +49,7 @@ public class TreeBag<E> extends Abstract private static final long serialVersionUID = -7740146511091606676L; /** - * Constructs an empty <code>TreeBag</code>. + * Constructs an empty {@link TreeBag}. */ public TreeBag() { super(new TreeMap<E, MutableInteger>()); @@ -69,7 +66,7 @@ public class TreeBag<E> extends Abstract } /** - * Constructs a <code>TreeBag</code> containing all the members of the + * Constructs a {@link TreeBag} containing all the members of the * specified collection. * * @param coll the collection to copy into the bag @@ -91,14 +88,24 @@ public class TreeBag<E> extends Abstract } //----------------------------------------------------------------------- + + /** + * {@inheritDoc} + */ public E first() { return getMap().firstKey(); } + /** + * {@inheritDoc} + */ public E last() { return getMap().lastKey(); } + /** + * {@inheritDoc} + */ public Comparator<? super E> comparator() { return getMap().comparator(); } @@ -107,9 +114,8 @@ public class TreeBag<E> extends Abstract * {@inheritDoc} */ @Override - protected SortedMap<E, org.apache.commons.collections.bag.AbstractMapBag.MutableInteger> getMap() { - return (SortedMap<E, org.apache.commons.collections.bag.AbstractMapBag.MutableInteger>) super - .getMap(); + protected SortedMap<E, AbstractMapBag.MutableInteger> getMap() { + return (SortedMap<E, AbstractMapBag.MutableInteger>) super.getMap(); } //----------------------------------------------------------------------- Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableBag.java Mon Jun 25 20:34:32 2012 @@ -30,16 +30,14 @@ import org.apache.commons.collections.it import org.apache.commons.collections.set.UnmodifiableSet; /** - * Decorates another <code>Bag</code> to ensure it can't be altered. + * Decorates another {@link Bag} to ensure it can't be altered. * <p> * This class is Serializable from Commons Collections 3.1. * <p> * Attempts to modify it will result in an UnsupportedOperationException. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne + * @version $Id$ */ public final class UnmodifiableBag<E> extends AbstractBagDecorator<E> implements Unmodifiable, Serializable { Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java?rev=1353731&r1=1353730&r2=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java Mon Jun 25 20:34:32 2012 @@ -30,16 +30,14 @@ import org.apache.commons.collections.it import org.apache.commons.collections.set.UnmodifiableSet; /** - * Decorates another <code>SortedBag</code> to ensure it can't be altered. + * Decorates another {@link SortedBag} to ensure it can't be altered. * <p> * This class is Serializable from Commons Collections 3.1. * <p> * Attempts to modify it will result in an UnsupportedOperationException. * * @since Commons Collections 3.0 - * @version $Revision$ - * - * @author Stephen Colebourne + * @version $Id$ */ public final class UnmodifiableSortedBag<E> extends AbstractSortedBagDecorator<E> implements Unmodifiable, Serializable { Copied: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package-info.java (from r1353227, commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package.html) URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package-info.java?p2=commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package-info.java&p1=commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package.html&r1=1353227&r2=1353731&rev=1353731&view=diff ============================================================================== --- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package.html (original) +++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/bag/package-info.java Mon Jun 25 20:34:32 2012 @@ -1,40 +1,39 @@ -<!-- $Id$ --> - <!-- - 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. - --> -<BODY> -<p> -This package contains implementations of the -{@link org.apache.commons.collections.Bag Bag} and -{@link org.apache.commons.collections.SortedBag SortedBag} interfaces. -A bag stores an object and a count of the number of occurences of the object. -<p> -The following implementations are provided in the package: -<ul> -<li>HashBag - implementation that uses a HashMap to store the data -<li>TreeBag - implementation that uses a TreeMap to store the data -</ul> -<p> -The following decorators are provided in the package: -<ul> -<li>Synchronized - synchronizes method access for multi-threaded environments -<li>Unmodifiable - ensures the bag cannot be altered -<li>Predicated - ensures that only elements that are valid according to a predicate can be added -<li>Typed - ensures that only elements that are of a specific type can be added -<li>Transformed - transforms each element added to the bag -</ul> -</pre> -</BODY> +/* + * 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. + */ +/** + * This package contains implementations of the {@link org.apache.commons.collections.Bag Bag} and + * {@link org.apache.commons.collections.SortedBag SortedBag} interfaces. + * A bag stores an object and a count of the number of occurrences of the object. + * <p> + * The following implementations are provided in the package: + * <ul> + * <li>HashBag - implementation that uses a HashMap to store the data + * <li>TreeBag - implementation that uses a TreeMap to store the data + * </ul> + * <p> + * The following decorators are provided in the package: + * <ul> + * <li>Synchronized - synchronizes method access for multi-threaded environments + * <li>Unmodifiable - ensures the bag cannot be altered + * <li>Predicated - ensures that only elements that are valid according to a predicate can be added + * <li>Typed - ensures that only elements that are of a specific type can be added + * <li>Transformed - transforms each element added to the bag + * </ul> + * + * @version $Id$ + */ +package org.apache.commons.collections.bag;