At 7:01 AM +0000 9/23/02, Arjun Ray wrote:
>The node-at-a-time approach in DOM and its variants, I think, has a lot to
>do with doctrinaire notions of correct Java style. You have to do it that
>way when mutators are "supposed" to have void return signatures. You get
>much more mileage if you set things up for method chaining, because method
>invocation itself involves the largest contribution of explicit syntactic
>clutter - dots, parens, commas, maybe quotes, whatnot - which ultimately
>gets in the way of what you want to do, describing a tree economically.
>
Interestingly, this is is one the philosophic differences between XOM
and JDOM. JDOM allows method chaining. XOM does not. To some extent,
this design choice has been heavily influenced by my work with
JavaBeans, where a method that doesn't return void isn't recognized
as a setter method. I'm not sure if that has any true relevance here,
but it's definitely influenced me as to what feels right and what
doesn't.
The other problem I have with the method chaining approach is that it
too often leaves you without references to the objects you need. I
don't find it actually hold together too well in practice.
And my third problem is that I just think it looks too damn ugly! I
can't read it. I can't follow it, even with good indenting.
--
+-----------------------+------------------------+-------------------+
| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
+-----------------------+------------------------+-------------------+
| XML in a Nutshell, 2nd Edition (O'Reilly, 2002) |
| http://www.cafeconleche.org/books/xian2/ |
| http://www.amazon.com/exec/obidos/ISBN%3D0596002920/cafeaulaitA/ |
+----------------------------------+---------------------------------+
| Read Cafe au Lait for Java News: http://www.cafeaulait.org/ |
| Read Cafe con Leche for XML News: http://www.cafeconleche.org/ |
+----------------------------------+---------------------------------+