[jdom-interest] PROPOSAL: Remove most constructors from XMLOutputter (was round trip XML)
Alex Chaffee
guru at edamame.stinky.com
Wed Oct 18 09:07:58 PDT 2000
On Wed, Oct 18, 2000 at 10:16:41AM -0400, bob wrote:
> > I'd like to do this. Can I have a straw poll on the following?
>
> It might be completely out-of-line, but would a Configuration
> object be useful in this case? Ever-expanding arguments
> to a Constructor definitely isn't a Good Thing in my mind.
Nonononononononono!
Sorry for the outburst, but we've been through this before. Why do
people not seem to realize that an object *already is* its own config
object? All an object is is a bunch of instance variables. In
XMLOutputter's case, there are even no transient support variables --
just config options.
As for reusing settings -- That's what clone() is for!
XMLOutputter two = (XMLOutputter)one.clone();
It works, I promise :-)
> Calling setFoo() or makeFoo() 4 times after constructing
> an object gets annoying also, if you do it repeatedly.
It's just as annoying to call setFoo() 4 times on a config object.
There's no difference between
> Howsabout:
>
> XMLOutConfiguration config = new XMLOutConfiguration();
> config.useNewlines("true");
> config.stripWhitespace("true");
> XMLOutputter out = new XMLOutputter(config);
and
XMLOutputter out = new XMLOutputter();
out.setNewline(true);
out.setTrimText(true);
except that there's one more line of code, and one more object
allocated, and one more API to learn.
>
> Allow folks to re-use the XMLOutConfiguration, and possibly
> initialize it from a Properties or InputStream or even
> a Document.
>
These are fine ideas; I'd be happy to have a
Properties getOptions()
void setOptions(Properties p)
or whatever.
> Just pondering flexibility without increasing the API
> every time something new pops up.
It's a JavaBean; if it gets a new property we need to add a new
mutator.
This config object thing is a homuncular argument; it just passes the
buck.
- A
--
Alex Chaffee mailto:alex at jguru.com
jGuru - Java News and FAQs http://www.jguru.com/alex/
Creator of Gamelan http://www.gamelan.com/
Founder of Purple Technology http://www.purpletech.com/
Curator of Stinky Art Collective http://www.stinky.com/
More information about the jdom-interest
mailing list