You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tn...@apache.org on 2013/10/20 23:12:52 UTC
svn commit: r1533984 - in /commons/proper/collections/trunk/src: changes/
main/java/org/apache/commons/collections4/
main/java/org/apache/commons/collections4/bag/
main/java/org/apache/commons/collections4/bidimap/
main/java/org/apache/commons/collecti...
Author: tn
Date: Sun Oct 20 21:12:51 2013
New Revision: 1533984
URL: http://svn.apache.org/r1533984
Log:
[COLLECTIONS-485] Added wildcards to copy-constructors and unmodifiable decorators / iterators, thanks to Hollis Waite.
Modified:
commons/proper/collections/trunk/src/changes/changes.xml
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/BagUtils.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/EnumerationUtils.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/ListUtils.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/MapUtils.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/QueueUtils.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/SetUtils.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/TrieUtils.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bag/UnmodifiableBag.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualHashBidiMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualLinkedHashBidiMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/TreeBidiMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableBidiMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableBoundedCollection.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableCollection.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ComparatorChain.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/NullComparator.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ReverseComparator.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/PermutationIterator.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableIterator.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableListIterator.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableMapIterator.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableOrderedMapIterator.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultKeyValue.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultMapEntry.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/UnmodifiableMapEntry.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/CursorableLinkedList.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/NodeCachingLinkedList.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/TreeList.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/UnmodifiableList.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractHashedMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/CaseInsensitiveMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/HashedMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LRUMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LinkedMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/SingletonMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableOrderedMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableSortedMap.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/CircularFifoQueue.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/UnmodifiableQueue.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/set/UnmodifiableSet.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/trie/UnmodifiableTrie.java
Modified: commons/proper/collections/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/changes/changes.xml?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/changes/changes.xml (original)
+++ commons/proper/collections/trunk/src/changes/changes.xml Sun Oct 20 21:12:51 2013
@@ -22,6 +22,10 @@
<body>
<release version="4.0" date="TBA" description="Next release">
+ <action issue="COLLECTIONS-485" dev="tn" type="fix" due-to="Hollis Waite">
+ Accept wildcard input where possible, e.g. in copy-constructors, Unmodifiable* decorators
+ and iterators.
+ </action>
<action issue="COLLECTIONS-481" dev="tn" type="fix" due-to="Hollis Waite">
No collision detection/resolution was performed when calling "CompositeSet#addComposited(...)"
with more than one Set as argument. Additionally use varargs parameters instead of arrays
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/BagUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/BagUtils.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/BagUtils.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/BagUtils.java Sun Oct 20 21:12:51 2013
@@ -92,7 +92,7 @@ public class BagUtils {
* @return an unmodifiable view of that bag
* @throws IllegalArgumentException if the Bag is null
*/
- public static <E> Bag<E> unmodifiableBag(final Bag<E> bag) {
+ public static <E> Bag<E> unmodifiableBag(final Bag<? extends E> bag) {
return UnmodifiableBag.unmodifiableBag(bag);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/CollectionUtils.java Sun Oct 20 21:12:51 2013
@@ -1701,7 +1701,7 @@ public class CollectionUtils {
* @return an unmodifiable collection backed by the given collection
* @throws IllegalArgumentException if the collection is null
*/
- public static <C> Collection<C> unmodifiableCollection(final Collection<C> collection) {
+ public static <C> Collection<C> unmodifiableCollection(final Collection<? extends C> collection) {
return UnmodifiableCollection.unmodifiableCollection(collection);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/EnumerationUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/EnumerationUtils.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/EnumerationUtils.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/EnumerationUtils.java Sun Oct 20 21:12:51 2013
@@ -47,7 +47,7 @@ public class EnumerationUtils {
* @return a list containing all elements of the given enumeration
* @throws NullPointerException if the enumeration parameter is <code>null</code>.
*/
- public static <E> List<E> toList(final Enumeration<E> enumeration) {
+ public static <E> List<E> toList(final Enumeration<? extends E> enumeration) {
return IteratorUtils.toList(new EnumerationIterator<E>(enumeration));
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/ListUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/ListUtils.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/ListUtils.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/ListUtils.java Sun Oct 20 21:12:51 2013
@@ -398,7 +398,7 @@ public class ListUtils {
* @return an unmodifiable list backed by the given list
* @throws IllegalArgumentException if the list is null
*/
- public static <E> List<E> unmodifiableList(final List<E> list) {
+ public static <E> List<E> unmodifiableList(final List<? extends E> list) {
return UnmodifiableList.unmodifiableList(list);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/MapUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/MapUtils.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/MapUtils.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/MapUtils.java Sun Oct 20 21:12:51 2013
@@ -1258,7 +1258,7 @@ public class MapUtils {
* @return an unmodifiable map backed by the given map
* @throws IllegalArgumentException if the map is null
*/
- public static <K, V> Map<K, V> unmodifiableMap(final Map<K, V> map) {
+ public static <K, V> Map<K, V> unmodifiableMap(final Map<? extends K, ? extends V> map) {
return UnmodifiableMap.unmodifiableMap(map);
}
@@ -1517,7 +1517,7 @@ public class MapUtils {
* @return an unmodifiable map backed by the given map
* @throws IllegalArgumentException if the map is null
*/
- public static <K, V> SortedMap<K, V> unmodifiableSortedMap(final SortedMap<K, V> map) {
+ public static <K, V> SortedMap<K, V> unmodifiableSortedMap(final SortedMap<K, ? extends V> map) {
return UnmodifiableSortedMap.unmodifiableSortedMap(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/QueueUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/QueueUtils.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/QueueUtils.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/QueueUtils.java Sun Oct 20 21:12:51 2013
@@ -51,7 +51,7 @@ public class QueueUtils {
* @return an unmodifiable queue backed by that queue
* @throws IllegalArgumentException if the Queue is null
*/
- public static <E> Queue<E> unmodifiableQueue(final Queue<E> queue) {
+ public static <E> Queue<E> unmodifiableQueue(final Queue<? extends E> queue) {
return UnmodifiableQueue.unmodifiableQueue(queue);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/SetUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/SetUtils.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/SetUtils.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/SetUtils.java Sun Oct 20 21:12:51 2013
@@ -188,7 +188,7 @@ public class SetUtils {
* @return an unmodifiable set backed by the given set
* @throws IllegalArgumentException if the set is null
*/
- public static <E> Set<E> unmodifiableSet(final Set<E> set) {
+ public static <E> Set<E> unmodifiableSet(final Set<? extends E> set) {
return UnmodifiableSet.unmodifiableSet(set);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/TrieUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/TrieUtils.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/TrieUtils.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/TrieUtils.java Sun Oct 20 21:12:51 2013
@@ -41,7 +41,7 @@ public class TrieUtils {
*
* @see java.util.Collections#unmodifiableMap(java.util.Map)
*/
- public static <K, V> Trie<K, V> unmodifiableTrie(final Trie<K, V> trie) {
+ public static <K, V> Trie<K, V> unmodifiableTrie(final Trie<K, ? extends V> trie) {
return UnmodifiableTrie.unmodifiableTrie(trie);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bag/UnmodifiableBag.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bag/UnmodifiableBag.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bag/UnmodifiableBag.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bag/UnmodifiableBag.java Sun Oct 20 21:12:51 2013
@@ -56,9 +56,11 @@ public final class UnmodifiableBag<E>
* @throws IllegalArgumentException if bag is null
* @since 4.0
*/
- public static <E> Bag<E> unmodifiableBag(final Bag<E> bag) {
+ public static <E> Bag<E> unmodifiableBag(final Bag<? extends E> bag) {
if (bag instanceof Unmodifiable) {
- return bag;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final Bag<E> tmpBag = (Bag<E>) bag;
+ return tmpBag;
}
return new UnmodifiableBag<E>(bag);
}
@@ -70,8 +72,9 @@ public final class UnmodifiableBag<E>
* @param bag the bag to decorate, must not be null
* @throws IllegalArgumentException if bag is null
*/
- private UnmodifiableBag(final Bag<E> bag) {
- super(bag);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableBag(final Bag<? extends E> bag) {
+ super((Bag<E>) bag);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualHashBidiMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualHashBidiMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualHashBidiMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualHashBidiMap.java Sun Oct 20 21:12:51 2013
@@ -57,7 +57,7 @@ public class DualHashBidiMap<K, V> exten
*
* @param map the map whose mappings are to be placed in this map
*/
- public DualHashBidiMap(final Map<K, V> map) {
+ public DualHashBidiMap(final Map<? extends K, ? extends V> map) {
super(new HashMap<K, V>(), new HashMap<V, K>());
putAll(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualLinkedHashBidiMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualLinkedHashBidiMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualLinkedHashBidiMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualLinkedHashBidiMap.java Sun Oct 20 21:12:51 2013
@@ -16,8 +16,6 @@
*/
package org.apache.commons.collections4.bidimap;
-import org.apache.commons.collections4.BidiMap;
-
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
@@ -25,6 +23,8 @@ import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Map;
+import org.apache.commons.collections4.BidiMap;
+
/**
* Implementation of <code>BidiMap</code> that uses two <code>LinkedHashMap</code> instances.
* <p>
@@ -52,7 +52,7 @@ public class DualLinkedHashBidiMap<K, V>
*
* @param map the map whose mappings are to be placed in this map
*/
- public DualLinkedHashBidiMap(final Map<K, V> map) {
+ public DualLinkedHashBidiMap(final Map<? extends K, ? extends V> map) {
super(new LinkedHashMap<K, V>(), new LinkedHashMap<V, K>());
putAll(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap.java Sun Oct 20 21:12:51 2013
@@ -79,7 +79,7 @@ public class DualTreeBidiMap<K, V> exten
*
* @param map the map whose mappings are to be placed in this map
*/
- public DualTreeBidiMap(final Map<K, V> map) {
+ public DualTreeBidiMap(final Map<? extends K, ? extends V> map) {
super(new TreeMap<K, V>(), new TreeMap<V, K>());
putAll(map);
this.comparator = null;
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/TreeBidiMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/TreeBidiMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/TreeBidiMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/TreeBidiMap.java Sun Oct 20 21:12:51 2013
@@ -126,7 +126,7 @@ public class TreeBidiMap<K extends Compa
* not Comparable or are not mutually comparable
* @throws NullPointerException if any key or value in the map is null
*/
- public TreeBidiMap(final Map<K, V> map) {
+ public TreeBidiMap(final Map<? extends K, ? extends V> map) {
this();
putAll(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableBidiMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableBidiMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableBidiMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableBidiMap.java Sun Oct 20 21:12:51 2013
@@ -52,9 +52,11 @@ public final class UnmodifiableBidiMap<K
* @throws IllegalArgumentException if map is null
* @since 4.0
*/
- public static <K, V> BidiMap<K, V> unmodifiableBidiMap(final BidiMap<K, V> map) {
+ public static <K, V> BidiMap<K, V> unmodifiableBidiMap(final BidiMap<? extends K, ? extends V> map) {
if (map instanceof Unmodifiable) {
- return map;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final BidiMap<K, V> tmpMap = (BidiMap<K, V>) map;
+ return tmpMap;
}
return new UnmodifiableBidiMap<K, V>(map);
}
@@ -66,8 +68,9 @@ public final class UnmodifiableBidiMap<K
* @param map the map to decorate, must not be null
* @throws IllegalArgumentException if map is null
*/
- private UnmodifiableBidiMap(final BidiMap<K, V> map) {
- super(map);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableBidiMap(final BidiMap<? extends K, ? extends V> map) {
+ super((BidiMap<K, V>) map);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMap.java Sun Oct 20 21:12:51 2013
@@ -52,9 +52,12 @@ public final class UnmodifiableOrderedBi
* @throws IllegalArgumentException if map is null
* @since 4.0
*/
- public static <K, V> OrderedBidiMap<K, V> unmodifiableOrderedBidiMap(final OrderedBidiMap<K, V> map) {
+ public static <K, V> OrderedBidiMap<K, V> unmodifiableOrderedBidiMap(
+ final OrderedBidiMap<? extends K, ? extends V> map) {
if (map instanceof Unmodifiable) {
- return map;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final OrderedBidiMap<K, V> tmpMap = (OrderedBidiMap<K, V>) map;
+ return tmpMap;
}
return new UnmodifiableOrderedBidiMap<K, V>(map);
}
@@ -66,8 +69,9 @@ public final class UnmodifiableOrderedBi
* @param map the map to decorate, must not be null
* @throws IllegalArgumentException if map is null
*/
- private UnmodifiableOrderedBidiMap(final OrderedBidiMap<K, V> map) {
- super(map);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableOrderedBidiMap(final OrderedBidiMap<? extends K, ? extends V> map) {
+ super((OrderedBidiMap<K, V>) map);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMap.java Sun Oct 20 21:12:51 2013
@@ -54,9 +54,11 @@ public final class UnmodifiableSortedBid
* @throws IllegalArgumentException if map is null
* @since 4.0
*/
- public static <K, V> SortedBidiMap<K, V> unmodifiableSortedBidiMap(final SortedBidiMap<K, V> map) {
+ public static <K, V> SortedBidiMap<K, V> unmodifiableSortedBidiMap(final SortedBidiMap<K, ? extends V> map) {
if (map instanceof Unmodifiable) {
- return map;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final SortedBidiMap<K, V> tmpMap = (SortedBidiMap<K, V>) map;
+ return tmpMap;
}
return new UnmodifiableSortedBidiMap<K, V>(map);
}
@@ -68,8 +70,9 @@ public final class UnmodifiableSortedBid
* @param map the map to decorate, must not be null
* @throws IllegalArgumentException if map is null
*/
- private UnmodifiableSortedBidiMap(final SortedBidiMap<K, V> map) {
- super(map);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableSortedBidiMap(final SortedBidiMap<K, ? extends V> map) {
+ super((SortedBidiMap<K, V>) map);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableBoundedCollection.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableBoundedCollection.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableBoundedCollection.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableBoundedCollection.java Sun Oct 20 21:12:51 2013
@@ -54,7 +54,7 @@ public final class UnmodifiableBoundedCo
* @throws IllegalArgumentException if {@code coll} is {@code null}
* @since 4.0
*/
- public static <E> BoundedCollection<E> unmodifiableBoundedCollection(final BoundedCollection<E> coll) {
+ public static <E> BoundedCollection<E> unmodifiableBoundedCollection(final BoundedCollection<? extends E> coll) {
return new UnmodifiableBoundedCollection<E>(coll);
}
@@ -100,8 +100,9 @@ public final class UnmodifiableBoundedCo
* @param coll the collection to decorate, must not be null
* @throws IllegalArgumentException if coll is null
*/
- private UnmodifiableBoundedCollection(final BoundedCollection<E> coll) {
- super(coll);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableBoundedCollection(final BoundedCollection<? extends E> coll) {
+ super((BoundedCollection<E>) coll);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableCollection.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableCollection.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableCollection.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/collection/UnmodifiableCollection.java Sun Oct 20 21:12:51 2013
@@ -51,9 +51,11 @@ public final class UnmodifiableCollectio
* @throws IllegalArgumentException if collection is null
* @since 4.0
*/
- public static <T> Collection<T> unmodifiableCollection(final Collection<T> coll) {
+ public static <T> Collection<T> unmodifiableCollection(final Collection<? extends T> coll) {
if (coll instanceof Unmodifiable) {
- return coll;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final Collection<T> tmpColl = (Collection<T>) coll;
+ return tmpColl;
}
return new UnmodifiableCollection<T>(coll);
}
@@ -65,8 +67,9 @@ public final class UnmodifiableCollectio
* @param coll the collection to decorate, must not be null
* @throws IllegalArgumentException if collection is null
*/
- private UnmodifiableCollection(final Collection<E> coll) {
- super(coll);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableCollection(final Collection<? extends E> coll) {
+ super((Collection<E>) coll);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ComparatorChain.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ComparatorChain.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ComparatorChain.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ComparatorChain.java Sun Oct 20 21:12:51 2013
@@ -273,7 +273,7 @@ public class ComparatorChain<E> implemen
final Iterator<Comparator<E>> comparators = comparatorChain.iterator();
for (int comparatorIndex = 0; comparators.hasNext(); ++comparatorIndex) {
- final Comparator<E> comparator = comparators.next();
+ final Comparator<? super E> comparator = comparators.next();
int retval = comparator.compare(o1,o2);
if (retval != 0) {
// invert the order if it is a reverse sort
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/NullComparator.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/NullComparator.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/NullComparator.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/NullComparator.java Sun Oct 20 21:12:51 2013
@@ -36,7 +36,7 @@ public class NullComparator<E> implement
/**
* The comparator to use when comparing two non-<code>null</code> objects.
**/
- private final Comparator<E> nonNullComparator;
+ private final Comparator<? super E> nonNullComparator;
/**
* Specifies whether a <code>null</code> are compared as higher than
@@ -69,7 +69,7 @@ public class NullComparator<E> implement
* @exception NullPointerException if <code>nonNullComparator</code> is
* <code>null</code>
**/
- public NullComparator(final Comparator<E> nonNullComparator) {
+ public NullComparator(final Comparator<? super E> nonNullComparator) {
this(nonNullComparator, true);
}
@@ -109,7 +109,7 @@ public class NullComparator<E> implement
* @exception NullPointerException if <code>nonNullComparator</code> is
* <code>null</code>
**/
- public NullComparator(final Comparator<E> nonNullComparator, final boolean nullsAreHigh) {
+ public NullComparator(final Comparator<? super E> nonNullComparator, final boolean nullsAreHigh) {
this.nonNullComparator = nonNullComparator;
this.nullsAreHigh = nullsAreHigh;
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ReverseComparator.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ReverseComparator.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ReverseComparator.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/comparators/ReverseComparator.java Sun Oct 20 21:12:51 2013
@@ -60,7 +60,7 @@ public class ReverseComparator<E> implem
* @param comparator Comparator to reverse
*/
@SuppressWarnings("unchecked")
- public ReverseComparator(final Comparator<E> comparator) {
+ public ReverseComparator(final Comparator<? super E> comparator) {
this.comparator = comparator == null ? ComparatorUtils.NATURAL_COMPARATOR : comparator;
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/PermutationIterator.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/PermutationIterator.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/PermutationIterator.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/PermutationIterator.java Sun Oct 20 21:12:51 2013
@@ -73,7 +73,7 @@ public class PermutationIterator<E> impl
* @param coll the collection to generate permutations for
* @throws NullPointerException if coll is null
*/
- public PermutationIterator(final Collection<E> coll) {
+ public PermutationIterator(final Collection<? extends E> coll) {
if (coll == null) {
throw new NullPointerException("The collection must not be null");
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableIterator.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableIterator.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableIterator.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableIterator.java Sun Oct 20 21:12:51 2013
@@ -31,7 +31,7 @@ import org.apache.commons.collections4.U
public final class UnmodifiableIterator<E> implements Iterator<E>, Unmodifiable {
/** The iterator being decorated */
- private final Iterator<E> iterator;
+ private final Iterator<? extends E> iterator;
//-----------------------------------------------------------------------
/**
@@ -44,12 +44,14 @@ public final class UnmodifiableIterator<
* @return a new unmodifiable iterator
* @throws IllegalArgumentException if the iterator is null
*/
- public static <E> Iterator<E> unmodifiableIterator(final Iterator<E> iterator) {
+ public static <E> Iterator<E> unmodifiableIterator(final Iterator<? extends E> iterator) {
if (iterator == null) {
throw new IllegalArgumentException("Iterator must not be null");
}
if (iterator instanceof Unmodifiable) {
- return iterator;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final Iterator<E> tmpIterator = (Iterator<E>) iterator;
+ return tmpIterator;
}
return new UnmodifiableIterator<E>(iterator);
}
@@ -60,7 +62,7 @@ public final class UnmodifiableIterator<
*
* @param iterator the iterator to decorate
*/
- private UnmodifiableIterator(final Iterator<E> iterator) {
+ private UnmodifiableIterator(final Iterator<? extends E> iterator) {
super();
this.iterator = iterator;
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableListIterator.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableListIterator.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableListIterator.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableListIterator.java Sun Oct 20 21:12:51 2013
@@ -31,7 +31,7 @@ import org.apache.commons.collections4.U
public final class UnmodifiableListIterator<E> implements ListIterator<E>, Unmodifiable {
/** The iterator being decorated */
- private final ListIterator<E> iterator;
+ private final ListIterator<? extends E> iterator;
//-----------------------------------------------------------------------
/**
@@ -42,12 +42,14 @@ public final class UnmodifiableListItera
* @return a new unmodifiable list iterator
* @throws IllegalArgumentException if the iterator is null
*/
- public static <E> ListIterator<E> umodifiableListIterator(final ListIterator<E> iterator) {
+ public static <E> ListIterator<E> umodifiableListIterator(final ListIterator<? extends E> iterator) {
if (iterator == null) {
throw new IllegalArgumentException("ListIterator must not be null");
}
if (iterator instanceof Unmodifiable) {
- return iterator;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final ListIterator<E> tmpIterator = (ListIterator<E>) iterator;
+ return tmpIterator;
}
return new UnmodifiableListIterator<E>(iterator);
}
@@ -58,7 +60,7 @@ public final class UnmodifiableListItera
*
* @param iterator the iterator to decorate
*/
- private UnmodifiableListIterator(final ListIterator<E> iterator) {
+ private UnmodifiableListIterator(final ListIterator<? extends E> iterator) {
super();
this.iterator = iterator;
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableMapIterator.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableMapIterator.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableMapIterator.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableMapIterator.java Sun Oct 20 21:12:51 2013
@@ -30,7 +30,7 @@ import org.apache.commons.collections4.U
public final class UnmodifiableMapIterator<K, V> implements MapIterator<K, V>, Unmodifiable {
/** The iterator being decorated */
- private final MapIterator<K, V> iterator;
+ private final MapIterator<? extends K, ? extends V> iterator;
//-----------------------------------------------------------------------
/**
@@ -42,12 +42,15 @@ public final class UnmodifiableMapIterat
* @return a new unmodifiable map iterator
* @throws IllegalArgumentException if the iterator is null
*/
- public static <K, V> MapIterator<K, V> unmodifiableMapIterator(final MapIterator<K, V> iterator) {
+ public static <K, V> MapIterator<K, V> unmodifiableMapIterator(
+ final MapIterator<? extends K, ? extends V> iterator) {
if (iterator == null) {
throw new IllegalArgumentException("MapIterator must not be null");
}
if (iterator instanceof Unmodifiable) {
- return iterator;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final MapIterator<K, V> tmpIterator = (MapIterator<K, V>) iterator;
+ return tmpIterator;
}
return new UnmodifiableMapIterator<K, V>(iterator);
}
@@ -58,7 +61,7 @@ public final class UnmodifiableMapIterat
*
* @param iterator the iterator to decorate
*/
- private UnmodifiableMapIterator(final MapIterator<K, V> iterator) {
+ private UnmodifiableMapIterator(final MapIterator<? extends K, ? extends V> iterator) {
super();
this.iterator = iterator;
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableOrderedMapIterator.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableOrderedMapIterator.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableOrderedMapIterator.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/iterators/UnmodifiableOrderedMapIterator.java Sun Oct 20 21:12:51 2013
@@ -31,7 +31,7 @@ public final class UnmodifiableOrderedMa
Unmodifiable {
/** The iterator being decorated */
- private final OrderedMapIterator<K, V> iterator;
+ private final OrderedMapIterator<? extends K, ? extends V> iterator;
//-----------------------------------------------------------------------
/**
@@ -44,13 +44,15 @@ public final class UnmodifiableOrderedMa
* @throws IllegalArgumentException if the iterator is null
*/
public static <K, V> OrderedMapIterator<K, V> unmodifiableOrderedMapIterator(
- final OrderedMapIterator<K, V> iterator) {
+ final OrderedMapIterator<K, ? extends V> iterator) {
if (iterator == null) {
throw new IllegalArgumentException("OrderedMapIterator must not be null");
}
if (iterator instanceof Unmodifiable) {
- return iterator;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final OrderedMapIterator<K, V> tmpIterator = (OrderedMapIterator<K, V>) iterator;
+ return tmpIterator;
}
return new UnmodifiableOrderedMapIterator<K, V>(iterator);
}
@@ -61,7 +63,7 @@ public final class UnmodifiableOrderedMa
*
* @param iterator the iterator to decorate
*/
- private UnmodifiableOrderedMapIterator(final OrderedMapIterator<K, V> iterator) {
+ private UnmodifiableOrderedMapIterator(final OrderedMapIterator<K, ? extends V> iterator) {
super();
this.iterator = iterator;
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultKeyValue.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultKeyValue.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultKeyValue.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultKeyValue.java Sun Oct 20 21:12:51 2013
@@ -55,7 +55,7 @@ public class DefaultKeyValue<K, V> exten
* @param pair the pair to copy, must not be null
* @throws NullPointerException if the entry is null
*/
- public DefaultKeyValue(final KeyValue<K, V> pair) {
+ public DefaultKeyValue(final KeyValue<? extends K, ? extends V> pair) {
super(pair.getKey(), pair.getValue());
}
@@ -65,7 +65,7 @@ public class DefaultKeyValue<K, V> exten
* @param entry the entry to copy, must not be null
* @throws NullPointerException if the entry is null
*/
- public DefaultKeyValue(final Map.Entry<K, V> entry) {
+ public DefaultKeyValue(final Map.Entry<? extends K, ? extends V> entry) {
super(entry.getKey(), entry.getValue());
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultMapEntry.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultMapEntry.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultMapEntry.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/DefaultMapEntry.java Sun Oct 20 21:12:51 2013
@@ -45,7 +45,7 @@ public final class DefaultMapEntry<K, V>
* @param pair the pair to copy, must not be null
* @throws NullPointerException if the entry is null
*/
- public DefaultMapEntry(final KeyValue<K, V> pair) {
+ public DefaultMapEntry(final KeyValue<? extends K, ? extends V> pair) {
super(pair.getKey(), pair.getValue());
}
@@ -55,7 +55,7 @@ public final class DefaultMapEntry<K, V>
* @param entry the entry to copy, must not be null
* @throws NullPointerException if the entry is null
*/
- public DefaultMapEntry(final Map.Entry<K, V> entry) {
+ public DefaultMapEntry(final Map.Entry<? extends K, ? extends V> entry) {
super(entry.getKey(), entry.getValue());
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/UnmodifiableMapEntry.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/UnmodifiableMapEntry.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/UnmodifiableMapEntry.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/keyvalue/UnmodifiableMapEntry.java Sun Oct 20 21:12:51 2013
@@ -46,7 +46,7 @@ public final class UnmodifiableMapEntry<
* @param pair the pair to copy, must not be null
* @throws NullPointerException if the entry is null
*/
- public UnmodifiableMapEntry(final KeyValue<K, V> pair) {
+ public UnmodifiableMapEntry(final KeyValue<? extends K, ? extends V> pair) {
super(pair.getKey(), pair.getValue());
}
@@ -56,7 +56,7 @@ public final class UnmodifiableMapEntry<
* @param entry the entry to copy, must not be null
* @throws NullPointerException if the entry is null
*/
- public UnmodifiableMapEntry(final Map.Entry<K, V> entry) {
+ public UnmodifiableMapEntry(final Map.Entry<? extends K, ? extends V> entry) {
super(entry.getKey(), entry.getValue());
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/CursorableLinkedList.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/CursorableLinkedList.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/CursorableLinkedList.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/CursorableLinkedList.java Sun Oct 20 21:12:51 2013
@@ -77,7 +77,7 @@ public class CursorableLinkedList<E> ext
*
* @param coll the collection to copy
*/
- public CursorableLinkedList(final Collection<E> coll) {
+ public CursorableLinkedList(final Collection<? extends E> coll) {
super(coll);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/NodeCachingLinkedList.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/NodeCachingLinkedList.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/NodeCachingLinkedList.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/NodeCachingLinkedList.java Sun Oct 20 21:12:51 2013
@@ -79,7 +79,7 @@ public class NodeCachingLinkedList<E> ex
*
* @param coll the collection to copy
*/
- public NodeCachingLinkedList(final Collection<E> coll) {
+ public NodeCachingLinkedList(final Collection<? extends E> coll) {
super(coll);
this.maximumCacheSize = DEFAULT_MAXIMUM_CACHE_SIZE;
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/TreeList.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/TreeList.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/TreeList.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/TreeList.java Sun Oct 20 21:12:51 2013
@@ -81,7 +81,7 @@ public class TreeList<E> extends Abstrac
* @param coll the collection to copy
* @throws NullPointerException if the collection is null
*/
- public TreeList(final Collection<E> coll) {
+ public TreeList(final Collection<? extends E> coll) {
super();
if (!coll.isEmpty()) {
root = new AVLNode<E>(coll);
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/UnmodifiableList.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/UnmodifiableList.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/UnmodifiableList.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/list/UnmodifiableList.java Sun Oct 20 21:12:51 2013
@@ -51,9 +51,11 @@ public final class UnmodifiableList<E>
* @throws IllegalArgumentException if list is null
* @since 4.0
*/
- public static <E> List<E> unmodifiableList(final List<E> list) {
+ public static <E> List<E> unmodifiableList(final List<? extends E> list) {
if (list instanceof Unmodifiable) {
- return list;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final List<E> tmpList = (List<E>) list;
+ return tmpList;
}
return new UnmodifiableList<E>(list);
}
@@ -64,10 +66,10 @@ public final class UnmodifiableList<E>
*
* @param list the list to decorate, must not be null
* @throws IllegalArgumentException if list is null
- * @since Commons Collection 5
*/
- public UnmodifiableList(final List<E> list) {
- super(list);
+ @SuppressWarnings("unchecked") // safe to upcast
+ public UnmodifiableList(final List<? extends E> list) {
+ super((List<E>) list);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractHashedMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractHashedMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractHashedMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractHashedMap.java Sun Oct 20 21:12:51 2013
@@ -157,7 +157,7 @@ public class AbstractHashedMap<K, V> ext
* @param map the map to copy
* @throws NullPointerException if the map is null
*/
- protected AbstractHashedMap(final Map<K, V> map) {
+ protected AbstractHashedMap(final Map<? extends K, ? extends V> map) {
this(Math.max(2 * map.size(), DEFAULT_CAPACITY), DEFAULT_LOAD_FACTOR);
_putAll(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java Sun Oct 20 21:12:51 2013
@@ -111,7 +111,7 @@ public abstract class AbstractLinkedMap<
* @param map the map to copy
* @throws NullPointerException if the map is null
*/
- protected AbstractLinkedMap(final Map<K, V> map) {
+ protected AbstractLinkedMap(final Map<? extends K, ? extends V> map) {
super(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/CaseInsensitiveMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/CaseInsensitiveMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/CaseInsensitiveMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/CaseInsensitiveMap.java Sun Oct 20 21:12:51 2013
@@ -105,7 +105,7 @@ public class CaseInsensitiveMap<K, V> ex
* @param map the map to copy
* @throws NullPointerException if the map is null
*/
- public CaseInsensitiveMap(final Map<K, V> map) {
+ public CaseInsensitiveMap(final Map<? extends K, ? extends V> map) {
super(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/HashedMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/HashedMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/HashedMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/HashedMap.java Sun Oct 20 21:12:51 2013
@@ -81,7 +81,7 @@ public class HashedMap<K, V>
* @param map the map to copy
* @throws NullPointerException if the map is null
*/
- public HashedMap(final Map<K, V> map) {
+ public HashedMap(final Map<? extends K, ? extends V> map) {
super(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LRUMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LRUMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LRUMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LRUMap.java Sun Oct 20 21:12:51 2013
@@ -141,7 +141,7 @@ public class LRUMap<K, V>
* @throws NullPointerException if the map is null
* @throws IllegalArgumentException if the map is empty
*/
- public LRUMap(final Map<K, V> map) {
+ public LRUMap(final Map<? extends K, ? extends V> map) {
this(map, false);
}
@@ -156,7 +156,7 @@ public class LRUMap<K, V>
* @throws IllegalArgumentException if the map is empty
* @since 3.1
*/
- public LRUMap(final Map<K, V> map, final boolean scanUntilRemovable) {
+ public LRUMap(final Map<? extends K, ? extends V> map, final boolean scanUntilRemovable) {
this(map.size(), DEFAULT_LOAD_FACTOR, scanUntilRemovable);
putAll(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LinkedMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LinkedMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LinkedMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/LinkedMap.java Sun Oct 20 21:12:51 2013
@@ -101,7 +101,7 @@ public class LinkedMap<K, V> extends Abs
* @param map the map to copy
* @throws NullPointerException if the map is null
*/
- public LinkedMap(final Map<K, V> map) {
+ public LinkedMap(final Map<? extends K, ? extends V> map) {
super(map);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/SingletonMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/SingletonMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/SingletonMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/SingletonMap.java Sun Oct 20 21:12:51 2013
@@ -103,7 +103,7 @@ public class SingletonMap<K, V>
*
* @param mapEntry the mapEntry to use
*/
- public SingletonMap(final Map.Entry<K, V> mapEntry) {
+ public SingletonMap(final Map.Entry<? extends K, ? extends V> mapEntry) {
super();
this.key = mapEntry.getKey();
this.value = mapEntry.getValue();
@@ -116,12 +116,12 @@ public class SingletonMap<K, V>
* @throws NullPointerException if the map is null
* @throws IllegalArgumentException if the size is not 1
*/
- public SingletonMap(final Map<K, V> map) {
+ public SingletonMap(final Map<? extends K, ? extends V> map) {
super();
if (map.size() != 1) {
throw new IllegalArgumentException("The map size must be 1");
}
- final Map.Entry<K, V> entry = map.entrySet().iterator().next();
+ final Map.Entry<? extends K, ? extends V> entry = map.entrySet().iterator().next();
this.key = entry.getKey();
this.value = entry.getValue();
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableMap.java Sun Oct 20 21:12:51 2013
@@ -59,9 +59,11 @@ public final class UnmodifiableMap<K, V>
* @throws IllegalArgumentException if map is null
* @since 4.0
*/
- public static <K, V> Map<K, V> unmodifiableMap(final Map<K, V> map) {
+ public static <K, V> Map<K, V> unmodifiableMap(final Map<? extends K, ? extends V> map) {
if (map instanceof Unmodifiable) {
- return map;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final Map<K, V> tmpMap = (Map<K, V>) map;
+ return tmpMap;
}
return new UnmodifiableMap<K, V>(map);
}
@@ -73,8 +75,9 @@ public final class UnmodifiableMap<K, V>
* @param map the map to decorate, must not be null
* @throws IllegalArgumentException if map is null
*/
- private UnmodifiableMap(final Map<K, V> map) {
- super(map);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableMap(final Map<? extends K, ? extends V> map) {
+ super((Map<K, V>) map);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableOrderedMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableOrderedMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableOrderedMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableOrderedMap.java Sun Oct 20 21:12:51 2013
@@ -57,9 +57,11 @@ public final class UnmodifiableOrderedMa
* @throws IllegalArgumentException if map is null
* @since 4.0
*/
- public static <K, V> OrderedMap<K, V> unmodifiableOrderedMap(final OrderedMap<K, V> map) {
+ public static <K, V> OrderedMap<K, V> unmodifiableOrderedMap(final OrderedMap<? extends K, ? extends V> map) {
if (map instanceof Unmodifiable) {
- return map;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final OrderedMap<K, V> tmpMap = (OrderedMap<K, V>) map;
+ return tmpMap;
}
return new UnmodifiableOrderedMap<K, V>(map);
}
@@ -71,8 +73,9 @@ public final class UnmodifiableOrderedMa
* @param map the map to decorate, must not be null
* @throws IllegalArgumentException if map is null
*/
- private UnmodifiableOrderedMap(final OrderedMap<K, V> map) {
- super(map);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableOrderedMap(final OrderedMap<? extends K, ? extends V> map) {
+ super((OrderedMap<K, V>) map);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableSortedMap.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableSortedMap.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableSortedMap.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/map/UnmodifiableSortedMap.java Sun Oct 20 21:12:51 2013
@@ -57,9 +57,11 @@ public final class UnmodifiableSortedMap
* @throws IllegalArgumentException if map is null
* @since 4.0
*/
- public static <K, V> SortedMap<K, V> unmodifiableSortedMap(final SortedMap<K, V> map) {
+ public static <K, V> SortedMap<K, V> unmodifiableSortedMap(final SortedMap<K, ? extends V> map) {
if (map instanceof Unmodifiable) {
- return map;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final SortedMap<K, V> tmpMap = (SortedMap<K, V>) map;
+ return tmpMap;
}
return new UnmodifiableSortedMap<K, V>(map);
}
@@ -71,8 +73,9 @@ public final class UnmodifiableSortedMap
* @param map the map to decorate, must not be null
* @throws IllegalArgumentException if map is null
*/
- private UnmodifiableSortedMap(final SortedMap<K, V> map) {
- super(map);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableSortedMap(final SortedMap<K, ? extends V> map) {
+ super((SortedMap<K, V>) map);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/CircularFifoQueue.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/CircularFifoQueue.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/CircularFifoQueue.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/CircularFifoQueue.java Sun Oct 20 21:12:51 2013
@@ -102,7 +102,7 @@ public class CircularFifoQueue<E> extend
* @param coll the collection to copy into the queue, may not be null
* @throws NullPointerException if the collection is null
*/
- public CircularFifoQueue(final Collection<E> coll) {
+ public CircularFifoQueue(final Collection<? extends E> coll) {
this(coll.size());
addAll(coll);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/UnmodifiableQueue.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/UnmodifiableQueue.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/UnmodifiableQueue.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/queue/UnmodifiableQueue.java Sun Oct 20 21:12:51 2013
@@ -52,9 +52,11 @@ public final class UnmodifiableQueue<E>
* @return an unmodifiable Queue
* @throws IllegalArgumentException if queue is null
*/
- public static <E> Queue<E> unmodifiableQueue(final Queue<E> queue) {
+ public static <E> Queue<E> unmodifiableQueue(final Queue<? extends E> queue) {
if (queue instanceof Unmodifiable) {
- return queue;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final Queue<E> tmpQueue = (Queue<E>) queue;
+ return tmpQueue;
}
return new UnmodifiableQueue<E>(queue);
}
@@ -66,8 +68,9 @@ public final class UnmodifiableQueue<E>
* @param queue the queue to decorate, must not be null
* @throws IllegalArgumentException if queue is null
*/
- private UnmodifiableQueue(final Queue<E> queue) {
- super(queue);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableQueue(final Queue<? extends E> queue) {
+ super((Queue<E>) queue);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/set/UnmodifiableSet.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/set/UnmodifiableSet.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/set/UnmodifiableSet.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/set/UnmodifiableSet.java Sun Oct 20 21:12:51 2013
@@ -49,9 +49,11 @@ public final class UnmodifiableSet<E>
* @throws IllegalArgumentException if set is null
* @since 4.0
*/
- public static <E> Set<E> unmodifiableSet(final Set<E> set) {
+ public static <E> Set<E> unmodifiableSet(final Set<? extends E> set) {
if (set instanceof Unmodifiable) {
- return set;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final Set<E> tmpSet = (Set<E>) set;
+ return tmpSet;
}
return new UnmodifiableSet<E>(set);
}
@@ -63,14 +65,15 @@ public final class UnmodifiableSet<E>
* @param set the set to decorate, must not be null
* @throws IllegalArgumentException if set is null
*/
- private UnmodifiableSet(final Set<E> set) {
- super(set);
+ @SuppressWarnings("unchecked") // safe to upcast
+ private UnmodifiableSet(final Set<? extends E> set) {
+ super((Set<E>) set);
}
//-----------------------------------------------------------------------
@Override
public Iterator<E> iterator() {
- return UnmodifiableIterator.<E>unmodifiableIterator(decorated().iterator());
+ return UnmodifiableIterator.unmodifiableIterator(decorated().iterator());
}
@Override
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/trie/UnmodifiableTrie.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/trie/UnmodifiableTrie.java?rev=1533984&r1=1533983&r2=1533984&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/trie/UnmodifiableTrie.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections4/trie/UnmodifiableTrie.java Sun Oct 20 21:12:51 2013
@@ -51,7 +51,7 @@ public class UnmodifiableTrie<K, V> impl
* @return a new unmodifiable trie
* @throws IllegalArgumentException if trie is null
*/
- public static <K, V> UnmodifiableTrie<K, V> unmodifiableTrie(final Trie<K, V> trie) {
+ public static <K, V> UnmodifiableTrie<K, V> unmodifiableTrie(final Trie<K, ? extends V> trie) {
return new UnmodifiableTrie<K, V>(trie);
}
@@ -62,11 +62,13 @@ public class UnmodifiableTrie<K, V> impl
* @param trie the trie to decorate, must not be null
* @throws IllegalArgumentException if trie is null
*/
- public UnmodifiableTrie(final Trie<K, V> trie) {
+ public UnmodifiableTrie(final Trie<K, ? extends V> trie) {
if (trie == null) {
throw new IllegalArgumentException("Trie must not be null");
}
- this.delegate = trie;
+ @SuppressWarnings("unchecked") // safe to upcast
+ final Trie<K, V> tmpTrie = (Trie<K, V>) trie;
+ this.delegate = tmpTrie;
}
//-----------------------------------------------------------------------