[jdom-interest] non-deterministic behaviour [eg]
Jason Hunter
jhunter at collab.net
Wed Apr 11 14:10:47 PDT 2001
Jools wrote:
>
> > In this specific example, since setMixedContent() does a full content
> > replacement, it'd be just as efficient code-wise to keep the original
> > list data and restore it in event of an illegal add. It seems a worthy
> > thing to do.
>
> In this instance I'd have to agree.
Are you surprised? We almost always agree. :-)
> > Maybe you could even be smart and do a clone() if the existing list is
> > short and do a scan-for-valid-first if the list being added is short.
>
> Sure, nice idea. But how short is short ?
Well, let me avoid the word "short" and say, if you're adding just 1 to
a list of 1000, it's faster to scan. If you're adding 1000 to a list of
1, it's faster to clone. There's some ratio where it's equal, depending
on the relative costs of each action which really depends a lot on JVM
and object type. I suspect scans are pretty fast in the general case
because we check for instanceof Element first, and that's the common
type in a long list.
Again, this only matters for an add(list) call and not a set(list) call.
> > Note that a Node interface wouldn't help here because someone could
> > still create a class Foo implements Node that makes no sense being added
> > to a document.
>
> Not sure I follow.... Other than trying to stop another 'lets use
> interfaces thread' :-)
Yes, just keeping the "Node would solve everything" contingent in
check. :-)
-jh-
More information about the jdom-interest
mailing list