[Laszlo-dev] For Review: Change 20070806-maxcarlson-x Summary: Remove setter for LzNode.data
P T Withington
ptw at openlaszlo.org
Mon Aug 6 19:55:37 PDT 2007
On 2007-08-06, at 21:36 EDT, Max Carlson wrote:
> From my email on Friday:
> > Per the call this afternoon (and as signed off by David) we will
> add a
> > new method to LzNode called setData().
> >
> > LzNode.setData(dataelement) is called by the replicator immediately
> > after the .data property is set and ondata is sent, but before
> > applyData() is called on the node being replicated. By default,
> > setData() creates a new datapath for the replicated view (if one
> doesn't
> > already exist) and it always sets the view datapath to the new
> > dataelement passed in.
> >
> > This approach allows replicated views to use $path expressions and
> > support datapath bindings out of the box. setData() can still be
> > overridden on an instance or subclass of node to do something more
> > efficient (like read the data directly and set attributes).
>
> I didn't expect a setter to be added. I thought we'd just add the
> setData() method to LzNode and follow the contract above. The
> change I made to replicator now does this.
Surely you can understand my confusion. Elsewhere in the system,
when we define setFoo and foo, it is standard for setters.foo to be
'setFoo'. In fact, I now find it utterly confusing that we have a
setData method that is not the setter for the data attribute.
> After looking closer at what LzDatapath does now, maybe setData()
> should be emulating the behavior of LzDatapath.__LZApplyData(). Do
> you think some or all of LzDatapath.__LZApplyData() should be
> hoisted up to LzNode (instead of applyData)?
I'm not sure I follow. __LZApplyData is how a datapath applies its
data to the node that encloses it. What would it mean for one node
to apply its data to its parent node? When would this happen?
[...]
More information about the Laszlo-dev
mailing list