Is it possible to break into two and have ThreadContextMap2 extend them
both and maintain binary and API compatibility?

On 17 January 2017 at 11:28, Apache <ralph.go...@dslextreme.com> wrote:

> Yes, at this point it is water under the bridge. Let’s just worry about #3.
>
> Ralph
>
> On Jan 17, 2017, at 9:33 AM, Mikael Ståldal <mikael.stal...@magine.com>
> wrote:
>
> It will be hard to find a suitable name for ThreadContextMap2 since it
> adds two unrelated things. Ideally it should be spitted into two
> interfaces, but I guess that will be hard to do without breaking binary
> compatibility. I suggest we leave it as it is.
>
> On Tue, Jan 17, 2017 at 4:40 PM, Matt Sicker <boa...@gmail.com> wrote:
>
>> Can we rename ThreadContextMap2 to something else, deprecate it, and have
>> it extend the new interface? Or does that break compatibility? Because if
>> we can fix the naming scheme while having "alias" interfaces stay in there
>> (until a theoretical 3.x API), then it'd feel less dirty.
>>
>> Also, Java 8 would have made this a lot easier thanks to default methods.
>>
>> On 17 January 2017 at 03:14, Mikael Ståldal <mikael.stal...@magine.com>
>> wrote:
>>
>>> BTW, shouldn't we have a putAllValues(final Map<String, V> map) in
>>> ObjectThreadContextMap?
>>>
>>> On Tue, Jan 17, 2017 at 10:13 AM, Mikael Ståldal <
>>> mikael.stal...@magine.com> wrote:
>>>
>>>> I think we named it ThreadContextMap3 since there was already an
>>>> ThreadContextMap2 (which is part of 2.7, and we are stuck with it).
>>>>
>>>> I am fine with renaming it to CleanableThreadContextMap (doing it not).
>>>> But I think it should still extend ThreadContextMap2 since it is not really
>>>> independent of it.
>>>>
>>>> On Tue, Jan 17, 2017 at 1:09 AM, Remko Popma <remko.po...@gmail.com>
>>>> wrote:
>>>>
>>>>> Also fine with renaming.
>>>>>
>>>>> Sent from my iPhone
>>>>>
>>>>> On Jan 17, 2017, at 9:07, Remko Popma <remko.po...@gmail.com> wrote:
>>>>>
>>>>> I think it was originally standalone and changed to the current
>>>>> extending interface after feedback on the mailing list.
>>>>>
>>>>> I'm fine with standalone interfaces and having the implementation
>>>>> implement multiple interfaces.
>>>>>
>>>>> Remko
>>>>>
>>>>> Sent from my iPhone
>>>>>
>>>>> On Jan 17, 2017, at 6:25, Matt Sicker <boa...@gmail.com> wrote:
>>>>>
>>>>> I agree on not extending interfaces. Some of the other context map
>>>>> interfaces are standalone, and I don't see why TCM2 had to extend 
>>>>> anything.
>>>>>
>>>>> On 16 January 2017 at 15:16, Apache <ralph.go...@dslextreme.com>
>>>>> wrote:
>>>>>
>>>>>> I presume it was named ThreadContextMap3 so there could be a
>>>>>> ThreadContextMap4 since 3 extends 2 and 2 extends the first one.  
>>>>>> Frankly,
>>>>>> I dislike this practice very, very much.  Instead, each interface should 
>>>>>> be
>>>>>> named as you suggest and NOT extend the prior interface. Instead, the
>>>>>> implementation should declare that it implements each of these.
>>>>>>
>>>>>> Ralph
>>>>>>
>>>>>> On Jan 16, 2017, at 2:02 PM, Matt Sicker <boa...@gmail.com> wrote:
>>>>>>
>>>>>> Can we come up with a better name before we release this and get
>>>>>> stuck with such a terrible interface name? All it adds is a
>>>>>> removeAll(Iterable) method, so perhaps something like
>>>>>> CleanableThreadContextMap or RemovableThreadContextMap.
>>>>>>
>>>>>> --
>>>>>> Matt Sicker <boa...@gmail.com>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Matt Sicker <boa...@gmail.com>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> [image: MagineTV]
>>>>
>>>> *Mikael Ståldal*
>>>> Senior software developer
>>>>
>>>> *Magine TV*
>>>> mikael.stal...@magine.com
>>>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>>>
>>>> Privileged and/or Confidential Information may be contained in this
>>>> message. If you are not the addressee indicated in this message
>>>> (or responsible for delivery of the message to such a person), you may
>>>> not copy or deliver this message to anyone. In such case,
>>>> you should destroy this message and kindly notify the sender by reply
>>>> email.
>>>>
>>>
>>>
>>>
>>> --
>>> [image: MagineTV]
>>>
>>> *Mikael Ståldal*
>>> Senior software developer
>>>
>>> *Magine TV*
>>> mikael.stal...@magine.com
>>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>>
>>> Privileged and/or Confidential Information may be contained in this
>>> message. If you are not the addressee indicated in this message
>>> (or responsible for delivery of the message to such a person), you may
>>> not copy or deliver this message to anyone. In such case,
>>> you should destroy this message and kindly notify the sender by reply
>>> email.
>>>
>>
>>
>>
>> --
>> Matt Sicker <boa...@gmail.com>
>>
>
>
>
> --
> [image: MagineTV]
>
> *Mikael Ståldal*
> Senior software developer
>
> *Magine TV*
> mikael.stal...@magine.com
> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>
> Privileged and/or Confidential Information may be contained in this
> message. If you are not the addressee indicated in this message
> (or responsible for delivery of the message to such a person), you may not
> copy or deliver this message to anyone. In such case,
> you should destroy this message and kindly notify the sender by reply
> email.
>
>
>


-- 
Matt Sicker <boa...@gmail.com>

Reply via email to