rdonkin     2004/06/03 14:36:39

  Modified:    
beanutils/optional/bean-collections/src/java/org/apache/commons/beanutils
                        BeanComparator.java
  Log:
  Added equals and hashcode. Fixes bug #27381. Patch submitted by Brian Westrich.
  
  Revision  Changes    Path
  1.2       +32 -0     
jakarta-commons/beanutils/optional/bean-collections/src/java/org/apache/commons/beanutils/BeanComparator.java
  
  Index: BeanComparator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/beanutils/optional/bean-collections/src/java/org/apache/commons/beanutils/BeanComparator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BeanComparator.java       10 May 2004 19:57:58 -0000      1.1
  +++ BeanComparator.java       3 Jun 2004 21:36:39 -0000       1.2
  @@ -155,5 +155,37 @@
               throw new ClassCastException( e.toString() );
           }
       }
  +    
  +    /**
  +     * Two <code>BeanComparator</code>'s are equals if and only if
  +     * the wrapped comparators and the property names to be compared
  +     * are equal.
  +     */
  +    public boolean equals(Object o) {
  +        if (this == o) return true;
  +        if (!(o instanceof BeanComparator)) return false;
   
  +        final BeanComparator beanComparator = (BeanComparator) o;
  +
  +        if (!comparator.equals(beanComparator.comparator)) return false;
  +        if (property != null)
  +        {
  +            if (!property.equals(beanComparator.property)) return false;
  +        }
  +        else
  +        {
  +            return (beanComparator.property == null);
  +        }
  +
  +        return true;
  +    }
  +
  +    /**
  +     * Hashcode compatible with equals.
  +     */ 
  +    public int hashCode() {
  +        int result;
  +        result = comparator.hashCode();
  +        return result;
  +    }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to