[jdom-interest] Request for new methods removeText(),
replaceText(), & replaceContent().
Jason Hunter
jhunter at collab.net
Wed Mar 21 09:36:01 PST 2001
> For that reason I think something that allows us to remove text from
> an Element is useful. Maybe a removeContent( String ) and
> removeContent( CDATA ) would satisfy your vision of the API.
Yes, those methods seem appropriate. I believe the reason they haven't
been implemented is that you might have:
Element root = new Element("root");
root.addContent("a");
root.addProcessingInstruction(new ProcessingInstruction("pi"));
root.addContent("a");
Now how do you remove the second "a"? A root.removeContent("a") will
remove the first one. CDATA is similar.
> >> public void replaceContent( Element oldElement, Element
> >newElement );
> >
> >This one there may be a use for. List doesn't have a replace() method.
> >Too bad. But you can simulate it easily enough, so I'm not sure it's
> >worth the API bloat.
>
> This is one that I really thought would make it. As you say,
> simulating is easy enough, as I have shown, with my implementation.
> But I just realized that I forgot to update/maintain the
> parentage (lineage?) for both the new and old elements which needs
> to be done otherwise you may get an IllegalAddException. Also, generally
> speaking, the usual set of methods on a container are add(), remove(),
> and replace() or set().
If we had a replaceContent() for elements would we also need it for the
other types? Is this worth that many extra methods?
-jh-
More information about the jdom-interest
mailing list