[Laszlo-dev] RFC: Proposal for setter API change
André Bargull
andre.bargull at udo.edu
Thu Oct 2 17:02:58 PDT 2008
On 10/2/2008 10:22 PM, André Bargull wrote:
> On 10/2/2008 8:57 PM, P T Withington wrote:
>> On 2008-10-02, at 10:55EDT, André Bargull wrote:
>>
>>>>
>>>> In the default event system, what you get if you don't write a
>>>> custom setter, sends an event every time you call setAttribute.
>>>> It does _not_ make any optimization to not send events if you
>>>> happen to set an attribute to a value it already has.
>>>>
>>> A side note for the interested reader:
>>> It's possible to turn on manually this optimization if you pass as
>>> the third argument to "setAttribute()" ?true?, e.g.
>>> foo.setAttribute("text", "hello world!", true)
>>> (That way the setter is not called when the value did not change.)
>>
>> My head hurts trying to process that logic. Too many negatives.
>>
>> This seems like an incredibly dangerous optimization, because if you
>> have a custom setter, how can the generic code know whether or not
>> the value 'changed'? E.g., suppose the custom setter ensures your
>> value is in a particular range or rounded to a particular granularity?
>>
>> When did setAttribute grow this featureXXXXXXXbug? I don't recall
>> seeing an API review for this.
>
> It's there since 4.0.5
I'm searching for a specific changeset, but take a look what I found:
> r6110 | max | 2007-08-17 05:11:57 -0700 (Fri, 17 Aug 2007) | 24 lines
>
> Change 20070816-maxcarlson-f by maxcarlson at plastik on 2007-08-16
> 20:44:10 PDT
> in /Users/maxcarlson/openlaszlo/wafflecone
> for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone
>
> Summary: UPDATED: Add flag to only setAttribute() if it the value
> passed in changed.
>
> New Features:
>
> Bugs Fixed:
>
> Technical Reviewer: ptw
> QA Reviewer: promanik
> Doc Reviewer: (pending)
>
> Documentation:
>
> Release Notes:
>
> Details: Add a flag that only sets the attribute if its value
> changed. It's a common pattern to only set an attribute when it
> changed. W
> ith inlining of setAttribute it will also make sense for performance.
>
>
> Tests: IWFM
More information about the Laszlo-dev
mailing list