dgraham 2003/07/02 20:08:44 Modified: src/share/org/apache/struts/util LabelValueBean.java Log: Added equals and hashCode() methods for PR# 20707. Revision Changes Path 1.5 +38 -4 jakarta-struts/src/share/org/apache/struts/util/LabelValueBean.java Index: LabelValueBean.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/LabelValueBean.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- LabelValueBean.java 2 Jul 2003 04:34:24 -0000 1.4 +++ LabelValueBean.java 3 Jul 2003 03:08:44 -0000 1.5 @@ -71,6 +71,7 @@ * * @author Craig R. McClanahan * @author Martin F N Cooper + * @author David Graham * @version $Revision$ $Date$ */ public class LabelValueBean implements Serializable { @@ -144,5 +145,38 @@ return (sb.toString()); } + /** + * LabelValueBeans are equal if their values are both null or equal. + * @see java.lang.Object#equals(java.lang.Object) + */ + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + + if (!(obj instanceof LabelValueBean)) { + return false; + } + + LabelValueBean bean = (LabelValueBean) obj; + int nil = (this.getValue() == null) ? 1 : 0; + nil += (bean.getValue() == null) ? 1 : 0; + + if (nil == 2) { + return true; + } else if (nil == 1) { + return false; + } else { + return this.getValue().equals(bean.getValue()); + } + + } + /** + * The hash code is based on the object's value. + * @see java.lang.Object#hashCode() + */ + public int hashCode() { + return (getValue() == null) ? super.hashCode() : getValue().hashCode(); + } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]