Author: bayard
Date: Sat Oct 24 00:04:07 2009
New Revision: 829285

URL: http://svn.apache.org/viewvc?rev=829285&view=rev
Log:
Changing the hashCode() method to return toHashCode() per the request in 
LANG-520

Modified:
    
commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java
    
commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java

Modified: 
commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java?rev=829285&r1=829284&r2=829285&view=diff
==============================================================================
--- 
commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java
 (original)
+++ 
commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java
 Sat Oct 24 00:04:07 2009
@@ -969,4 +969,16 @@
         return iTotal;
     }
 
+    /**
+     * <p>
+     * The computed <code>hashCode</code> from toHashCode() is returned due to 
the likelyhood 
+     * of bugs in mis-calling toHashCode() and the unlikelyness of it 
mattering what the hashCode for 
+     * HashCodeBuilder itself is.
+     * 
+     * @return <code>hashCode</code> based on the fields appended
+     */
+    public int hashCode() {
+        return toHashCode();
+    }
+
 }

Modified: 
commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java?rev=829285&r1=829284&r2=829285&view=diff
==============================================================================
--- 
commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java
 (original)
+++ 
commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java
 Sat Oct 24 00:04:07 2009
@@ -547,4 +547,13 @@
         b.hashCode();
     }
 
+    /**
+     * Ensures LANG-520 remains true
+     */
+    public void testToHashCodeEqualsHashCode() {
+        HashCodeBuilder hcb = new HashCodeBuilder(17, 37).append(new 
Object()).append('a');
+        assertEquals("hashCode() is no longer returning the same value as 
toHashCode() - see LANG-520", 
+                     hcb.toHashCode(), hcb.hashCode());
+    }
+
 }


Reply via email to