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]

Reply via email to