[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: AW: [riena-dev] Binding of Ridgets: Ridget-Setters obsolete?
|
.... How long you expect to keep deprecated APIs in the HEAD? Is there some
plan for Riena / us handle deprecated for Riena releases?
Alexander
Am 16.06.08 13:48 schrieb "Christian Campo" unter
<christian.campo@xxxxxxxxxxxx>:
> I think its important that applications can get a quick notice if they
> are using the wrong BindingManager.
>
> If you just replace the new InjectAllAtOnceBindingManager into a
> scenario where you used to use the
> DefaultBindingManager it will probably compile and start to run. The
> thing you notice is that all the controller
> code that manipulates the ridgets cant work because the setter of the
> ridgets is never called. However what
> I dislike about this approach is that you dont get a deprecation
> warning and no compile error.
>
> So I had a short face to face with Carsten and we decided to remote
> DefaultBindingManager, Rename InjectAllAtOnceBindingManager to
> DefaultBindingManager and create an empty deprecated subclass under
> its old name
>
> and furthermore we extend the IRidgetContainer to implement
> configureRidgets. (Basically the original suggestion of Carsten)
>
> What will happen is that clients that used the old
> DefaultBindingManager will not compile (wasnt clear too me at the
> beginning)
> until they implement configureRidgets and in that process change many
> other things.
>
> christian
> Am 16.06.2008 um 13:39 schrieb Alexander Ziegler:
>
>> ... Do we need deprecating this API? The API and component is still
>> in developing and and no final releases exists in the past.
>>
>> Alexander
>>
>>
>>
>> Am 16.06.08 10:37 schrieb "Carsten Drossel" unter
>> <Carsten.Drossel@xxxxxxxxxxxx>:
>>
>>> Existing code should be no problem when it comes to the
>>> DefaultBindingManager,
>>> because it is created as a default by the framework. The
>>> InjectAllAtOnceBindingManager can be created by a View to override
>>> the default
>>> so this class should be kept as deprecated. Why not keep the
>>> InjectAllAtOnceBindingManager as it is? I think it is somewhat
>>> inaccurately
>>> named: it does not inject all ridgets at once but rather calls
>>> addRidget(..)
>>> repeatedly.
>>>
>>> Carsten
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: riena-dev-bounces@xxxxxxxxxxx [mailto:riena-dev-bounces@xxxxxxxxxxx
>>> ] Im
>>> Auftrag von Christian Campo
>>> Gesendet: Montag, 16. Juni 2008 10:26
>>> An: Riena Developers list
>>> Betreff: Re: [riena-dev] Binding of Ridgets: Ridget-Setters obsolete?
>>>
>>> +1 in general....
>>>
>>> however what is the strategy for existing code. Do they get a compile
>>> or runtime error (not so nice) or
>>> can we rather deprecate the DefaultBindingManager (maybe display a
>>> message in the console that you
>>> are using a deprecated thing) and make the
>>> InjectAllAtOnceBindingManager the default. Is it necessary
>>> to call it DefaultBindingManager for that ?
>>>
>>> christian
>>> Am 16.06.2008 um 09:40 schrieb Alexander Ziegler:
>>>
>>>> +1
>>>>
>>>> Alexander
>>>>
>>>>
>>>> Am 13.06.08 16:26 schrieb "Carsten Drossel" unter
>>>> <Carsten.Drossel@xxxxxxxxxxxx>:
>>>>
>>>>> Hi there!
>>>>>
>>>>> When a View is bound to a ViewController for the first time, a
>>>>> Ridget is
>>>>> created for each UI widget and injected into the ViewController.
>>>>> The
>>>>> injection strategy is defined by an implementation of the interface
>>>>> IBindingManager. Currently there are 2 implementations:
>>>>>
>>>>> DefaultBindingManager
>>>>> - calls the method addRidget of the IRidgetContainer
>>>>> (IViewController)
>>>>> for each Ridget
>>>>> - calls a setter (it gets via reflection using the name property of
>>>>> the
>>>>> UI widget) for each Ridget
>>>>>
>>>>> InjectAllAtOnceBindingManager
>>>>> - calls the method addRidget of the IRidgetContainer
>>>>> (IViewController)
>>>>> for each Ridget
>>>>> - after all Ridgets are injected it calls the method
>>>>> configureRidgets()
>>>>> (of the interface IInjectAllRidgetsAtOnce which the
>>>>> IRidgetContainer
>>>>> must implement) to notify that all Ridgets were added
>>>>>
>>>>> The method addRidget was added later and appears to make the
>>>>> invokation
>>>>> of the setters in the DefaultBindingManager obsolete. The setters
>>>>> are a
>>>>> pretty good place for the individual initialization of a Ridget.
>>>>> But
>>>>> their invokation is error-prone since it depends on the matching
>>>>> of a
>>>>> String and a method name which cannot be checked by the compiler.
>>>>>
>>>>> I would suggest to keep only the InjectAllAtOnceBindingManager
>>>>> and to
>>>>> rename it to DefaultBindingManager. The interface
>>>>> IInjectAllRidgetsAtOnce should be removed and its method
>>>>> configureRidgets() moved to IRidgetContainer.
>>>>>
>>>>> Are there any objections? Otherwise I would open a bugzilla
>>>>> entry...
>>>>>
>>>>> Greetings,
>>>>> Carsten
>>>>>
>>>>> _______________________________________________
>>>>> riena-dev mailing list
>>>>> riena-dev@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/riena-dev
>>>>
>>>> _______________________________________________
>>>> riena-dev mailing list
>>>> riena-dev@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/riena-dev
>>>
>>> _______________________________________________
>>> riena-dev mailing list
>>> riena-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/riena-dev
>>> _______________________________________________
>>> riena-dev mailing list
>>> riena-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/riena-dev
>>
>> _______________________________________________
>> riena-dev mailing list
>> riena-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/riena-dev
>
> _______________________________________________
> riena-dev mailing list
> riena-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/riena-dev