james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norman Maurer <nor...@apache.org>
Subject Re: [mailet-api] Fix MailAddress equals? [WAS Re: Mailet API documentation]
Date Sat, 08 Aug 2009 17:50:44 GMT
Well, I think we should alter it. I never understood why james support
case sensitive email addresses at all..

Bye,
Norma

2009/8/8 Robert Burrell Donkin <robertburrelldonkin@gmail.com>:
> On Thu, Aug 6, 2009 at 6:19 PM, A. Rothman<amichai2@amichais.net> wrote:
>>>
>>>>>> 4. MailAddress.equals breaks the equals contract and the
>>>>>> equals/hashcode
>>>>>> relationship - I added a doc explicitly stating this to avoid future
>>>>>> bugs,
>>>>>> but it would be much better to fix it (without breaking james, of
>>>>>> course)...
>>>>>>
>>>>>>
>>>>>
>>>>> do you have an example of the breakage?
>>>>>
>>>>>
>>>>
>>>> From the javadoc I added:
>>>>
>>>>   * Note that this implementation breaks the general contract of the
>>>>   * equals method as well as its relationship with the hashcode method,
>>>>   * since it can return true when compared to a String instance
>>>>   * (braking the symmetry property, and allowing equal objects to have
>>>>   * different hash codes).
>>>>
>>>> in other words, it can return true when compared to a String, but a
>>>> String
>>>> will always return false when compared to a non-String, and this breaks
>>>> the
>>>> contract in two different ways.
>>>>
>>>
>>> i agree about the symmetry but IIRC when i analysed the hash code it
>>> was ok(ish). given that the whole idea breaks a basic contract in
>>> java, this is probably just splitting hairs. i strongly dislike this
>>> design and would prefer a separate method to allow strings to be
>>> explicitly checked.
>>>
>>> in general, MailAddress has issues, and should have been modelled as
>>> an interface
>>
>> I still think hashCode is also broken -  a MailAddress("me@here") will be
>> equal to the String "ME@HERE" but they will have different hash codes.
>
> agreed
>
> i'm in favour of altering the equals behaviour on MailAddress but have
> no idea about the possible impact
>
> opinions?
>
> - robert
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message