Author: bayard
Date: Wed May 20 04:30:05 2009
New Revision: 776542

URL: http://svn.apache.org/viewvc?rev=776542&view=rev
Log:
Refactoring putAll to _putAll so the constructor can call the copying in code 
without running through a subclass' implementation of putAll. Reported in 
COLLECTIONS-317

Modified:
    
commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/AbstractHashedMap.java

Modified: 
commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/AbstractHashedMap.java
URL: 
http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/AbstractHashedMap.java?rev=776542&r1=776541&r2=776542&view=diff
==============================================================================
--- 
commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/AbstractHashedMap.java
 (original)
+++ 
commons/proper/collections/trunk/src/java/org/apache/commons/collections/map/AbstractHashedMap.java
 Wed May 20 04:30:05 2009
@@ -161,7 +161,7 @@
      */
     protected AbstractHashedMap(Map map) {
         this(Math.max(2 * map.size(), DEFAULT_CAPACITY), DEFAULT_LOAD_FACTOR);
-        putAll(map);
+        _putAll(map);
     }
 
     /**
@@ -295,6 +295,22 @@
      * @throws NullPointerException if the map is null
      */
     public void putAll(Map map) {
+        _putAll(map);
+    }
+
+    /**
+     * Puts all the values from the specified map into this map.
+     * <p>
+     * This implementation iterates around the specified map and
+     * uses {...@link #put(Object, Object)}.
+     * <p>
+     * It is private to allow the constructor to still call it 
+     * even when putAll is overriden. 
+     * 
+     * @param map  the map to add
+     * @throws NullPointerException if the map is null
+     */
+    private void _putAll(Map map) {
         int mapSize = map.size();
         if (mapSize == 0) {
             return;


Reply via email to