ggregory 2004/08/25 22:46:45 Modified: lang/src/java/org/apache/commons/lang/builder EqualsBuilder.java lang/src/test/org/apache/commons/lang/builder EqualsBuilderTest.java Log: Bugzilla Bug 30855 [lang] Additional constructor for EqualsBuilder and isEquals member access. Addressing: "Finally, can they change the member "isEquals" from private to protected? At present, I cannot subclass EqualsBuilder and use this member." I've added: protected void setEquals(boolean isEquals) which in conjunction with: public boolean isEquals() allows one to access the isEquals. Revision Changes Path 1.26 +35 -26 jakarta-commons/lang/src/java/org/apache/commons/lang/builder/EqualsBuilder.java Index: EqualsBuilder.java =================================================================== RCS file: /home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/builder/EqualsBuilder.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- EqualsBuilder.java 25 Aug 2004 21:20:13 -0000 1.25 +++ EqualsBuilder.java 26 Aug 2004 05:46:45 -0000 1.26 @@ -77,10 +77,12 @@ * @version $Id$ */ public class EqualsBuilder { + /** * If the fields tested are equals. + * The default value is <code>true</code>. */ - private boolean isEquals; + private boolean isEquals = true; /** * <p>Constructor for EqualsBuilder.</p> @@ -89,8 +91,7 @@ * @see Object#equals(Object) */ public EqualsBuilder() { - super(); - isEquals = true; + // do nothing for now. } //------------------------------------------------------------------------- @@ -283,7 +284,7 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } Class lhsClass = lhs.getClass(); @@ -292,7 +293,7 @@ isEquals = lhs.equals(rhs); } else if (lhs.getClass() != rhs.getClass()) { // Here when we compare different dimensions, for example: a boolean[][] to a boolean[] - isEquals = false; + this.setEquals(false); } // 'Switch' on type of array, to dispatch to the correct handler // This handles multi dimensional arrays of the same depth @@ -471,11 +472,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -502,11 +503,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -533,11 +534,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -564,11 +565,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -595,11 +596,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -626,11 +627,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -657,11 +658,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -688,11 +689,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -719,11 +720,11 @@ return this; } if (lhs == null || rhs == null) { - isEquals = false; + this.setEquals(false); return this; } if (lhs.length != rhs.length) { - isEquals = false; + this.setEquals(false); return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { @@ -733,13 +734,21 @@ } /** - * <p>Return <code>true</code> if the fields that have been checked + * <p>Returns <code>true</code> if the fields that have been checked * are all equal.</p> * * @return boolean */ public boolean isEquals() { - return isEquals; + return this.isEquals; } + /** + * Sets the <code>isEquals</code> value. + * + * @param isEquals The value to set. + */ + protected void setEquals(boolean isEquals) { + this.isEquals = isEquals; + } } 1.11 +10 -1 jakarta-commons/lang/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java Index: EqualsBuilderTest.java =================================================================== RCS file: /home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- EqualsBuilderTest.java 25 Aug 2004 21:20:15 -0000 1.10 +++ EqualsBuilderTest.java 26 Aug 2004 05:46:45 -0000 1.11 @@ -373,6 +373,15 @@ assertTrue(new EqualsBuilder().append(Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY).isEquals()); } + public void testAccessors() { + EqualsBuilder equalsBuilder = new EqualsBuilder(); + assertTrue(equalsBuilder.isEquals()); + equalsBuilder.setEquals(true); + assertTrue(equalsBuilder.isEquals()); + equalsBuilder.setEquals(false); + assertFalse(equalsBuilder.isEquals()); + } + public void testBoolean() { boolean o1 = true; boolean o2 = false;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]