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]