You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ba...@apache.org on 2009/09/15 07:54:08 UTC

svn commit: r815018 - /commons/proper/collections/trunk/src/java/org/apache/commons/collections/bag/UnmodifiableSortedBag.java

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);
     }