[jdom-interest] Why don't Comment, Element, Text, etc extend common
jdom object?
Jason Hunter
jhunter at servlets.com
Tue May 28 14:01:29 PDT 2002
Personally, I'd like to find a way for detach() to work without throwing
the exception. Any tricks to accomplish that?
We had that behavior before cuz we were returning a proxy object instead
of the true content. Now that we're fully live, we hit this problem.
Perhaps it can be avoided?
-jh-
bob mcwhirter wrote:
>
> I'm not disputing that all. My conflict arises in that we have a
> method called 'detach()', and the documentation for it seems to
> imply it's what you'd use to detach an element. But, there's 1 case
> where you don't use it, but instead use Iterator::remove().
>
> With JDOM's 80/20 rule, it seems like 80% of the folks want to detach
> nodes while iterating, and many of them are coming across this problem.
>
> It's related to the fact that the lists are 'live', which also confuses
> people on a daily basis.
>
> Possibly just a no-op subclass/subinterface of List like ElementList
> could be returned. Extra documentation could describe the 'liveness'
> of the list, and the contract of using Iterator::remvoe() to actually
> remove items from your document.
>
> /** The JDOMList is a <b>live</b> list. To remove things from
> * your document, use {@link Iterator#remove}.
> */
> public interface JDOMList extends List
> {
> // intentionally left blank
> }
>
> class FilterList implements JDOMList
> {
> // normal implementation
> }
>
> Wouldn't break code, as we'd still have the List in the hierarchy,
> but would give us an extra place to make the behavious painfully
> clear.
>
> -bob
>
> On Tue, 28 May 2002, Gordon Tyler wrote:
>
> > ----- Original Message -----
> > From: "Elliotte Rusty Harold" <elharo at metalab.unc.edu>
> >
> >
> > > >Can anyone think of a way for either detach() or Iterator::remove() to be
> > > >legal?
> > >
> > > DOM tree walkers and node iterators have no problem with this use
> > > pattern. However, they don't use the collections API. Off the top of
> > > my head, I can't see how to make this work without ditching the
> > > Collections API and rolling our own; but then I don't really know a
> > > lot about the Collectios API so maybe it's possible.
> >
> > I always thought the whole point of the JDOM API was that it used standard
> > Java APIs like Collections.
>
> _______________________________________________
> To control your jdom-interest membership:
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhost.com
More information about the jdom-interest
mailing list