Author: bayard Date: Tue Sep 15 05:54:08 2009 New Revision: 815018 URL: http://svn.apache.org/viewvc?rev=815018&view=rev Log: Merging from -r468106:814127 of collections_jdk5_branch - namely where this code was generified; mostly in r738956.
Also see the following revisions: ------------------------------------------------------------------------ r555925 | skestle | 2007-07-13 03:39:24 -0700 (Fri, 13 Jul 2007) | 2 lines Added Edwin Tellman's patch for COLLECTIONS-243. It all seems pretty reasonable, and it should all be checked again as the project is worked through ------------------------------------------------------------------------ r471201 | scolebourne | 2006-11-04 06:17:26 -0800 (Sat, 04 Nov 2006) | 1 line Remove getBag() - use covariant decorated() ------------------------------------------------------------------------ Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java?rev=815018&r1=815017&r2=815018&view=diff ============================================================================== --- commons/proper/collections/trunk/src/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java (original) +++ commons/proper/collections/trunk/src/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java Tue Sep 15 05:54:08 2009 @@ -41,8 +41,8 @@ * * @author Stephen Colebourne */ -public final class UnmodifiableSortedBag - extends AbstractSortedBagDecorator implements Unmodifiable, Serializable { +public final class UnmodifiableSortedBag<E> + extends AbstractSortedBagDecorator<E> implements Unmodifiable, Serializable { /** Serialization version */ private static final long serialVersionUID = -3190437252665717841L; @@ -56,11 +56,11 @@ * @return an unmodifiable SortedBag * @throws IllegalArgumentException if bag is null */ - public static SortedBag decorate(SortedBag bag) { + public static <E> SortedBag<E> decorate(SortedBag<E> bag) { if (bag instanceof Unmodifiable) { return bag; } - return new UnmodifiableSortedBag(bag); + return new UnmodifiableSortedBag<E>(bag); } //----------------------------------------------------------------------- @@ -70,7 +70,7 @@ * @param bag the bag to decorate, must not be null * @throws IllegalArgumentException if bag is null */ - private UnmodifiableSortedBag(SortedBag bag) { + private UnmodifiableSortedBag(SortedBag<E> bag) { super(bag); } @@ -93,21 +93,22 @@ * @throws IOException * @throws ClassNotFoundException */ + @SuppressWarnings("unchecked") private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); - collection = (Collection) in.readObject(); + collection = (Collection<E>) in.readObject(); } //----------------------------------------------------------------------- - public Iterator iterator() { - return UnmodifiableIterator.decorate(getCollection().iterator()); + public Iterator<E> iterator() { + return UnmodifiableIterator.decorate(decorated().iterator()); } - public boolean add(Object object) { + public boolean add(E object) { throw new UnsupportedOperationException(); } - public boolean addAll(Collection coll) { + public boolean addAll(Collection<? extends E> coll) { throw new UnsupportedOperationException(); } @@ -119,16 +120,16 @@ throw new UnsupportedOperationException(); } - public boolean removeAll(Collection coll) { + public boolean removeAll(Collection<?> coll) { throw new UnsupportedOperationException(); } - public boolean retainAll(Collection coll) { + public boolean retainAll(Collection<?> coll) { throw new UnsupportedOperationException(); } //----------------------------------------------------------------------- - public boolean add(Object object, int count) { + public boolean add(E object, int count) { throw new UnsupportedOperationException(); } @@ -136,8 +137,8 @@ throw new UnsupportedOperationException(); } - public Set uniqueSet() { - Set set = getBag().uniqueSet(); + public Set<E> uniqueSet() { + Set<E> set = decorated().uniqueSet(); return UnmodifiableSet.decorate(set); }